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 ofPredicatethat handle evaluation of name identifier content in various scenarios.
-
-
Field Summary
Fields Modifier and Type Field Description private Set<String>formatsFormats to apply policy to.private org.slf4j.LoggerlogClass logger.private Function<ProfileRequestContext,SAMLObject>objectLookupStrategyObject lookup function.private Function<ProfileRequestContext,String>requesterIdLookupStrategyRequester ID lookup function.private Function<ProfileRequestContext,String>responderIdLookupStrategyResponder ID lookup function.
-
Constructor Summary
Constructors Constructor Description AbstractNameIDPolicyPredicate()Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleandoApply(String requesterId, String responderId, String format, String nameQualifier, String spNameQualifier)Apply the predicate to the request.private booleandoApply(ProfileRequestContext input, NameIdentifier target)Apply policy to the target object.private booleandoApply(ProfileRequestContext input, NameID target)Apply policy to the target object.private booleandoApply(ProfileRequestContext input, NameIDPolicy target)Apply policy to the target object.protected voiddoInitialize()voidsetFormats(Collection<String> newFormats)Set the formats to apply the predicate to.voidsetObjectLookupStrategy(Function<ProfileRequestContext,SAMLObject> strategy)Set the lookup strategy used to locate the object to evaluate.voidsetRequesterIdLookupStrategy(Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the requester ID.voidsetResponderIdLookupStrategy(Function<ProfileRequestContext,String> strategy)Set the strategy used to locate the responder ID.booleantest(ProfileRequestContext input)-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
requesterIdLookupStrategy
@Nullable private Function<ProfileRequestContext,String> requesterIdLookupStrategy
Requester ID lookup function.
-
responderIdLookupStrategy
@Nullable private Function<ProfileRequestContext,String> responderIdLookupStrategy
Responder ID lookup function.
-
objectLookupStrategy
@NonnullAfterInit private Function<ProfileRequestContext,SAMLObject> objectLookupStrategy
Object lookup function.
-
formats
@Nonnull @NonnullElements private Set<String> formats
Formats to apply policy to.
-
-
Method Detail
-
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:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
test
public boolean test(@Nullable ProfileRequestContext input)- Specified by:
testin interfacePredicate<ProfileRequestContext>
-
doApply
private boolean doApply(@Nullable ProfileRequestContext input, @Nonnull NameIdentifier target)Apply policy to the target object.- Parameters:
input- current profile request contexttarget- 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 contexttarget- 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 contexttarget- 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 requesterresponderId- the responderformat- format of identifiernameQualifier- the NameQualifierspNameQualifier- the SPNameQualifier- Returns:
- true iff the combination of inputs satisfies a policy
-
-