Class AbstractNameIDPolicyPredicate

java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.saml.common.profile.logic.AbstractNameIDPolicyPredicate
All Implemented Interfaces:
Predicate<ProfileRequestContext>, Component, DestructableComponent, InitializableComponent, Predicate<ProfileRequestContext>
Direct Known Subclasses:
DefaultNameIDPolicyPredicate

public abstract class AbstractNameIDPolicyPredicate extends AbstractInitializableComponent implements Predicate<ProfileRequestContext>
Base class for implementations of Predicate that handle evaluation of name identifier content in various scenarios.
  • Field Details

  • Constructor Details

    • AbstractNameIDPolicyPredicate

      public AbstractNameIDPolicyPredicate()
      Constructor.
  • Method Details

    • setRequesterIdLookupStrategy

      public void setRequesterIdLookupStrategy(@Nullable Function<ProfileRequestContext,String> strategy)
      Set the strategy used to locate the requester ID.
      Parameters:
      strategy - lookup strategy
    • setResponderIdLookupStrategy

      public void setResponderIdLookupStrategy(@Nullable Function<ProfileRequestContext,String> strategy)
      Set the strategy used to locate the responder ID.
      Parameters:
      strategy - lookup strategy
    • setObjectLookupStrategy

      public void setObjectLookupStrategy(@Nullable Function<ProfileRequestContext,SAMLObject> strategy)
      Set the lookup strategy used to locate the object to evaluate.
      Parameters:
      strategy - lookup function
    • setFormats

      public void setFormats(@Nullable Collection<String> newFormats)
      Set the formats to apply the predicate to.
      Parameters:
      newFormats - formats to apply predicate to
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      Throws:
      ComponentInitializationException
    • test

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

      private boolean doApply(@Nullable ProfileRequestContext input, @Nonnull NameIdentifier target)
      Apply policy to the target object.
      Parameters:
      input - current profile request context
      target - target object
      Returns:
      result of policy
    • doApply

      private boolean doApply(@Nullable ProfileRequestContext input, @Nonnull NameID target)
      Apply policy to the target object.
      Parameters:
      input - current profile request context
      target - target object
      Returns:
      result of policy
    • doApply

      private boolean doApply(@Nullable ProfileRequestContext input, @Nonnull NameIDPolicy target)
      Apply policy to the target object.
      Parameters:
      input - current profile request context
      target - target object
      Returns:
      result of policy
    • doApply

      protected abstract boolean doApply(@Nullable String requesterId, @Nullable String responderId, @Nullable String format, @Nullable String nameQualifier, @Nullable String spNameQualifier)
      Apply the predicate to the request.
      Parameters:
      requesterId - the requester
      responderId - the responder
      format - format of identifier
      nameQualifier - the NameQualifier
      spNameQualifier - the SPNameQualifier
      Returns:
      true iff the combination of inputs satisfies a policy