Class AbstractSearchDataConnector<T1 extends ExecutableSearch,​T2 extends MappingStrategy<?>>

Type Parameters:
T1 - type of executable search
T2 - type of mapping strategy
All Implemented Interfaces:
DataConnector, ResolverPlugin<Map<String,​IdPAttribute>>, Component, DestructableComponent, IdentifiableComponent, IdentifiedComponent, InitializableComponent, UnmodifiableComponent, DisposableBean
Direct Known Subclasses:
HTTPDataConnector, LDAPDataConnector, RDBMSDataConnector, StorageServiceDataConnector

public abstract class AbstractSearchDataConnector<T1 extends ExecutableSearch,​T2 extends MappingStrategy<?>>
extends AbstractDataConnector
A DataConnector containing functionality common to data connectors that retrieve attribute data by searching a data source.
  • Field Details

  • Constructor Details

    • AbstractSearchDataConnector

      public AbstractSearchDataConnector()
  • Method Details

    • getExecutableSearchBuilder

      @NonnullAfterInit public ExecutableSearchBuilder<T1> getExecutableSearchBuilder()
      Gets the builder used to create executable searches.
      Returns:
      builder used to create the executable searches
    • setExecutableSearchBuilder

      public void setExecutableSearchBuilder​(@Nonnull ExecutableSearchBuilder<T1> builder)
      Sets the builder used to create the executable searches.
      Parameters:
      builder - builder used to create the executable searches
    • getValidator

      @NonnullAfterInit public Validator getValidator()
      Gets the validator used to validate this connector.
      Returns:
      validator used to validate this connector
    • setValidator

      public void setValidator​(@Nonnull Validator validator)
      Sets the validator used to validate this connector.
      Parameters:
      validator - used to validate this connector
    • getMappingStrategy

      @NonnullAfterInit public T2 getMappingStrategy()
      Gets the strategy for mapping from search results to a collection of IdPAttributes.
      Returns:
      strategy for mapping from search results to a collection of IdPAttributes
    • setMappingStrategy

      public void setMappingStrategy​(@Nonnull T2 strategy)
      Sets the strategy for mapping from search results to a collection of IdPAttributes.
      Parameters:
      strategy - strategy for mapping from search results to a collection of IdPAttributes
    • getResultsCache

      @Nullable public Cache<String,​Map<String,​IdPAttribute>> getResultsCache()
      Gets the cache used to cache search results.
      Returns:
      cache used to cache search results
    • setResultsCache

      public void setResultsCache​(@Nullable Cache<String,​Map<String,​IdPAttribute>> cache)
      Sets the cache used to cache search results. Note, all entries in the cache are invalidated prior to use.
      Parameters:
      cache - cache used to cache search results
    • retrieveAttributes

      @Nullable protected abstract Map<String,​IdPAttribute> retrieveAttributes​(@Nonnull T1 executable) throws ResolutionException
      Attempts to retrieve attributes from the data source.
      Parameters:
      executable - used to retrieve data from the data source
      Returns:
      attributes
      Throws:
      ResolutionException - thrown if there is a problem retrieving data from the data source
    • doDataConnectorResolve

      @Nullable protected Map<String,​IdPAttribute> doDataConnectorResolve​(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException
      Retrieves a collection of attributes from some data source.
      Specified by:
      doDataConnectorResolve in class AbstractDataConnector
      Parameters:
      resolutionContext - current resolution context
      workContext - current resolver work context
      Returns:
      collected attributes indexed by attribute ID
      Throws:
      ResolutionException - thrown if there is a problem resolving the attributes
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractDataConnector
      Throws:
      ComponentInitializationException
    • isFailFastInitialize

      public boolean isFailFastInitialize()
      Does the data connector fails fast.
      Returns:
      Returns whether the data connector fails fast (on initialize)
    • setFailFastInitialize

      public void setFailFastInitialize​(boolean what)
      Whether the data connector fails fast (on initialize).
      Parameters:
      what - what to set