All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.customerprofiles.model.FieldSourceProfileIds.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.customerprofiles.model



/**
 * A duplicate customer profile that is to be merged into a main profile.
 */
public class FieldSourceProfileIds private constructor(builder: Builder) {
    /**
     * A unique identifier for the account number field to be merged.
     */
    public val accountNumber: kotlin.String? = builder.accountNumber
    /**
     * A unique identifier for the additional information field to be merged.
     */
    public val additionalInformation: kotlin.String? = builder.additionalInformation
    /**
     * A unique identifier for the party type field to be merged.
     */
    public val address: kotlin.String? = builder.address
    /**
     * A unique identifier for the attributes field to be merged.
     */
    public val attributes: Map? = builder.attributes
    /**
     * A unique identifier for the billing type field to be merged.
     */
    public val billingAddress: kotlin.String? = builder.billingAddress
    /**
     * A unique identifier for the birthdate field to be merged.
     */
    public val birthDate: kotlin.String? = builder.birthDate
    /**
     * A unique identifier for the party type field to be merged.
     */
    public val businessEmailAddress: kotlin.String? = builder.businessEmailAddress
    /**
     * A unique identifier for the business name field to be merged.
     */
    public val businessName: kotlin.String? = builder.businessName
    /**
     * A unique identifier for the business phone number field to be merged.
     */
    public val businessPhoneNumber: kotlin.String? = builder.businessPhoneNumber
    /**
     * A unique identifier for the email address field to be merged.
     */
    public val emailAddress: kotlin.String? = builder.emailAddress
    /**
     * A unique identifier for the first name field to be merged.
     */
    public val firstName: kotlin.String? = builder.firstName
    /**
     * A unique identifier for the gender field to be merged.
     */
    public val gender: kotlin.String? = builder.gender
    /**
     * A unique identifier for the home phone number field to be merged.
     */
    public val homePhoneNumber: kotlin.String? = builder.homePhoneNumber
    /**
     * A unique identifier for the last name field to be merged.
     */
    public val lastName: kotlin.String? = builder.lastName
    /**
     * A unique identifier for the mailing address field to be merged.
     */
    public val mailingAddress: kotlin.String? = builder.mailingAddress
    /**
     * A unique identifier for the middle name field to be merged.
     */
    public val middleName: kotlin.String? = builder.middleName
    /**
     * A unique identifier for the mobile phone number field to be merged.
     */
    public val mobilePhoneNumber: kotlin.String? = builder.mobilePhoneNumber
    /**
     * A unique identifier for the party type field to be merged.
     */
    public val partyType: kotlin.String? = builder.partyType
    /**
     * A unique identifier for the personal email address field to be merged.
     */
    public val personalEmailAddress: kotlin.String? = builder.personalEmailAddress
    /**
     * A unique identifier for the phone number field to be merged.
     */
    public val phoneNumber: kotlin.String? = builder.phoneNumber
    /**
     * A unique identifier for the shipping address field to be merged.
     */
    public val shippingAddress: kotlin.String? = builder.shippingAddress

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.customerprofiles.model.FieldSourceProfileIds = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("FieldSourceProfileIds(")
        append("accountNumber=$accountNumber,")
        append("additionalInformation=$additionalInformation,")
        append("address=$address,")
        append("attributes=$attributes,")
        append("billingAddress=$billingAddress,")
        append("birthDate=$birthDate,")
        append("businessEmailAddress=$businessEmailAddress,")
        append("businessName=$businessName,")
        append("businessPhoneNumber=$businessPhoneNumber,")
        append("emailAddress=$emailAddress,")
        append("firstName=$firstName,")
        append("gender=$gender,")
        append("homePhoneNumber=$homePhoneNumber,")
        append("lastName=$lastName,")
        append("mailingAddress=$mailingAddress,")
        append("middleName=$middleName,")
        append("mobilePhoneNumber=$mobilePhoneNumber,")
        append("partyType=$partyType,")
        append("personalEmailAddress=$personalEmailAddress,")
        append("phoneNumber=$phoneNumber,")
        append("shippingAddress=$shippingAddress")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = accountNumber?.hashCode() ?: 0
        result = 31 * result + (additionalInformation?.hashCode() ?: 0)
        result = 31 * result + (address?.hashCode() ?: 0)
        result = 31 * result + (attributes?.hashCode() ?: 0)
        result = 31 * result + (billingAddress?.hashCode() ?: 0)
        result = 31 * result + (birthDate?.hashCode() ?: 0)
        result = 31 * result + (businessEmailAddress?.hashCode() ?: 0)
        result = 31 * result + (businessName?.hashCode() ?: 0)
        result = 31 * result + (businessPhoneNumber?.hashCode() ?: 0)
        result = 31 * result + (emailAddress?.hashCode() ?: 0)
        result = 31 * result + (firstName?.hashCode() ?: 0)
        result = 31 * result + (gender?.hashCode() ?: 0)
        result = 31 * result + (homePhoneNumber?.hashCode() ?: 0)
        result = 31 * result + (lastName?.hashCode() ?: 0)
        result = 31 * result + (mailingAddress?.hashCode() ?: 0)
        result = 31 * result + (middleName?.hashCode() ?: 0)
        result = 31 * result + (mobilePhoneNumber?.hashCode() ?: 0)
        result = 31 * result + (partyType?.hashCode() ?: 0)
        result = 31 * result + (personalEmailAddress?.hashCode() ?: 0)
        result = 31 * result + (phoneNumber?.hashCode() ?: 0)
        result = 31 * result + (shippingAddress?.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 FieldSourceProfileIds

        if (accountNumber != other.accountNumber) return false
        if (additionalInformation != other.additionalInformation) return false
        if (address != other.address) return false
        if (attributes != other.attributes) return false
        if (billingAddress != other.billingAddress) return false
        if (birthDate != other.birthDate) return false
        if (businessEmailAddress != other.businessEmailAddress) return false
        if (businessName != other.businessName) return false
        if (businessPhoneNumber != other.businessPhoneNumber) return false
        if (emailAddress != other.emailAddress) return false
        if (firstName != other.firstName) return false
        if (gender != other.gender) return false
        if (homePhoneNumber != other.homePhoneNumber) return false
        if (lastName != other.lastName) return false
        if (mailingAddress != other.mailingAddress) return false
        if (middleName != other.middleName) return false
        if (mobilePhoneNumber != other.mobilePhoneNumber) return false
        if (partyType != other.partyType) return false
        if (personalEmailAddress != other.personalEmailAddress) return false
        if (phoneNumber != other.phoneNumber) return false
        if (shippingAddress != other.shippingAddress) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.customerprofiles.model.FieldSourceProfileIds = Builder(this).apply(block).build()

    public class Builder {
        /**
         * A unique identifier for the account number field to be merged.
         */
        public var accountNumber: kotlin.String? = null
        /**
         * A unique identifier for the additional information field to be merged.
         */
        public var additionalInformation: kotlin.String? = null
        /**
         * A unique identifier for the party type field to be merged.
         */
        public var address: kotlin.String? = null
        /**
         * A unique identifier for the attributes field to be merged.
         */
        public var attributes: Map? = null
        /**
         * A unique identifier for the billing type field to be merged.
         */
        public var billingAddress: kotlin.String? = null
        /**
         * A unique identifier for the birthdate field to be merged.
         */
        public var birthDate: kotlin.String? = null
        /**
         * A unique identifier for the party type field to be merged.
         */
        public var businessEmailAddress: kotlin.String? = null
        /**
         * A unique identifier for the business name field to be merged.
         */
        public var businessName: kotlin.String? = null
        /**
         * A unique identifier for the business phone number field to be merged.
         */
        public var businessPhoneNumber: kotlin.String? = null
        /**
         * A unique identifier for the email address field to be merged.
         */
        public var emailAddress: kotlin.String? = null
        /**
         * A unique identifier for the first name field to be merged.
         */
        public var firstName: kotlin.String? = null
        /**
         * A unique identifier for the gender field to be merged.
         */
        public var gender: kotlin.String? = null
        /**
         * A unique identifier for the home phone number field to be merged.
         */
        public var homePhoneNumber: kotlin.String? = null
        /**
         * A unique identifier for the last name field to be merged.
         */
        public var lastName: kotlin.String? = null
        /**
         * A unique identifier for the mailing address field to be merged.
         */
        public var mailingAddress: kotlin.String? = null
        /**
         * A unique identifier for the middle name field to be merged.
         */
        public var middleName: kotlin.String? = null
        /**
         * A unique identifier for the mobile phone number field to be merged.
         */
        public var mobilePhoneNumber: kotlin.String? = null
        /**
         * A unique identifier for the party type field to be merged.
         */
        public var partyType: kotlin.String? = null
        /**
         * A unique identifier for the personal email address field to be merged.
         */
        public var personalEmailAddress: kotlin.String? = null
        /**
         * A unique identifier for the phone number field to be merged.
         */
        public var phoneNumber: kotlin.String? = null
        /**
         * A unique identifier for the shipping address field to be merged.
         */
        public var shippingAddress: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.customerprofiles.model.FieldSourceProfileIds) : this() {
            this.accountNumber = x.accountNumber
            this.additionalInformation = x.additionalInformation
            this.address = x.address
            this.attributes = x.attributes
            this.billingAddress = x.billingAddress
            this.birthDate = x.birthDate
            this.businessEmailAddress = x.businessEmailAddress
            this.businessName = x.businessName
            this.businessPhoneNumber = x.businessPhoneNumber
            this.emailAddress = x.emailAddress
            this.firstName = x.firstName
            this.gender = x.gender
            this.homePhoneNumber = x.homePhoneNumber
            this.lastName = x.lastName
            this.mailingAddress = x.mailingAddress
            this.middleName = x.middleName
            this.mobilePhoneNumber = x.mobilePhoneNumber
            this.partyType = x.partyType
            this.personalEmailAddress = x.personalEmailAddress
            this.phoneNumber = x.phoneNumber
            this.shippingAddress = x.shippingAddress
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.customerprofiles.model.FieldSourceProfileIds = FieldSourceProfileIds(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy