Class Customer
java.lang.Object
com.broadleafcommerce.customer.domain.Customer
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.ContextStateAware
,com.broadleafcommerce.data.tracking.core.policy.Owned
,Serializable
public class Customer
extends Object
implements com.broadleafcommerce.data.tracking.core.ContextStateAware, com.broadleafcommerce.data.tracking.core.policy.Owned, Serializable
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddAttribute
(String key, Object value) Convenience method to add an ann attribute.protected boolean
boolean
Additional phone numbers associated with the customer.<T> T
getAttribute
(String key) Dynamic attributes that are a part of the customer.com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState
A subset ofTracking
information to expose the context state for this object.The default account for the customer.The default communication preference of the customer.Deprecated.getEmail()
The email address of the customer.The id that associates this user with an external system.The first name of the customer, if the fullName is not being used for the customer.The full name of the customer, if the component parts firstName, middleName, and lastName are not being used to comprise the full name.getId()
The context ID of the customer.The last name of the customer, if the fullName is not being used for the customer.The middle name of the customer, if the fullName is not being used for the customer.getName()
Get the name of the customer.getPhone()
The main phone number of the customer.The type of the customer, if it's in a special circumstance.getTaxId()
The tax id for this customerThe username of the customer, used to log in.Optional VAT registration ID.int
hashCode()
boolean
isActive()
Is this customer active? Inactive customers can be thought of as "disabled" and will not be able to login.boolean
isLocked()
Is this user locked? A user may be locked due to too many failed login attempts.void
setActive
(boolean active) Is this customer active? Inactive customers can be thought of as "disabled" and will not be able to login.void
setAdditionalPhones
(List<AdditionalPhone> additionalPhones) Additional phone numbers associated with the customer.void
setAttributes
(Map<String, Object> attributes) Dynamic attributes that are a part of the customer.void
setContextState
(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState) A subset ofTracking
information to expose the context state for this object.void
setDefaultAccountId
(String defaultAccountId) The default account for the customer.void
setDefaultCommunicationPreference
(String defaultCommunicationPreference) The default communication preference of the customer.void
setDefaultPaymentAccountId
(String defaultPaymentAccountId) Deprecated.since 1.7.2, in favor of usingSavedPaymentMethod
in PaymentTransactionServices to manage saved payment methods.void
The email address of the customer.void
setExternalId
(String externalId) The id that associates this user with an external system.void
setFirstName
(String firstName) The first name of the customer, if the fullName is not being used for the customer.void
setFullName
(String fullName) The full name of the customer, if the component parts firstName, middleName, and lastName are not being used to comprise the full name.void
The context ID of the customer.void
setLastName
(String lastName) The last name of the customer, if the fullName is not being used for the customer.void
setLocked
(boolean locked) Is this user locked? A user may be locked due to too many failed login attempts.void
setMiddleName
(String middleName) The middle name of the customer, if the fullName is not being used for the customer.void
The main phone number of the customer.void
setSpecialType
(String specialType) The type of the customer, if it's in a special circumstance.void
The tax id for this customervoid
setUsername
(String username) The username of the customer, used to log in.void
setVatRegistrationId
(String vatRegistrationId) Optional VAT registration ID.toString()
-
Constructor Details
-
Customer
public Customer()
-
-
Method Details
-
getName
Get the name of the customer. This will provide either the full name, or the combined first, middle, and last names.fullName
takes priority. Whether a single name or multiple name fields are used is a client implementation detail.- Returns:
- The name of the customer.
-
addAttribute
Convenience method to add an ann attribute.If the attribute already exists, the existing attribute is overwritten.
- Parameters:
key
- The key used to store/retrieve the attribute.value
- The value to store.- Returns:
- The customer instance
- See Also:
-
getAttribute
-
getOwnerIdentifier
- Specified by:
getOwnerIdentifier
in interfacecom.broadleafcommerce.data.tracking.core.policy.Owned
-
getId
The context ID of the customer.- Returns:
- the context ID of the customer
-
getFirstName
The first name of the customer, if the fullName is not being used for the customer.- Returns:
- the first name of the customer
-
getMiddleName
The middle name of the customer, if the fullName is not being used for the customer.- Returns:
- the middle name of the customer
-
getLastName
The last name of the customer, if the fullName is not being used for the customer.- Returns:
- the last name of the customer
-
getFullName
The full name of the customer, if the component parts firstName, middleName, and lastName are not being used to comprise the full name.- Returns:
- the full name of the customer
-
getUsername
The username of the customer, used to log in.- Returns:
- the username of the customer
-
getEmail
The email address of the customer.- Returns:
- the email address of the customer
-
getExternalId
The id that associates this user with an external system.- Returns:
- The customer's external ID
-
getPhone
The main phone number of the customer.- Returns:
- the main phone number of the customer
-
getAdditionalPhones
Additional phone numbers associated with the customer.- Returns:
- additional phone numbers associated with the customer
-
getDefaultCommunicationPreference
The default communication preference of the customer.- Returns:
- the default communication preference of the customer
-
getDefaultPaymentAccountId
Deprecated.since 1.7.2, in favor of usingSavedPaymentMethod
in PaymentTransactionServices to manage saved payment methods.The id of the default payment account.- Returns:
- defaultAccountId the default payment account of the customer
-
getAttributes
Dynamic attributes that are a part of the customer. This is an admin-entered field.- Returns:
- dynamic attributes that are a part of the customer
-
getSpecialType
The type of the customer, if it's in a special circumstance.- Returns:
- The type of the customer, if it's in a special circumstance.
- See Also:
-
isActive
public boolean isActive()Is this customer active? Inactive customers can be thought of as "disabled" and will not be able to login. A customer set to inactive must be manually re-activated.Note: If manually setting this to false (e.g. via a direct database update), the auth user record (JpaUser#active in the auth database) must also be set to false.
See also
locked
- Returns:
- Is this customer active?
-
getTaxId
The tax id for this customer -
getVatRegistrationId
Optional VAT registration ID.- See Also:
-
getContextState
public com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState getContextState()A subset ofTracking
information to expose the context state for this object.- Specified by:
getContextState
in interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware
- Returns:
- a subset of
Tracking
information to expose the context state for this object.
-
isLocked
public boolean isLocked()Is this user locked? A user may be locked due to too many failed login attempts. Note that, depending on user lock configuration, this may have no effect. If permanently disabling a customer is desired, theactive
flag should be used instead.- Returns:
- is this customer locked?
-
getDefaultAccountId
The default account for the customer. If set, the customer will automatically have this account selected on login.- Returns:
- The default account id.
-
setId
The context ID of the customer.- Parameters:
id
- the context ID of the customer
-
setFirstName
The first name of the customer, if the fullName is not being used for the customer.- Parameters:
firstName
- the first name of the customer
-
setMiddleName
The middle name of the customer, if the fullName is not being used for the customer.- Parameters:
middleName
- the middle name of the customer
-
setLastName
The last name of the customer, if the fullName is not being used for the customer.- Parameters:
lastName
- the last name of the customer
-
setFullName
The full name of the customer, if the component parts firstName, middleName, and lastName are not being used to comprise the full name.- Parameters:
fullName
- the full name of the customer
-
setUsername
The username of the customer, used to log in.- Parameters:
username
- the username of the customer
-
setEmail
The email address of the customer.- Parameters:
email
- the email address of the customer
-
setExternalId
The id that associates this user with an external system.- Parameters:
externalId
- The customer's external ID
-
setPhone
The main phone number of the customer.- Parameters:
phone
- the main phone number of the customer
-
setAdditionalPhones
Additional phone numbers associated with the customer.- Parameters:
additionalPhones
- additional phone numbers associated with the customer
-
setDefaultCommunicationPreference
The default communication preference of the customer.- Parameters:
communicationPreference
- the default communication preference of the customer
-
setDefaultPaymentAccountId
Deprecated.since 1.7.2, in favor of usingSavedPaymentMethod
in PaymentTransactionServices to manage saved payment methods.The id of the default payment account.- Parameters:
defaultAccountId
- the default payment account of the customer
-
setAttributes
Dynamic attributes that are a part of the customer. This is an admin-entered field.- Parameters:
attributes
- dynamic attributes that are a part of the customer
-
setSpecialType
The type of the customer, if it's in a special circumstance.- Parameters:
type
- The type of the customer, if it's in a special circumstance.- See Also:
-
setActive
public void setActive(boolean active) Is this customer active? Inactive customers can be thought of as "disabled" and will not be able to login. A customer set to inactive must be manually re-activated.Note: If manually setting this to false (e.g. via a direct database update), the auth user record (JpaUser#active in the auth database) must also be set to false.
See also
locked
- Parameters:
active
- Is this customer active?
-
setTaxId
The tax id for this customer -
setVatRegistrationId
Optional VAT registration ID.- See Also:
-
setContextState
public void setContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState) A subset ofTracking
information to expose the context state for this object.- Specified by:
setContextState
in interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware
- Parameters:
contextState
- a subset ofTracking
information to expose the context state for this object
-
setLocked
public void setLocked(boolean locked) Is this user locked? A user may be locked due to too many failed login attempts. Note that, depending on user lock configuration, this may have no effect. If permanently disabling a customer is desired, theactive
flag should be used instead.- Parameters:
locked
- is this customer locked?
-
setDefaultAccountId
The default account for the customer. If set, the customer will automatically have this account selected on login.- Parameters:
defaultAccountId
- The default account id.
-
toString
-
equals
-
canEqual
-
hashCode
public int hashCode()
-
SavedPaymentMethod
in PaymentTransactionServices to manage saved payment methods.