commonMain.aws.sdk.kotlin.services.glue.model.DropNullFields.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Specifies a transform that removes columns from the dataset if all values in the column are 'null'. By default, Glue Studio will recognize null objects, but some values such as empty strings, strings that are "null", -1 integers or other placeholders such as zeros, are not automatically recognized as nulls.
*/
public class DropNullFields private constructor(builder: Builder) {
/**
* The data inputs identified by their node names.
*/
public val inputs: List = requireNotNull(builder.inputs) { "A non-null value must be provided for inputs" }
/**
* The name of the transform node.
*/
public val name: kotlin.String = requireNotNull(builder.name) { "A non-null value must be provided for name" }
/**
* A structure that represents whether certain values are recognized as null values for removal.
*/
public val nullCheckBoxList: aws.sdk.kotlin.services.glue.model.NullCheckBoxList? = builder.nullCheckBoxList
/**
* A structure that specifies a list of NullValueField structures that represent a custom null value such as zero or other value being used as a null placeholder unique to the dataset.
*
* The `DropNullFields` transform removes custom null values only if both the value of the null placeholder and the datatype match the data.
*/
public val nullTextList: List? = builder.nullTextList
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.DropNullFields = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("DropNullFields(")
append("inputs=$inputs,")
append("name=$name,")
append("nullCheckBoxList=$nullCheckBoxList,")
append("nullTextList=$nullTextList")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = inputs.hashCode()
result = 31 * result + (name.hashCode())
result = 31 * result + (nullCheckBoxList?.hashCode() ?: 0)
result = 31 * result + (nullTextList?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as DropNullFields
if (inputs != other.inputs) return false
if (name != other.name) return false
if (nullCheckBoxList != other.nullCheckBoxList) return false
if (nullTextList != other.nullTextList) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.DropNullFields = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The data inputs identified by their node names.
*/
public var inputs: List? = null
/**
* The name of the transform node.
*/
public var name: kotlin.String? = null
/**
* A structure that represents whether certain values are recognized as null values for removal.
*/
public var nullCheckBoxList: aws.sdk.kotlin.services.glue.model.NullCheckBoxList? = null
/**
* A structure that specifies a list of NullValueField structures that represent a custom null value such as zero or other value being used as a null placeholder unique to the dataset.
*
* The `DropNullFields` transform removes custom null values only if both the value of the null placeholder and the datatype match the data.
*/
public var nullTextList: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.DropNullFields) : this() {
this.inputs = x.inputs
this.name = x.name
this.nullCheckBoxList = x.nullCheckBoxList
this.nullTextList = x.nullTextList
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.DropNullFields = DropNullFields(this)
/**
* construct an [aws.sdk.kotlin.services.glue.model.NullCheckBoxList] inside the given [block]
*/
public fun nullCheckBoxList(block: aws.sdk.kotlin.services.glue.model.NullCheckBoxList.Builder.() -> kotlin.Unit) {
this.nullCheckBoxList = aws.sdk.kotlin.services.glue.model.NullCheckBoxList.invoke(block)
}
internal fun correctErrors(): Builder {
if (inputs == null) inputs = emptyList()
if (name == null) name = ""
return this
}
}
}