Class JpaUserRole

  • All Implemented Interfaces:
    com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, Serializable

    @Entity
    public class JpaUserRole
    extends Object
    implements Serializable, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
    Author:
    Nathan Moore (nathanmoore).
    See Also:
    Serialized Form
    • Constructor Detail

      • JpaUserRole

        public JpaUserRole()
    • Method Detail

      • fromMe

        public org.modelmapper.ModelMapper fromMe()
        Specified by:
        fromMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
      • pruneArchivedReferences

        protected UserRole pruneArchivedReferences​(org.modelmapper.spi.MappingContext<JpaUserRole,​UserRole> mappingContext)
        Used as the TypeMap.setPostConverter(Converter) for fromMe().

        JPA will eagerly fetch permissions if 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:
        toMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
      • getBusinessDomainType

        public Class<?> getBusinessDomainType()
        Specified by:
        getBusinessDomainType in interface com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
      • getId

        public String getId()
      • getName

        public String getName()
      • getLastUpdated

        public Instant getLastUpdated()
        We don't use LastModifiedDate here because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).
        See Also:
        UserRole.lastUpdated
      • setId

        public void setId​(String id)
      • setName

        public void setName​(String name)
      • setParentRoleId

        public void setParentRoleId​(String parentRoleId)
        A soft reference to the parent of this role.
        See Also:
        UserRole.parentRoleId
      • setLastUpdated

        public void setLastUpdated​(Instant lastUpdated)
        We don't use LastModifiedDate here because we want to enable manually setting this value (ex: for setting the lastUpdated to a value received in a persistence message).
        See Also:
        UserRole.lastUpdated
      • setArchived

        public void setArchived​(boolean archived)
        See Also:
        UserRole.archived
      • canEqual

        protected boolean canEqual​(Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object