Class AbstractNameIDPolicyPredicate
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.saml.common.profile.logic.AbstractNameIDPolicyPredicate
-
- All Implemented Interfaces:
Predicate<org.opensaml.profile.context.ProfileRequestContext>
,net.shibboleth.utilities.java.support.component.Component
,net.shibboleth.utilities.java.support.component.DestructableComponent
,net.shibboleth.utilities.java.support.component.InitializableComponent
,net.shibboleth.utilities.java.support.logic.Predicate<org.opensaml.profile.context.ProfileRequestContext>
- Direct Known Subclasses:
DefaultNameIDPolicyPredicate
public abstract class AbstractNameIDPolicyPredicate extends net.shibboleth.utilities.java.support.component.AbstractInitializableComponent implements net.shibboleth.utilities.java.support.logic.Predicate<org.opensaml.profile.context.ProfileRequestContext>
Base class for implementations ofPredicate
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<org.opensaml.profile.context.ProfileRequestContext,SAMLObject>
objectLookupStrategy
Object lookup function.private Function<org.opensaml.profile.context.ProfileRequestContext,String>
requesterIdLookupStrategy
Requester ID lookup function.private Function<org.opensaml.profile.context.ProfileRequestContext,String>
responderIdLookupStrategy
Responder 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 boolean
doApply(String requesterId, String responderId, String format, String nameQualifier, String spNameQualifier)
Apply the predicate to the request.private boolean
doApply(org.opensaml.profile.context.ProfileRequestContext input, NameIdentifier target)
Apply policy to the target object.private boolean
doApply(org.opensaml.profile.context.ProfileRequestContext input, NameID target)
Apply policy to the target object.private boolean
doApply(org.opensaml.profile.context.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<org.opensaml.profile.context.ProfileRequestContext,SAMLObject> strategy)
Set the lookup strategy used to locate the object to evaluate.void
setRequesterIdLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
Set the strategy used to locate the requester ID.void
setResponderIdLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
Set the strategy used to locate the responder ID.boolean
test(org.opensaml.profile.context.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<org.opensaml.profile.context.ProfileRequestContext,String> requesterIdLookupStrategy
Requester ID lookup function.
-
responderIdLookupStrategy
@Nullable private Function<org.opensaml.profile.context.ProfileRequestContext,String> responderIdLookupStrategy
Responder ID lookup function.
-
objectLookupStrategy
@NonnullAfterInit private Function<org.opensaml.profile.context.ProfileRequestContext,SAMLObject> objectLookupStrategy
Object lookup function.
-
-
Method Detail
-
setRequesterIdLookupStrategy
public void setRequesterIdLookupStrategy(@Nullable Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
Set the strategy used to locate the requester ID.- Parameters:
strategy
- lookup strategy
-
setResponderIdLookupStrategy
public void setResponderIdLookupStrategy(@Nullable Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)
Set the strategy used to locate the responder ID.- Parameters:
strategy
- lookup strategy
-
setObjectLookupStrategy
public void setObjectLookupStrategy(@Nullable Function<org.opensaml.profile.context.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 net.shibboleth.utilities.java.support.component.ComponentInitializationException
- Overrides:
doInitialize
in classnet.shibboleth.utilities.java.support.component.AbstractInitializableComponent
- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
test
public boolean test(@Nullable org.opensaml.profile.context.ProfileRequestContext input)
-
doApply
private boolean doApply(@Nullable org.opensaml.profile.context.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 org.opensaml.profile.context.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 org.opensaml.profile.context.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
-
-