Class AbstractAggregatingDefaultQueryPersonAttributeDao

All Implemented Interfaces:
Comparable<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao>, org.apereo.cas.authentication.principal.attribute.PersonAttributeDao, org.springframework.core.Ordered
Direct Known Subclasses:
MergingPersonAttributeDaoImpl

public abstract class AbstractAggregatingDefaultQueryPersonAttributeDao extends AbstractDefaultAttributePersonAttributeDao
Provides a base set of implementations and properties for PersonAttributeDao implementations that aggregate results from a sub List of PersonAttributeDao.
Since:
7.1.0
  • Field Summary

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE

    Fields inherited from interface org.apereo.cas.authentication.principal.attribute.PersonAttributeDao

    WILDCARD, WILDCARD_PATTERN
  • Constructor Summary

    Constructors
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apereo.cas.authentication.principal.merger.AttributeMerger
    Strategy for merging together the results from successive PersonAttributeDaos.
    getAvailableQueryAttributes(org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
    Merges the results of calling PersonAttributeDao.getAvailableQueryAttributes(PersonAttributeDaoFilter) on each child dao using the configured AttributeMerger.mergeAvailableQueryAttributes(Set, Set).
     
    Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes>
    getPeopleWithMultivaluedAttributes(Map<String,List<Object>> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
     
    List<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao>
    A List of child PersonAttributeDao instances which we will poll in order.
    final Set<String>
    getPossibleUserAttributeNames(org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
    Merges the results of calling PersonAttributeDao.getPossibleUserAttributeNames(PersonAttributeDaoFilter) on each child dao using the configured AttributeMerger.mergePossibleUserAttributeNames(Set, Set).
    boolean
    True if we should catch, logger, and ignore Throwables propogated by individual DAOs.
    boolean
    Force all provided person attribute DAOs to produce results, and otherwise, halt execution if any of them cannot resolve the principal and return null.
    boolean
    The Stop on success.
    void
    setAttributeMerger(org.apereo.cas.authentication.principal.merger.AttributeMerger attributeMerger)
    Strategy for merging together the results from successive PersonAttributeDaos.
    void
    setPersonAttributeDaos(List<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao> personAttributeDaos)
    A List of child PersonAttributeDao instances which we will poll in order.
    void
    setRecoverExceptions(boolean recoverExceptions)
    True if we should catch, logger, and ignore Throwables propogated by individual DAOs.
    void
    setRequireAll(boolean requireAll)
    Force all provided person attribute DAOs to produce results, and otherwise, halt execution if any of them cannot resolve the principal and return null.
    void
    setStopOnSuccess(boolean stopOnSuccess)
    The Stop on success.

    Methods inherited from class org.apereo.cas.authentication.attribute.AbstractDefaultAttributePersonAttributeDao

    getPerson, getUsernameAttributeProvider, setUsernameAttributeProvider

    Methods inherited from class org.apereo.cas.authentication.attribute.AbstractFlatteningPersonAttributeDao

    getPeople

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apereo.cas.authentication.principal.attribute.PersonAttributeDao

    getPeople, getPeople, getPeople, getPeopleWithMultivaluedAttributes, getPeopleWithMultivaluedAttributes, getPeopleWithMultivaluedAttributes, getPerson, getPerson, stuffAttributesIntoList
  • Constructor Details

    • AbstractAggregatingDefaultQueryPersonAttributeDao

      public AbstractAggregatingDefaultQueryPersonAttributeDao()
  • Method Details

    • getId

      public String[] getId()
      Specified by:
      getId in interface org.apereo.cas.authentication.principal.attribute.PersonAttributeDao
      Overrides:
      getId in class BasePersonAttributeDao
    • getPeopleWithMultivaluedAttributes

      public Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> getPeopleWithMultivaluedAttributes(Map<String,List<Object>> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
    • getPossibleUserAttributeNames

      public final Set<String> getPossibleUserAttributeNames(org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
      Merges the results of calling PersonAttributeDao.getPossibleUserAttributeNames(PersonAttributeDaoFilter) on each child dao using the configured AttributeMerger.mergePossibleUserAttributeNames(Set, Set). If all children return null this method returns null as well. If any child does not return null this method will not return null.
      See Also:
      • PersonAttributeDao.getPossibleUserAttributeNames(PersonAttributeDaoFilter)
    • getAvailableQueryAttributes

      public Set<String> getAvailableQueryAttributes(org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
      Merges the results of calling PersonAttributeDao.getAvailableQueryAttributes(PersonAttributeDaoFilter) on each child dao using the configured AttributeMerger.mergeAvailableQueryAttributes(Set, Set). If all children return null this method returns null as well. If any child does not return null this method will not return null.
      See Also:
      • PersonAttributeDao.getAvailableQueryAttributes(PersonAttributeDaoFilter)
    • getPersonAttributeDaos

      public List<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao> getPersonAttributeDaos()
      A List of child PersonAttributeDao instances which we will poll in order.
    • getAttributeMerger

      public org.apereo.cas.authentication.principal.merger.AttributeMerger getAttributeMerger()
      Strategy for merging together the results from successive PersonAttributeDaos.
    • isRecoverExceptions

      public boolean isRecoverExceptions()
      True if we should catch, logger, and ignore Throwables propogated by individual DAOs.
    • isStopOnSuccess

      public boolean isStopOnSuccess()
      The Stop on success.
    • isRequireAll

      public boolean isRequireAll()
      Force all provided person attribute DAOs to produce results, and otherwise, halt execution if any of them cannot resolve the principal and return null.
    • setPersonAttributeDaos

      public void setPersonAttributeDaos(List<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao> personAttributeDaos)
      A List of child PersonAttributeDao instances which we will poll in order.
    • setAttributeMerger

      public void setAttributeMerger(org.apereo.cas.authentication.principal.merger.AttributeMerger attributeMerger)
      Strategy for merging together the results from successive PersonAttributeDaos.
    • setRecoverExceptions

      public void setRecoverExceptions(boolean recoverExceptions)
      True if we should catch, logger, and ignore Throwables propogated by individual DAOs.
    • setStopOnSuccess

      public void setStopOnSuccess(boolean stopOnSuccess)
      The Stop on success.
    • setRequireAll

      public void setRequireAll(boolean requireAll)
      Force all provided person attribute DAOs to produce results, and otherwise, halt execution if any of them cannot resolve the principal and return null.