Interface ResolverPlugin<ResolvedType>
-
- Type Parameters:
ResolvedType- object type this plug-in resolves to
- All Superinterfaces:
Component,DestructableComponent,IdentifiedComponent,InitializableComponent,UnmodifiableComponent
- All Known Subinterfaces:
AttributeDefinition,DataConnector
- All Known Implementing Classes:
AbstractAttributeDefinition,AbstractDataConnector,AbstractResolverPlugin,AbstractSearchDataConnector,ContextDerivedAttributeDefinition,DateTimeAttributeDefinition,DecryptedAttributeDefinition,HTTPDataConnector,LDAPDataConnector,MappedAttributeDefinition,PairwiseIdDataConnector,PrescopedAttributeDefinition,PrincipalNameAttributeDefinition,RDBMSDataConnector,RegexSplitAttributeDefinition,ResolvedAttributeDefinition,ResolvedDataConnector,SAML1NameIdentifierAttributeDefinition,SAML2NameIDAttributeDefinition,ScopedAttributeDefinition,ScriptedAttributeDefinition,ScriptedDataConnector,SimpleAttributeDefinition,StaticAttributeDefinition,StaticDataConnector,StorageServiceDataConnector,SubjectDataConnector,TemplateAttributeDefinition
@ThreadSafe public interface ResolverPlugin<ResolvedType> extends UnmodifiableComponent, InitializableComponent, DestructableComponent, IdentifiedComponent
Interface defining the base work done by all plugins used within attribute resolution.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Predicate<ProfileRequestContext>getActivationCondition()Get the predicate which defines whether this plugin is active for a given request.Set<ResolverAttributeDefinitionDependency>getAttributeDependencies()Get the unmodifiable list of attribute dependencies for this plugin.Set<ResolverDataConnectorDependency>getDataConnectorDependencies()Get the unmodifiable list of data connector dependencies for this plugin.booleanisPropagateResolutionExceptions()Get whether aResolutionExceptionthat occurred resolving attributes will be re-thrown.ResolvedTyperesolve(AttributeResolutionContext resolutionContext)Perform the attribute resolution for this plugin.-
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Method Detail
-
isPropagateResolutionExceptions
boolean isPropagateResolutionExceptions()
Get whether aResolutionExceptionthat occurred resolving attributes will be re-thrown. Doing so will cause the entire attribute resolution request to fail.- Returns:
- true if
ResolutionExceptions are propagated, false if not
-
getActivationCondition
@Nullable Predicate<ProfileRequestContext> getActivationCondition()
Get the predicate which defines whether this plugin is active for a given request.- Returns:
- the predicate.
-
getAttributeDependencies
@NonnullAfterInit @NonnullElements @Unmodifiable Set<ResolverAttributeDefinitionDependency> getAttributeDependencies()
Get the unmodifiable list of attribute dependencies for this plugin.- Returns:
- unmodifiable list of attribute dependencies for this plugin, never null
-
getDataConnectorDependencies
@NonnullAfterInit @NonnullElements @Unmodifiable Set<ResolverDataConnectorDependency> getDataConnectorDependencies()
Get the unmodifiable list of data connector dependencies for this plugin.- Returns:
- unmodifiable list of data connector dependencies for this plugin, never null
-
resolve
@Nullable ResolvedType resolve(@Nonnull AttributeResolutionContext resolutionContext) throws ResolutionException
Perform the attribute resolution for this plugin.- Parameters:
resolutionContext- current attribute resolution context- Returns:
- the attributes made available by the resolution, or null if no attributes were resolved
- Throws:
ResolutionException- thrown if there was a problem resolving the attributes
-
-