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
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void addPrincipalAttributes​(java.lang.String id, java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> attributes, org.apereo.cas.services.RegisteredService registeredService)
      Add principal attributes into the underlying cache instance.
      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 AttributeMergingStrategy determineMergingStrategy()
      Calculate merging strategy attribute merging strategy.
      protected static org.apereo.services.persondir.IPersonAttributeDao getAttributeRepository()
      Gets attribute repository.
      abstract java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> getAttributes​(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService registeredService)  
      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
    • Constructor Detail

      • AbstractPrincipalAttributesRepository

        public AbstractPrincipalAttributesRepository()
    • Method Detail

      • getAttributes

        public abstract java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> getAttributes​(org.apereo.cas.authentication.principal.Principal principal,
                                                                                                             org.apereo.cas.services.RegisteredService registeredService)
        Specified by:
        getAttributes in interface org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • 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
      • 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
      • addPrincipalAttributes

        protected abstract void addPrincipalAttributes​(java.lang.String id,
                                                       java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> attributes,
                                                       org.apereo.cas.services.RegisteredService registeredService)
        Add principal attributes into the underlying cache instance.
        Parameters:
        id - identifier used by the cache as key.
        attributes - attributes to cache
        registeredService - the registered service
        Since:
        4.2
      • determineMergingStrategy

        protected AttributeMergingStrategy 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