Class AbstractAttributePredicate

java.lang.Object
net.shibboleth.idp.profile.logic.AbstractAttributePredicate
All Implemented Interfaces:
Predicate<ProfileRequestContext>, Predicate<ProfileRequestContext>
Direct Known Subclasses:
DateAttributePredicate, DynamicAttributePredicate, RegexAttributePredicate, SimpleAttributePredicate

public abstract class AbstractAttributePredicate extends Object implements Predicate<ProfileRequestContext>
Abstract base class for predicates operating on an AttributeContext.
  • Field Details

    • log

      @Nonnull private final org.slf4j.Logger log
      Class logger.
    • attributeContextLookupStrategy

      @Nonnull private Function<ProfileRequestContext,AttributeContext> attributeContextLookupStrategy
      Strategy function to lookup AttributeContext.
    • useUnfilteredAttributes

      private boolean useUnfilteredAttributes
      Whether to look at filtered or unfiltered attributes.
  • Constructor Details

    • AbstractAttributePredicate

      public AbstractAttributePredicate()
      Constructor.
  • Method Details

    • getAttributeContextLookupStrategy

      @Nonnull public Function<ProfileRequestContext,AttributeContext> getAttributeContextLookupStrategy()
      Get the lookup strategy to use to locate the AttributeContext.
      Returns:
      lookup strategy to use
    • setAttributeContextLookupStrategy

      public void setAttributeContextLookupStrategy(@Nonnull Function<ProfileRequestContext,AttributeContext> strategy)
      Set the lookup strategy to use to locate the AttributeContext.
      Parameters:
      strategy - lookup function to use
    • isUseUnfilteredAttributes

      public boolean isUseUnfilteredAttributes()
      Get whether to source the input attributes from the unfiltered set.
      Returns:
      whether to source the input attributes from the unfiltered set
    • setUseUnfilteredAttributes

      public void setUseUnfilteredAttributes(boolean flag)
      Set whether to source the input attributes from the unfiltered set.

      Defaults to true.

      Parameters:
      flag - flag to set
    • test

      public boolean test(@Nullable ProfileRequestContext input)
      Specified by:
      test in interface Predicate<ProfileRequestContext>
    • allowNullAttributeContext

      protected boolean allowNullAttributeContext()
      Get the result of the predicate in the case the attribute context is null.
      Returns:
      null context result
    • hasMatch

      protected abstract boolean hasMatch(@Nonnull @NonnullElements Map<String,IdPAttribute> attributeMap)
      Abstract implementation of the condition to evaluate.
      Parameters:
      attributeMap - the attributes to evaluate
      Returns:
      the condition result