Package net.pricefx.domain
Class User
- Object
-
- DomainObject
-
- PersistedObject
-
- PartitionedObject
-
- User
-
- All Implemented Interfaces:
Persistable
,RenameSoftDeletedInNameConflict
@Entity public class User extends PartitionedObject implements RenameSoftDeletedInNameConflict
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class PersistedObject
PersistedObject.BatchDelete, PersistedObject.BulkloadFilterCheckCallback, PersistedObject.ComputedFieldMapping, PersistedObject.ComputedFields, PersistedObject.PersistedObjectMeta, PersistedObject.VirtualField, PersistedObject.VirtualFieldMapping, PersistedObject.VirtualSearchFields, PersistedObject.VirtualSortFields
-
-
Field Summary
Fields Modifier and Type Field Description protected static Supplier<String>
NEW_PASSWORD_HASH
protected static Supplier<String>
NEW_PASSWORD_NOSESSION_HASH
static String
SYSTEM_SUPPORT_USER_NAME
static String
SYSTEM_USER_NAME
protected static String
UNKNOWN_HASH
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCustomerIdFilter(Search search)
void
addSkuFilter(Search search)
void
addUniqueConstraint(Criteria c)
void
auditOperation(AuditOperation operation, User byUser, CommandContext context, PersistedObjectService objService, String details)
Override this method to log certain object operationsboolean
checkPassword(String clearTextPassword)
This method checks if a passed clearText password matches the stored password hashString
computeFullName()
BigDecimal
getAdditionalInfo1()
BigDecimal
getAdditionalInfo2()
String
getAdditionalInfo3()
String
getAdditionalInfo4()
List<UserGroup>
getAllGroups()
Gets all groups of a user including those assigned by a business roleList<String>
getAllRoleNames()
THIS SHOULD NOT BE USED IN CODE!.List<Role>
getAllRoles()
Gets all roles of a user including those assigned by a business roleList<BusinessRole>
getBusinessRoles()
String
getCustomerFilterCriteria()
Map<String,Object>
getCustomerFilterCriteriaMap()
String
getDefaultUserGroupEdit()
String
getDefaultUserGroupViewDetails()
String
getEmail()
String
getEmailLocale()
Map<String,Object>
getExtendedData()
String
getFirstName()
String
getFQLoginName()
List<UserGroup>
getGroups()
String
getHashMethod()
LocalDateTime
getLastLogin()
String
getLastName()
String
getLoginName()
Boolean
getNoSession()
LocalDateTime
getPasswordExpiry()
String
getPasswordHash()
String
getPasswordSalt()
String
getProductFilterCriteria()
Map<String,Object>
getProductFilterCriteriaMap()
Boolean
getReceiveAdminEmail()
Boolean
getRequireTFA()
List<String>
getRoleNames()
THIS SHOULD NOT BE USED IN CODE!.List<Role>
getRoles()
String[]
getSignificantFields()
Boolean
getSsoOnly()
String
getWizardDashboardName()
boolean
hasModuleAccess(ApplicationModule module)
Boolean
isActivated()
boolean
isAudited()
Override this to enable audit calls on this objectboolean
isFirstLogin()
boolean
isInGroup(UserGroup userGroup)
boolean
isSystemUser()
Boolean
isWorkflowEmailingActivated()
String
lastUpdateDate()
void
onSaveOrUpdate(PersistedObjectService objService)
Default does nothing.String
passwordExpiry()
void
renameSoftDeleted(PersistedObjectService objService)
void
setActivated(Boolean activated)
void
setAdditionalInfo1(BigDecimal additionalInfo1)
void
setAdditionalInfo2(BigDecimal additionalInfo2)
void
setAdditionalInfo3(String additionalInfo3)
void
setAdditionalInfo4(String additionalInfo4)
void
setBusinessRoles(List<BusinessRole> businessroles)
void
setCustomerFilterCriteria(String customerFilterCriteria)
void
setDefaultUserGroupEdit(String defaultUserGroup)
void
setDefaultUserGroupViewDetails(String defaultUserViewDetails)
void
setEmail(String email)
void
setEmailLocale(String emailLocale)
void
setExtendedData(Map<String,Object> extendedData)
void
setFirstName(String firstName)
void
setGroups(List<UserGroup> groups)
void
setLastLogin(LocalDateTime lastLogin)
void
setLastName(String lastName)
void
setLoginName(String name)
void
setNoSession(Boolean noSession)
void
setPassword(String clearTextPassword)
This convenience method accepts a clear-text password The password will be hashed using the password servicevoid
setPasswordExpiry(LocalDateTime passwordExpiry)
void
setPasswordHash(String passwordHash)
void
setPasswordSalt(String passwordSalt)
void
setProductFilterCriteria(String productFilterExpression)
void
setReceiveAdminEmail(Boolean receiveAdminEmail)
void
setRequireTFA(Boolean requireTFA)
void
setRoles(List<Role> roles)
void
setSsoOnly(Boolean ssoOnly)
void
setUniqueLoginName(String name)
void
setWizardDashboardName(String wizardDashboardName)
void
setWorkflowEmailingActivated(Boolean workflowEmailingActivated)
boolean
validate(ValidationVisitor validationVisitor, PersistedObjectService objService)
Override to implement per-object validation rules-
Methods inherited from class PersistedObject
bumpVersion, canAdd, canDelete, canEdit, canEdit, createDate, doHardDelete, findAnnotationRecursivelly, getBulkloadMap, getBusinessKey, getCreateDate, getCreatedBy, getDbColumnNameForField, getDefaultSortKey, getDeleteDate, getDeletedBy, getId, getLastUpdateBy, getLastUpdateDate, getTypeCode, getTypedId, getVersion, getVirtualFieldMappings, hasSafeInsertConfigured, isDeleted, isVirtualField, notifyOnBusinessKeyChange, onBusinessKeyChange, onDelete, onSavedOrUpdated, setCreateDate, setCreateDateShouldBeIgnored, setCreateDateTime, setCreatedBy, setDeleted, setDeleteDate, setDeletedBy, setId, setLastUpdateBy, setLastUpdateDate, setLastUpdateDateTime, setTypedId, setVersion, userGroupEditBulkloadFilter, userGroupEditBulkloadFilter
-
Methods inherited from class DomainObject
deepCopy, deepCopyUsingJavaSerialization, getNewMidnightDate, getNewMidnightDateTime, isMidnight, isMidnight, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerializedSizeOK, jsonSerializeToBytes, jsonSerializeToBytes, setToDayEnd, setToDayEnd, setToMidnight, setToMidnight, setToMidnightAsLocalDateTime, toPropertyMap
-
-
-
-
Field Detail
-
SYSTEM_USER_NAME
public static final String SYSTEM_USER_NAME
- See Also:
- Constant Field Values
-
SYSTEM_SUPPORT_USER_NAME
public static final String SYSTEM_SUPPORT_USER_NAME
- See Also:
- Constant Field Values
-
NEW_PASSWORD_HASH
protected static final Supplier<String> NEW_PASSWORD_HASH
-
NEW_PASSWORD_NOSESSION_HASH
protected static final Supplier<String> NEW_PASSWORD_NOSESSION_HASH
-
UNKNOWN_HASH
protected static final String UNKNOWN_HASH
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSignificantFields
public String[] getSignificantFields()
- Overrides:
getSignificantFields
in classPersistedObject
-
getFirstName
public String getFirstName()
-
setFirstName
public void setFirstName(String firstName)
-
getLastName
public String getLastName()
-
setLastName
public void setLastName(String lastName)
-
computeFullName
@NotNull public String computeFullName()
-
getEmail
public String getEmail()
-
setEmail
public void setEmail(String email)
-
getDefaultUserGroupEdit
public String getDefaultUserGroupEdit()
-
setDefaultUserGroupEdit
public void setDefaultUserGroupEdit(String defaultUserGroup)
-
getDefaultUserGroupViewDetails
public String getDefaultUserGroupViewDetails()
-
setDefaultUserGroupViewDetails
public void setDefaultUserGroupViewDetails(String defaultUserViewDetails)
-
getNoSession
public Boolean getNoSession()
-
getRequireTFA
public Boolean getRequireTFA()
-
setRequireTFA
public void setRequireTFA(Boolean requireTFA)
-
getSsoOnly
public Boolean getSsoOnly()
-
setSsoOnly
public void setSsoOnly(Boolean ssoOnly)
-
getReceiveAdminEmail
public Boolean getReceiveAdminEmail()
-
setReceiveAdminEmail
public void setReceiveAdminEmail(Boolean receiveAdminEmail)
-
setNoSession
public void setNoSession(Boolean noSession)
-
passwordExpiry
public String passwordExpiry()
-
getPasswordExpiry
public LocalDateTime getPasswordExpiry()
-
setPasswordExpiry
public void setPasswordExpiry(LocalDateTime passwordExpiry)
-
getPasswordHash
public String getPasswordHash()
-
setPasswordHash
public void setPasswordHash(String passwordHash)
-
getPasswordSalt
public String getPasswordSalt()
-
setPasswordSalt
public void setPasswordSalt(String passwordSalt)
-
isSystemUser
public boolean isSystemUser()
-
getWizardDashboardName
public String getWizardDashboardName()
-
setWizardDashboardName
public void setWizardDashboardName(String wizardDashboardName)
-
setPassword
public void setPassword(String clearTextPassword)
This convenience method accepts a clear-text password The password will be hashed using the password service- Parameters:
clearTextPassword
-
-
checkPassword
public boolean checkPassword(String clearTextPassword)
This method checks if a passed clearText password matches the stored password hash- Parameters:
clearTextPassword
-- Returns:
- true is passwords match
-
getHashMethod
public String getHashMethod()
-
getRoles
public List<Role> getRoles()
-
getRoleNames
public List<String> getRoleNames()
THIS SHOULD NOT BE USED IN CODE!. Only here for jackson Use : AuthUtil.userHasRole(Role.WF_ADMIN, currentUser)- Returns:
-
getAllRoleNames
public List<String> getAllRoleNames()
THIS SHOULD NOT BE USED IN CODE!. Only here for jackson Use : AuthUtil.userHasRole(Role.WF_ADMIN, currentUser)- Returns:
-
getAllRoles
public List<Role> getAllRoles()
Gets all roles of a user including those assigned by a business role- Returns:
- All roles or empty list. Never null.
-
setRoles
public void setRoles(List<Role> roles)
-
getAllGroups
public List<UserGroup> getAllGroups()
Gets all groups of a user including those assigned by a business role- Returns:
- All groups or empty list. Never null.
-
getBusinessRoles
public List<BusinessRole> getBusinessRoles()
-
setBusinessRoles
public void setBusinessRoles(List<BusinessRole> businessroles)
-
isActivated
public Boolean isActivated()
-
setActivated
public void setActivated(Boolean activated)
-
isWorkflowEmailingActivated
public Boolean isWorkflowEmailingActivated()
-
setWorkflowEmailingActivated
public void setWorkflowEmailingActivated(Boolean workflowEmailingActivated)
-
getLastLogin
public LocalDateTime getLastLogin()
-
lastUpdateDate
public String lastUpdateDate()
- Overrides:
lastUpdateDate
in classPersistedObject
-
setLastLogin
public void setLastLogin(LocalDateTime lastLogin)
-
isFirstLogin
public boolean isFirstLogin()
-
getFQLoginName
public String getFQLoginName()
-
getLoginName
public String getLoginName()
-
setLoginName
public void setLoginName(String name)
-
setUniqueLoginName
public void setUniqueLoginName(String name)
-
getAdditionalInfo1
public BigDecimal getAdditionalInfo1()
-
setAdditionalInfo1
public void setAdditionalInfo1(BigDecimal additionalInfo1)
-
getAdditionalInfo2
public BigDecimal getAdditionalInfo2()
-
setAdditionalInfo2
public void setAdditionalInfo2(BigDecimal additionalInfo2)
-
getAdditionalInfo3
public String getAdditionalInfo3()
-
setAdditionalInfo3
public void setAdditionalInfo3(String additionalInfo3)
-
getAdditionalInfo4
public String getAdditionalInfo4()
-
setAdditionalInfo4
public void setAdditionalInfo4(String additionalInfo4)
-
getEmailLocale
public String getEmailLocale()
-
setEmailLocale
public void setEmailLocale(String emailLocale)
-
getProductFilterCriteria
public String getProductFilterCriteria()
-
setProductFilterCriteria
public void setProductFilterCriteria(String productFilterExpression)
-
getCustomerFilterCriteria
public String getCustomerFilterCriteria()
-
setCustomerFilterCriteria
public void setCustomerFilterCriteria(String customerFilterCriteria)
-
addSkuFilter
public void addSkuFilter(Search search)
-
hasModuleAccess
public boolean hasModuleAccess(ApplicationModule module)
-
addCustomerIdFilter
public void addCustomerIdFilter(Search search)
-
addUniqueConstraint
public void addUniqueConstraint(Criteria c)
- Overrides:
addUniqueConstraint
in classPartitionedObject
-
auditOperation
public void auditOperation(AuditOperation operation, User byUser, CommandContext context, PersistedObjectService objService, String details)
Description copied from class:net.pricefx.domain.PersistedObject
Override this method to log certain object operations- Overrides:
auditOperation
in classPersistedObject
- Parameters:
operation
- a descriptive string that classifies the operation typebyUser
- the user that requested the operation
-
isAudited
public boolean isAudited()
Description copied from class:net.pricefx.domain.PersistedObject
Override this to enable audit calls on this object- Overrides:
isAudited
in classPersistedObject
- Returns:
-
isInGroup
public boolean isInGroup(UserGroup userGroup)
-
renameSoftDeleted
public void renameSoftDeleted(PersistedObjectService objService)
- Specified by:
renameSoftDeleted
in interfaceRenameSoftDeletedInNameConflict
-
validate
public boolean validate(ValidationVisitor validationVisitor, PersistedObjectService objService)
Description copied from class:net.pricefx.domain.PersistedObject
Override to implement per-object validation rules- Specified by:
validate
in interfacePersistable
- Overrides:
validate
in classPartitionedObject
- Parameters:
validationVisitor
- visitor object that receives validation error detailsobjService
- PersistedObjectService instance. May be null, so be cautios when requiring it
-
onSaveOrUpdate
public void onSaveOrUpdate(PersistedObjectService objService)
Description copied from class:net.pricefx.domain.PersistedObject
Default does nothing. Method is called when object is about to be saved or updated Override point- Overrides:
onSaveOrUpdate
in classPersistedObject
-
-