Class AbstractPrincipalAttributesRepository

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.AutoCloseable, org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository
    Direct Known Subclasses:
    CachingPrincipalAttributesRepository, DefaultPrincipalAttributesRepository

    public abstract class AbstractPrincipalAttributesRepository
    extends java.lang.Object
    implements org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository, java.lang.AutoCloseable
    Parent class for retrieval principals attributes, provides operations around caching, merging of attributes.
    Since:
    4.2
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from interface org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository

        LOGGER
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean areAttributeRepositoryIdsDefined()
      Are attribute repository ids defined boolean.
      void close()  
      protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertAttributesToPrincipalAttributesAndCache​(org.apereo.cas.authentication.principal.Principal principal, java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> sourceAttributes, org.apereo.cas.services.RegisteredService registeredService)
      Convert attributes to principal attributes and cache.
      protected static java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertPersonAttributesToPrincipalAttributes​(java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> attributes)
      Convert person attributes to principal attributes.
      protected static java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertPrincipalAttributesToPersonAttributes​(java.util.Map<java.lang.String,​?> attributes)
      Convert principal attributes to person attributes.
      protected org.apereo.cas.configuration.model.core.authentication.PrincipalAttributesCoreProperties.MergingStrategyTypes determineMergingStrategy()
      Calculate merging strategy attribute merging strategy.
      protected static org.apereo.services.persondir.IPersonAttributeDao getAttributeRepository()
      Gets attribute repository.
      protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> getPrincipalAttributes​(org.apereo.cas.authentication.principal.Principal principal)
      Gets principal attributes.
      protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> retrievePersonAttributesFromAttributeRepository​(org.apereo.cas.authentication.principal.Principal principal)
      Obtains attributes first from the repository by calling IPersonAttributeDao.getPerson(String, org.apereo.services.persondir.IPersonAttributeDaoFilter).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository

        getAttributeRepositoryIds, getAttributes, update
    • Constructor Detail

      • AbstractPrincipalAttributesRepository

        public AbstractPrincipalAttributesRepository()
    • Method Detail

      • getAttributeRepository

        protected static org.apereo.services.persondir.IPersonAttributeDao getAttributeRepository()
        Gets attribute repository.
        Returns:
        the attribute repository
      • convertPrincipalAttributesToPersonAttributes

        protected static java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertPrincipalAttributesToPersonAttributes​(java.util.Map<java.lang.String,​?> attributes)
        Convert principal attributes to person attributes.
        Parameters:
        attributes - the attributes
        Returns:
        person attributes
      • convertPersonAttributesToPrincipalAttributes

        protected static java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertPersonAttributesToPrincipalAttributes​(java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> attributes)
        Convert person attributes to principal attributes.
        Parameters:
        attributes - person attributes
        Returns:
        principal attributes
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • convertAttributesToPrincipalAttributesAndCache

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> convertAttributesToPrincipalAttributesAndCache​(org.apereo.cas.authentication.principal.Principal principal,
                                                                                                                                        java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> sourceAttributes,
                                                                                                                                        org.apereo.cas.services.RegisteredService registeredService)
        Convert attributes to principal attributes and cache.
        Parameters:
        principal - the principal
        sourceAttributes - the source attributes
        registeredService - the registered service
        Returns:
        the map
      • determineMergingStrategy

        protected org.apereo.cas.configuration.model.core.authentication.PrincipalAttributesCoreProperties.MergingStrategyTypes determineMergingStrategy()
        Calculate merging strategy attribute merging strategy.
        Returns:
        the attribute merging strategy
      • areAttributeRepositoryIdsDefined

        protected boolean areAttributeRepositoryIdsDefined()
        Are attribute repository ids defined boolean.
        Returns:
        true/false
      • retrievePersonAttributesFromAttributeRepository

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> retrievePersonAttributesFromAttributeRepository​(org.apereo.cas.authentication.principal.Principal principal)
        Obtains attributes first from the repository by calling IPersonAttributeDao.getPerson(String, org.apereo.services.persondir.IPersonAttributeDaoFilter).
        Parameters:
        principal - the person to locate in the attribute repository
        Returns:
        the map of attributes
      • getPrincipalAttributes

        protected java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> getPrincipalAttributes​(org.apereo.cas.authentication.principal.Principal principal)
        Gets principal attributes.
        Parameters:
        principal - the principal
        Returns:
        the principal attributes