/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.customerprofiles.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The standard profile of a customer. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Profile implements Serializable, Cloneable, StructuredPojo { /** ** The unique identifier of a customer profile. *
*/ private String profileId; /** ** A unique account number that you have given to the customer. *
*/ private String accountNumber; /** ** Any additional information relevant to the customer’s profile. *
*/ private String additionalInformation; /** ** The type of profile used to describe the customer. *
*/ private String partyType; /** ** The name of the customer’s business. *
*/ private String businessName; /** ** The customer’s first name. *
*/ private String firstName; /** ** The customer’s middle name. *
*/ private String middleName; /** ** The customer’s last name. *
*/ private String lastName; /** ** The customer’s birth date. *
*/ private String birthDate; /** ** The gender with which the customer identifies. *
*/ private String gender; /** ** The customer's phone number, which has not been specified as a mobile, home, or business number. *
*/ private String phoneNumber; /** ** The customer’s mobile phone number. *
*/ private String mobilePhoneNumber; /** ** The customer’s home phone number. *
*/ private String homePhoneNumber; /** ** The customer’s home phone number. *
*/ private String businessPhoneNumber; /** ** The customer’s email address, which has not been specified as a personal or business address. *
*/ private String emailAddress; /** ** The customer’s personal email address. *
*/ private String personalEmailAddress; /** ** The customer’s business email address. *
*/ private String businessEmailAddress; /** ** A generic address associated with the customer that is not mailing, shipping, or billing. *
*/ private Address address; /** ** The customer’s shipping address. *
*/ private Address shippingAddress; /** ** The customer’s mailing address. *
*/ private Address mailingAddress; /** ** The customer’s billing address. *
*/ private Address billingAddress; /** ** A key value pair of attributes of a customer profile. *
*/ private java.util.Map* A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile. *
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the request.
* The FoundByItems
will include all of the key-value(s) pairs that were specified in the request (as
* this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified in the
* request. The FoundByItems
will include each of the key-value(s) pairs that the profile was found by.
*
* The OR
relationship is the default behavior if the LogicalOperator
parameter is not
* included in the SearchProfiles request.
*
* An alternative to PartyType which accepts any string as input. *
*/ private String partyTypeString; /** ** An alternative to Gender which accepts any string as input. *
*/ private String genderString; /** ** The unique identifier of a customer profile. *
* * @param profileId * The unique identifier of a customer profile. */ public void setProfileId(String profileId) { this.profileId = profileId; } /** ** The unique identifier of a customer profile. *
* * @return The unique identifier of a customer profile. */ public String getProfileId() { return this.profileId; } /** ** The unique identifier of a customer profile. *
* * @param profileId * The unique identifier of a customer profile. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withProfileId(String profileId) { setProfileId(profileId); return this; } /** ** A unique account number that you have given to the customer. *
* * @param accountNumber * A unique account number that you have given to the customer. */ public void setAccountNumber(String accountNumber) { this.accountNumber = accountNumber; } /** ** A unique account number that you have given to the customer. *
* * @return A unique account number that you have given to the customer. */ public String getAccountNumber() { return this.accountNumber; } /** ** A unique account number that you have given to the customer. *
* * @param accountNumber * A unique account number that you have given to the customer. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withAccountNumber(String accountNumber) { setAccountNumber(accountNumber); return this; } /** ** Any additional information relevant to the customer’s profile. *
* * @param additionalInformation * Any additional information relevant to the customer’s profile. */ public void setAdditionalInformation(String additionalInformation) { this.additionalInformation = additionalInformation; } /** ** Any additional information relevant to the customer’s profile. *
* * @return Any additional information relevant to the customer’s profile. */ public String getAdditionalInformation() { return this.additionalInformation; } /** ** Any additional information relevant to the customer’s profile. *
* * @param additionalInformation * Any additional information relevant to the customer’s profile. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withAdditionalInformation(String additionalInformation) { setAdditionalInformation(additionalInformation); return this; } /** ** The type of profile used to describe the customer. *
* * @param partyType * The type of profile used to describe the customer. * @see PartyType */ @Deprecated public void setPartyType(String partyType) { this.partyType = partyType; } /** ** The type of profile used to describe the customer. *
* * @return The type of profile used to describe the customer. * @see PartyType */ @Deprecated public String getPartyType() { return this.partyType; } /** ** The type of profile used to describe the customer. *
* * @param partyType * The type of profile used to describe the customer. * @return Returns a reference to this object so that method calls can be chained together. * @see PartyType */ @Deprecated public Profile withPartyType(String partyType) { setPartyType(partyType); return this; } /** ** The type of profile used to describe the customer. *
* * @param partyType * The type of profile used to describe the customer. * @return Returns a reference to this object so that method calls can be chained together. * @see PartyType */ @Deprecated public Profile withPartyType(PartyType partyType) { this.partyType = partyType.toString(); return this; } /** ** The name of the customer’s business. *
* * @param businessName * The name of the customer’s business. */ public void setBusinessName(String businessName) { this.businessName = businessName; } /** ** The name of the customer’s business. *
* * @return The name of the customer’s business. */ public String getBusinessName() { return this.businessName; } /** ** The name of the customer’s business. *
* * @param businessName * The name of the customer’s business. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withBusinessName(String businessName) { setBusinessName(businessName); return this; } /** ** The customer’s first name. *
* * @param firstName * The customer’s first name. */ public void setFirstName(String firstName) { this.firstName = firstName; } /** ** The customer’s first name. *
* * @return The customer’s first name. */ public String getFirstName() { return this.firstName; } /** ** The customer’s first name. *
* * @param firstName * The customer’s first name. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withFirstName(String firstName) { setFirstName(firstName); return this; } /** ** The customer’s middle name. *
* * @param middleName * The customer’s middle name. */ public void setMiddleName(String middleName) { this.middleName = middleName; } /** ** The customer’s middle name. *
* * @return The customer’s middle name. */ public String getMiddleName() { return this.middleName; } /** ** The customer’s middle name. *
* * @param middleName * The customer’s middle name. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withMiddleName(String middleName) { setMiddleName(middleName); return this; } /** ** The customer’s last name. *
* * @param lastName * The customer’s last name. */ public void setLastName(String lastName) { this.lastName = lastName; } /** ** The customer’s last name. *
* * @return The customer’s last name. */ public String getLastName() { return this.lastName; } /** ** The customer’s last name. *
* * @param lastName * The customer’s last name. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withLastName(String lastName) { setLastName(lastName); return this; } /** ** The customer’s birth date. *
* * @param birthDate * The customer’s birth date. */ public void setBirthDate(String birthDate) { this.birthDate = birthDate; } /** ** The customer’s birth date. *
* * @return The customer’s birth date. */ public String getBirthDate() { return this.birthDate; } /** ** The customer’s birth date. *
* * @param birthDate * The customer’s birth date. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withBirthDate(String birthDate) { setBirthDate(birthDate); return this; } /** ** The gender with which the customer identifies. *
* * @param gender * The gender with which the customer identifies. * @see Gender */ @Deprecated public void setGender(String gender) { this.gender = gender; } /** ** The gender with which the customer identifies. *
* * @return The gender with which the customer identifies. * @see Gender */ @Deprecated public String getGender() { return this.gender; } /** ** The gender with which the customer identifies. *
* * @param gender * The gender with which the customer identifies. * @return Returns a reference to this object so that method calls can be chained together. * @see Gender */ @Deprecated public Profile withGender(String gender) { setGender(gender); return this; } /** ** The gender with which the customer identifies. *
* * @param gender * The gender with which the customer identifies. * @return Returns a reference to this object so that method calls can be chained together. * @see Gender */ @Deprecated public Profile withGender(Gender gender) { this.gender = gender.toString(); return this; } /** ** The customer's phone number, which has not been specified as a mobile, home, or business number. *
* * @param phoneNumber * The customer's phone number, which has not been specified as a mobile, home, or business number. */ public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } /** ** The customer's phone number, which has not been specified as a mobile, home, or business number. *
* * @return The customer's phone number, which has not been specified as a mobile, home, or business number. */ public String getPhoneNumber() { return this.phoneNumber; } /** ** The customer's phone number, which has not been specified as a mobile, home, or business number. *
* * @param phoneNumber * The customer's phone number, which has not been specified as a mobile, home, or business number. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withPhoneNumber(String phoneNumber) { setPhoneNumber(phoneNumber); return this; } /** ** The customer’s mobile phone number. *
* * @param mobilePhoneNumber * The customer’s mobile phone number. */ public void setMobilePhoneNumber(String mobilePhoneNumber) { this.mobilePhoneNumber = mobilePhoneNumber; } /** ** The customer’s mobile phone number. *
* * @return The customer’s mobile phone number. */ public String getMobilePhoneNumber() { return this.mobilePhoneNumber; } /** ** The customer’s mobile phone number. *
* * @param mobilePhoneNumber * The customer’s mobile phone number. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withMobilePhoneNumber(String mobilePhoneNumber) { setMobilePhoneNumber(mobilePhoneNumber); return this; } /** ** The customer’s home phone number. *
* * @param homePhoneNumber * The customer’s home phone number. */ public void setHomePhoneNumber(String homePhoneNumber) { this.homePhoneNumber = homePhoneNumber; } /** ** The customer’s home phone number. *
* * @return The customer’s home phone number. */ public String getHomePhoneNumber() { return this.homePhoneNumber; } /** ** The customer’s home phone number. *
* * @param homePhoneNumber * The customer’s home phone number. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withHomePhoneNumber(String homePhoneNumber) { setHomePhoneNumber(homePhoneNumber); return this; } /** ** The customer’s home phone number. *
* * @param businessPhoneNumber * The customer’s home phone number. */ public void setBusinessPhoneNumber(String businessPhoneNumber) { this.businessPhoneNumber = businessPhoneNumber; } /** ** The customer’s home phone number. *
* * @return The customer’s home phone number. */ public String getBusinessPhoneNumber() { return this.businessPhoneNumber; } /** ** The customer’s home phone number. *
* * @param businessPhoneNumber * The customer’s home phone number. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withBusinessPhoneNumber(String businessPhoneNumber) { setBusinessPhoneNumber(businessPhoneNumber); return this; } /** ** The customer’s email address, which has not been specified as a personal or business address. *
* * @param emailAddress * The customer’s email address, which has not been specified as a personal or business address. */ public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } /** ** The customer’s email address, which has not been specified as a personal or business address. *
* * @return The customer’s email address, which has not been specified as a personal or business address. */ public String getEmailAddress() { return this.emailAddress; } /** ** The customer’s email address, which has not been specified as a personal or business address. *
* * @param emailAddress * The customer’s email address, which has not been specified as a personal or business address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withEmailAddress(String emailAddress) { setEmailAddress(emailAddress); return this; } /** ** The customer’s personal email address. *
* * @param personalEmailAddress * The customer’s personal email address. */ public void setPersonalEmailAddress(String personalEmailAddress) { this.personalEmailAddress = personalEmailAddress; } /** ** The customer’s personal email address. *
* * @return The customer’s personal email address. */ public String getPersonalEmailAddress() { return this.personalEmailAddress; } /** ** The customer’s personal email address. *
* * @param personalEmailAddress * The customer’s personal email address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withPersonalEmailAddress(String personalEmailAddress) { setPersonalEmailAddress(personalEmailAddress); return this; } /** ** The customer’s business email address. *
* * @param businessEmailAddress * The customer’s business email address. */ public void setBusinessEmailAddress(String businessEmailAddress) { this.businessEmailAddress = businessEmailAddress; } /** ** The customer’s business email address. *
* * @return The customer’s business email address. */ public String getBusinessEmailAddress() { return this.businessEmailAddress; } /** ** The customer’s business email address. *
* * @param businessEmailAddress * The customer’s business email address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withBusinessEmailAddress(String businessEmailAddress) { setBusinessEmailAddress(businessEmailAddress); return this; } /** ** A generic address associated with the customer that is not mailing, shipping, or billing. *
* * @param address * A generic address associated with the customer that is not mailing, shipping, or billing. */ public void setAddress(Address address) { this.address = address; } /** ** A generic address associated with the customer that is not mailing, shipping, or billing. *
* * @return A generic address associated with the customer that is not mailing, shipping, or billing. */ public Address getAddress() { return this.address; } /** ** A generic address associated with the customer that is not mailing, shipping, or billing. *
* * @param address * A generic address associated with the customer that is not mailing, shipping, or billing. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withAddress(Address address) { setAddress(address); return this; } /** ** The customer’s shipping address. *
* * @param shippingAddress * The customer’s shipping address. */ public void setShippingAddress(Address shippingAddress) { this.shippingAddress = shippingAddress; } /** ** The customer’s shipping address. *
* * @return The customer’s shipping address. */ public Address getShippingAddress() { return this.shippingAddress; } /** ** The customer’s shipping address. *
* * @param shippingAddress * The customer’s shipping address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withShippingAddress(Address shippingAddress) { setShippingAddress(shippingAddress); return this; } /** ** The customer’s mailing address. *
* * @param mailingAddress * The customer’s mailing address. */ public void setMailingAddress(Address mailingAddress) { this.mailingAddress = mailingAddress; } /** ** The customer’s mailing address. *
* * @return The customer’s mailing address. */ public Address getMailingAddress() { return this.mailingAddress; } /** ** The customer’s mailing address. *
* * @param mailingAddress * The customer’s mailing address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withMailingAddress(Address mailingAddress) { setMailingAddress(mailingAddress); return this; } /** ** The customer’s billing address. *
* * @param billingAddress * The customer’s billing address. */ public void setBillingAddress(Address billingAddress) { this.billingAddress = billingAddress; } /** ** The customer’s billing address. *
* * @return The customer’s billing address. */ public Address getBillingAddress() { return this.billingAddress; } /** ** The customer’s billing address. *
* * @param billingAddress * The customer’s billing address. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withBillingAddress(Address billingAddress) { setBillingAddress(billingAddress); return this; } /** ** A key value pair of attributes of a customer profile. *
* * @return A key value pair of attributes of a customer profile. */ public java.util.Map* A key value pair of attributes of a customer profile. *
* * @param attributes * A key value pair of attributes of a customer profile. */ public void setAttributes(java.util.Map* A key value pair of attributes of a customer profile. *
* * @param attributes * A key value pair of attributes of a customer profile. * @return Returns a reference to this object so that method calls can be chained together. */ public Profile withAttributes(java.util.Map* A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile. *
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the request.
* The FoundByItems
will include all of the key-value(s) pairs that were specified in the request (as
* this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified in the
* request. The FoundByItems
will include each of the key-value(s) pairs that the profile was found by.
*
* The OR
relationship is the default behavior if the LogicalOperator
parameter is not
* included in the SearchProfiles request.
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the
* request. The FoundByItems
will include all of the key-value(s) pairs that were specified in
* the request (as this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified
* in the request. The FoundByItems
will include each of the key-value(s) pairs that the
* profile was found by.
*
* The
* A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile.
*
* If the optional
*
*
* The OR
relationship is the default behavior if the LogicalOperator
parameter is
* not included in the SearchProfiles request.
*/
public java.util.ListAdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
*
* AND
- The profile included in the response matched all of the search keys specified in the request.
* The FoundByItems
will include all of the key-value(s) pairs that were specified in the request (as
* this is a requirement of AND
search logic).
* OR
- The profile included in the response matched at least one of the search keys specified in the
* request. The FoundByItems
will include each of the key-value(s) pairs that the profile was found by.
* OR
relationship is the default behavior if the LogicalOperator
parameter is not
* included in the SearchProfiles request.
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the
* request. The FoundByItems
will include all of the key-value(s) pairs that were specified in
* the request (as this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified
* in the request. The FoundByItems
will include each of the key-value(s) pairs that the profile
* was found by.
*
* The
* A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile.
*
* If the optional
*
*
* The
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setFoundByItems(java.util.Collection)} or {@link #withFoundByItems(java.util.Collection)} if you want to
* override the existing values.
* OR
relationship is the default behavior if the LogicalOperator
parameter is
* not included in the SearchProfiles request.
*/
public void setFoundByItems(java.util.CollectionAdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
*
* AND
- The profile included in the response matched all of the search keys specified in the request.
* The FoundByItems
will include all of the key-value(s) pairs that were specified in the request (as
* this is a requirement of AND
search logic).
* OR
- The profile included in the response matched at least one of the search keys specified in the
* request. The FoundByItems
will include each of the key-value(s) pairs that the profile was found by.
* OR
relationship is the default behavior if the LogicalOperator
parameter is not
* included in the SearchProfiles request.
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the
* request. The FoundByItems
will include all of the key-value(s) pairs that were specified in
* the request (as this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified
* in the request. The FoundByItems
will include each of the key-value(s) pairs that the profile
* was found by.
*
* The
* A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile.
*
* If the optional
*
*
* The OR
relationship is the default behavior if the LogicalOperator
parameter is
* not included in the SearchProfiles request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Profile withFoundByItems(FoundByKeyValue... foundByItems) {
if (this.foundByItems == null) {
setFoundByItems(new java.util.ArrayListAdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
*
* AND
- The profile included in the response matched all of the search keys specified in the request.
* The FoundByItems
will include all of the key-value(s) pairs that were specified in the request (as
* this is a requirement of AND
search logic).
* OR
- The profile included in the response matched at least one of the search keys specified in the
* request. The FoundByItems
will include each of the key-value(s) pairs that the profile was found by.
* OR
relationship is the default behavior if the LogicalOperator
parameter is not
* included in the SearchProfiles request.
*
* If the optional AdditionalSearchKeys
parameter was included in the SearchProfiles request, the FoundByItems
list should be interpreted based on the
* LogicalOperator
used in the request:
*
* AND
- The profile included in the response matched all of the search keys specified in the
* request. The FoundByItems
will include all of the key-value(s) pairs that were specified in
* the request (as this is a requirement of AND
search logic).
*
* OR
- The profile included in the response matched at least one of the search keys specified
* in the request. The FoundByItems
will include each of the key-value(s) pairs that the profile
* was found by.
*
* The
* An alternative to PartyType which accepts any string as input.
*
* An alternative to PartyType which accepts any string as input.
*
* An alternative to PartyType which accepts any string as input.
*
* An alternative to Gender which accepts any string as input.
*
* An alternative to Gender which accepts any string as input.
*
* An alternative to Gender which accepts any string as input.
* OR
relationship is the default behavior if the LogicalOperator
parameter is
* not included in the SearchProfiles request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Profile withFoundByItems(java.util.Collection