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,ContextDerivedDataConnector,DateTimeAttributeDefinition,DecryptedAttributeDefinition,EntityAttributesDataConnector,HTTPDataConnector,LDAPDataConnector,MappedAttributeDefinition,MockAttributeDefinition,MockDataConnector,MockStaticAttributeDefinition,MockStaticDataConnector,PairwiseIdDataConnector,PrescopedAttributeDefinition,PrincipalNameAttributeDefinition,RDBMSDataConnector,RegexSplitAttributeDefinition,ResolvedAttributeDefinition,ResolvedDataConnector,SAML1NameIdentifierAttributeDefinition,SAML2NameIDAttributeDefinition,SAMLAttributeDataConnector,ScopedAttributeDefinition,ScriptedAttributeDefinition,ScriptedDataConnector,SimpleAttributeDefinition,StaticAttributeDefinition,StaticDataConnector,StorageServiceDataConnector,TemplateAttributeDefinition,TestSources.StaticAttributeDefinition,TestSources.StaticDataConnector
@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
Modifier and TypeMethodDescriptionGet the predicate which defines whether this plugin is active for a given request.Get the unmodifiable list of attribute dependencies for this plugin.Get the unmodifiable list of data connector dependencies for this plugin.booleanGet whether aResolutionExceptionthat occurred resolving attributes will be re-thrown.resolve(AttributeResolutionContext resolutionContext) Perform the attribute resolution for this plugin.Methods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Method Details
-
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
Get the predicate which defines whether this plugin is active for a given request.- Returns:
- the predicate.
-
getAttributeDependencies
@Nonnull @Unmodifiable @NotLive 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
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
-