Class JpaUser
java.lang.Object
com.broadleafcommerce.auth.user.provider.jpa.domain.JpaUser
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware,com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable,Serializable
@Entity
public class JpaUser
extends Object
implements Serializable, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
Persisted counterpart for a
User.- Author:
- Nathan Moore (nathanmoore)., Samarth Dhruva (samarthd)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanorg.modelmapper.ModelMapperfromMe()Class<?>getEmail()getId()We don't useLastModifiedDatehere because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).getRoles()getType()inthashCode()booleanisActive()booleanbooleanbooleanbooleanbooleanbooleanisLocked()booleanprotected UserpruneArchivedReferences(org.modelmapper.spi.MappingContext<JpaUser, User> mappingContext) Used as theTypeMap.setPostConverter(Converter)forfromMe().voidsetAccountRoles(List<JpaAccountRoleXref> accountRoles) voidsetActive(boolean active) voidsetApplicationAccess(boolean applicationAccess) voidsetApplicationIds(Set<String> applicationIds) voidsetArchived(boolean archived) voidsetAttributes(Map<String, Object> attributes) voidsetChangePasswordRequired(boolean changePasswordRequired) voidsetCustomerContextId(String customerContextId) voidsetDefaultAccountId(String defaultAccountId) voidvoidsetExpired(boolean expired) voidsetExternalId(String externalId) voidsetFirstName(String firstName) voidsetFullName(String fullName) voidvoidsetImpersonationAllowed(boolean impersonationAllowed) voidsetLastName(String lastName) voidsetLastUpdated(Instant lastUpdated) We don't useLastModifiedDatehere because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).voidsetLocked(boolean locked) voidsetLockedTime(Instant lockedTime) voidsetMiddleName(String middleName) voidsetPassword(String password) voidsetPasswordHistory(List<JpaUserHistoricalPassword> passwordHistory) voidsetPasswordLastUpdated(Instant passwordLastUpdated) voidsetPermissions(Set<JpaUserPermission> permissions) voidsetPlainPassword(String plainPassword) voidsetRestrictedPermissions(Set<JpaUserRestrictedPermission> restrictedPermissions) voidsetRestrictedRoles(Set<JpaUserRestrictedRole> restrictedRoles) voidsetRestrictions(Set<JpaUserRestriction> restrictions) voidsetRoles(Set<JpaUserRole> roles) voidsetServerId(String serverId) voidsetServiceId(String serviceId) voidsetTenantAccess(boolean tenantAccess) voidsetTenantId(String tenantId) voidvoidsetUsername(String username) org.modelmapper.ModelMappertoMe()toMeParentUserBackReferenceAdder(org.modelmapper.spi.MappingContext<U, J> mappingContext) toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
postFromMe, postToMe, preFromMe, preToMe
-
Constructor Details
-
JpaUser
public JpaUser()
-
-
Method Details
-
fromMe
public org.modelmapper.ModelMapper fromMe()- Specified by:
fromMein interfacecom.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
-
pruneArchivedReferences
protected User pruneArchivedReferences(org.modelmapper.spi.MappingContext<JpaUser, User> mappingContext) Used as theTypeMap.setPostConverter(Converter)forfromMe().JPA will eagerly fetch
rolesandpermissionsif they exist in the data store, but we have a soft-deletion concept that JPA does not account for. This ensures that any references to entities that have been archived are pruned before being mapped to the business domain. This protects against those entities being usable despite being archived.- Parameters:
mappingContext- the model mapper mapping context- Returns:
- the business-domain user after removing any references to archived records
-
toMe
public org.modelmapper.ModelMapper toMe()- Specified by:
toMein interfacecom.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
-
toMeParentUserBackReferenceAdder
protected <U extends User,J extends JpaUser> J toMeParentUserBackReferenceAdder(org.modelmapper.spi.MappingContext<U, J> mappingContext) Used as theTypeMap.setPostConverter(Converter)forJpaUserintoMe().For each of the parent-user back-references in managed collections like
getRestrictions(),getRestrictedRoles(), andgetRestrictedPermissions(), explicitly sets their value to the user instance being mapped.As documented in
TypeMap.include(Class, Class), extensions will not automatically inherit this converter, and must manually set it on the extended type map.- Parameters:
mappingContext- the model mapper mapping context- Returns:
- the persisted-domain user after setting each of its managed collection items' parent references to itself
-
getBusinessDomainType
- Specified by:
getBusinessDomainTypein interfacecom.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
-
getId
-
getFirstName
- See Also:
-
User.firstName
-
getMiddleName
- See Also:
-
User.middleName
-
getLastName
- See Also:
-
User.lastName
-
getFullName
- See Also:
-
User.fullName
-
getUsername
- See Also:
-
User.username
-
getPassword
- See Also:
-
User.password
-
getPasswordLastUpdated
- See Also:
-
getPasswordHistory
- See Also:
-
getPlainPassword
-
getEmail
- See Also:
-
User.email
-
isActive
public boolean isActive()- See Also:
-
User.active
-
isChangePasswordRequired
public boolean isChangePasswordRequired()- See Also:
-
User.changePasswordRequired
-
isLocked
public boolean isLocked()- See Also:
-
User.locked
-
isExpired
public boolean isExpired()- See Also:
-
User.expired
-
isImpersonationAllowed
public boolean isImpersonationAllowed()- See Also:
-
User.impersonationAllowed
-
getServiceId
- See Also:
-
User.serviceId
-
getType
- See Also:
-
User.type
-
getExternalId
- See Also:
-
User.externalId
-
isTenantAccess
public boolean isTenantAccess()- See Also:
-
User.tenantAccess
-
isApplicationAccess
public boolean isApplicationAccess()- See Also:
-
User.applicationAccess
-
getTenantId
- See Also:
-
User.tenantId
-
getApplicationIds
- See Also:
-
User.applicationIds
-
getCustomerContextId
- See Also:
-
User.customerContextId
-
getAttributes
- See Also:
-
User.attributes
-
getRoles
- See Also:
-
User.roles
-
getPermissions
- See Also:
-
User.permissions
-
getRestrictions
- See Also:
-
User.restrictions
-
getRestrictedRoles
- See Also:
-
User.restrictedRoles
-
getRestrictedPermissions
- See Also:
-
User.restrictedPermissions
-
getServerId
- See Also:
-
User.serverId
-
getLastUpdated
We don't useLastModifiedDatehere because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).- See Also:
-
User.lastUpdated
-
isArchived
public boolean isArchived()- See Also:
-
User.archived
-
getLockedTime
- See Also:
-
User.lockedTime
-
getAccountRoles
- See Also:
-
User.accountRoles
-
getDefaultAccountId
-
setId
-
setFirstName
- See Also:
-
User.firstName
-
setMiddleName
- See Also:
-
User.middleName
-
setLastName
- See Also:
-
User.lastName
-
setFullName
- See Also:
-
User.fullName
-
setUsername
- See Also:
-
User.username
-
setPassword
- See Also:
-
User.password
-
setPasswordLastUpdated
- See Also:
-
setPasswordHistory
- See Also:
-
setPlainPassword
-
setEmail
- See Also:
-
User.email
-
setActive
public void setActive(boolean active) - See Also:
-
User.active
-
setChangePasswordRequired
public void setChangePasswordRequired(boolean changePasswordRequired) - See Also:
-
User.changePasswordRequired
-
setLocked
public void setLocked(boolean locked) - See Also:
-
User.locked
-
setExpired
public void setExpired(boolean expired) - See Also:
-
User.expired
-
setImpersonationAllowed
public void setImpersonationAllowed(boolean impersonationAllowed) - See Also:
-
User.impersonationAllowed
-
setServiceId
- See Also:
-
User.serviceId
-
setType
- See Also:
-
User.type
-
setExternalId
- See Also:
-
User.externalId
-
setTenantAccess
public void setTenantAccess(boolean tenantAccess) - See Also:
-
User.tenantAccess
-
setApplicationAccess
public void setApplicationAccess(boolean applicationAccess) - See Also:
-
User.applicationAccess
-
setTenantId
- See Also:
-
User.tenantId
-
setApplicationIds
- See Also:
-
User.applicationIds
-
setCustomerContextId
- See Also:
-
User.customerContextId
-
setAttributes
- See Also:
-
User.attributes
-
setRoles
- See Also:
-
User.roles
-
setPermissions
- See Also:
-
User.permissions
-
setRestrictions
- See Also:
-
User.restrictions
-
setRestrictedRoles
- See Also:
-
User.restrictedRoles
-
setRestrictedPermissions
- See Also:
-
User.restrictedPermissions
-
setServerId
- See Also:
-
User.serverId
-
setLastUpdated
We don't useLastModifiedDatehere because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).- See Also:
-
User.lastUpdated
-
setArchived
public void setArchived(boolean archived) - See Also:
-
User.archived
-
setLockedTime
- See Also:
-
User.lockedTime
-
setAccountRoles
- See Also:
-
User.accountRoles
-
setDefaultAccountId
-
toString
-
equals
-
canEqual
-
hashCode
public int hashCode()
-