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 Summary
Fields Modifier and Type Field Description private Set<String>
formats
Formats to apply policy to.private org.slf4j.Logger
log
Class logger.private Function<ProfileRequestContext,SAMLObject>
objectLookupStrategy
Object lookup function.private Function<ProfileRequestContext,String>
requesterIdLookupStrategy
Requester ID lookup function.private Function<ProfileRequestContext,String>
responderIdLookupStrategy
Responder ID lookup function. -
Constructor Summary
Constructors Constructor Description AbstractNameIDPolicyPredicate()
Constructor. -
Method Summary
Modifier and Type Method Description protected abstract boolean
doApply(String requesterId, String responderId, String format, String nameQualifier, String spNameQualifier)
Apply the predicate to the request.private boolean
doApply(ProfileRequestContext input, NameIdentifier target)
Apply policy to the target object.private boolean
doApply(ProfileRequestContext input, NameID target)
Apply policy to the target object.private boolean
doApply(ProfileRequestContext input, NameIDPolicy target)
Apply policy to the target object.protected void
doInitialize()
void
setFormats(Collection<String> newFormats)
Set the formats to apply the predicate to.void
setObjectLookupStrategy(Function<ProfileRequestContext,SAMLObject> strategy)
Set the lookup strategy used to locate the object to evaluate.void
setRequesterIdLookupStrategy(Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the requester ID.void
setResponderIdLookupStrategy(Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the responder ID.boolean
test(ProfileRequestContext input)
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
requesterIdLookupStrategy
Requester ID lookup function. -
responderIdLookupStrategy
Responder ID lookup function. -
objectLookupStrategy
Object lookup function. -
formats
Formats to apply policy to.
-
-
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
Set the formats to apply the predicate to.- Parameters:
newFormats
- formats to apply predicate to
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
test
- Specified by:
test
in interfacePredicate<ProfileRequestContext>
-
doApply
Apply policy to the target object.- Parameters:
input
- current profile request contexttarget
- target object- Returns:
- result of policy
-
doApply
Apply policy to the target object.- Parameters:
input
- current profile request contexttarget
- target object- Returns:
- result of policy
-
doApply
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
-