Class AttributeTypesSelector
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<AttributeTypesSelector.Builder,
AttributeTypesSelector>
Configuration information about the AttributeTypesSelector
where the rule-based identity resolution uses
to match profiles. You can choose how profiles are compared across attribute types and which attribute to use for
matching from each type. There are three attribute types you can configure:
-
Email type
-
You can choose from
Email
,BusinessEmail
, andPersonalEmail
-
-
Phone number type
-
You can choose from
Phone
,HomePhone
, andMobilePhone
-
-
Address type
-
You can choose from
Address
,BusinessAddress
,MaillingAddress
, andShippingAddress
-
You can either choose ONE_TO_ONE
or MANY_TO_MANY
as the AttributeMatchingModel
. When choosing MANY_TO_MANY
, the system can match attribute across the sub-types of an attribute type.
For example, if the value of the Email
field of Profile A and the value of BusinessEmail
field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE
the
system can only match if the sub-types are exact matches. For example, only when the value of the Email
field of Profile A and the value of the Email
field of Profile B matches, the two profiles are matched
on the Email type.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddress()
TheAddress
type.final AttributeMatchingModel
Configures theAttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
.final String
Configures theAttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
.builder()
TheEmail
type.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the Address property.final boolean
For responses, this returns true if the service returned a value for the EmailAddress property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the PhoneNumber property.ThePhoneNumber
type.static Class
<? extends AttributeTypesSelector.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
attributeMatchingModel
Configures the
AttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
.If the service returns an enum value that is not available in the current SDK version,
attributeMatchingModel
will returnAttributeMatchingModel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromattributeMatchingModelAsString()
.- Returns:
- Configures the
AttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
. - See Also:
-
attributeMatchingModelAsString
Configures the
AttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
.If the service returns an enum value that is not available in the current SDK version,
attributeMatchingModel
will returnAttributeMatchingModel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromattributeMatchingModelAsString()
.- Returns:
- Configures the
AttributeMatchingModel
, you can either chooseONE_TO_ONE
orMANY_TO_MANY
. - See Also:
-
hasAddress
public final boolean hasAddress()For responses, this returns true if the service returned a value for the Address property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
address
The
Address
type. You can choose fromAddress
,BusinessAddress
,MaillingAddress
, andShippingAddress
.You only can use the Address type in the
MatchingRule
. For example, if you want to match profile based onBusinessAddress.City
orMaillingAddress.City
, you need to choose theBusinessAddress
and theMaillingAddress
to represent the Address type and specify theAddress.City
on the matching rule.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasAddress()
method.- Returns:
- The
Address
type. You can choose fromAddress
,BusinessAddress
,MaillingAddress
, andShippingAddress
.You only can use the Address type in the
MatchingRule
. For example, if you want to match profile based onBusinessAddress.City
orMaillingAddress.City
, you need to choose theBusinessAddress
and theMaillingAddress
to represent the Address type and specify theAddress.City
on the matching rule.
-
hasPhoneNumber
public final boolean hasPhoneNumber()For responses, this returns true if the service returned a value for the PhoneNumber property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
phoneNumber
The
PhoneNumber
type. You can choose fromPhoneNumber
,HomePhoneNumber
, andMobilePhoneNumber
.You only can use the
PhoneNumber
type in theMatchingRule
. For example, if you want to match a profile based onPhone
orHomePhone
, you need to choose thePhone
and theHomePhone
to represent thePhoneNumber
type and only specify thePhoneNumber
on the matching rule.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasPhoneNumber()
method.- Returns:
- The
PhoneNumber
type. You can choose fromPhoneNumber
,HomePhoneNumber
, andMobilePhoneNumber
.You only can use the
PhoneNumber
type in theMatchingRule
. For example, if you want to match a profile based onPhone
orHomePhone
, you need to choose thePhone
and theHomePhone
to represent thePhoneNumber
type and only specify thePhoneNumber
on the matching rule.
-
hasEmailAddress
public final boolean hasEmailAddress()For responses, this returns true if the service returned a value for the EmailAddress property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
emailAddress
The
Email
type. You can choose fromEmailAddress
,BusinessEmailAddress
andPersonalEmailAddress
.You only can use the
EmailAddress
type in theMatchingRule
. For example, if you want to match profile based onPersonalEmailAddress
orBusinessEmailAddress
, you need to choose thePersonalEmailAddress
and theBusinessEmailAddress
to represent theEmailAddress
type and only specify theEmailAddress
on the matching rule.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEmailAddress()
method.- Returns:
- The
Email
type. You can choose fromEmailAddress
,BusinessEmailAddress
andPersonalEmailAddress
.You only can use the
EmailAddress
type in theMatchingRule
. For example, if you want to match profile based onPersonalEmailAddress
orBusinessEmailAddress
, you need to choose thePersonalEmailAddress
and theBusinessEmailAddress
to represent theEmailAddress
type and only specify theEmailAddress
on the matching rule.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<AttributeTypesSelector.Builder,
AttributeTypesSelector> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-