Class ScopedAttributeDefinition
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin<IdPAttribute>
-
- net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition
-
- net.shibboleth.idp.attribute.resolver.ad.impl.ScopedAttributeDefinition
-
- All Implemented Interfaces:
AttributeDefinition,ResolverPlugin<IdPAttribute>,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,UnmodifiableComponent,DisposableBean
@ThreadSafe public class ScopedAttributeDefinition extends AbstractAttributeDefinition
An attribute definition that createsScopedStringAttributeValues by taking a source attribute value and applying a static scope to each.
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.private Collection<ResolverAttributeDefinitionDependency>nonScopeAttributeDependenciesThe attribute dependencies mine the scopeSource attribute (if there is one).private StringscopeScope value.private StringscopeSourceScope source.
-
Constructor Summary
Constructors Constructor Description ScopedAttributeDefinition()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IdPAttributedoAttributeDefinitionResolve(AttributeResolutionContext resolutionContext, AttributeResolverWorkContext workContext)Creates and populates the values for the resolved attribute.protected voiddoInitialize()StringgetScope()Get scope value.private StringgetScopeFromSource(AttributeResolverWorkContext workContext)Lookup the source attribute in the resolved list.StringgetScopeSource()Get scope source (attribute id).voidsetScope(String newScope)Set the scope for this definition.voidsetScopeSource(String attributeId)Set the source of the scope for this definition.-
Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition
doResolve, getLogPrefix, isDependencyOnly, isPreRequested, setDependencyOnly, setPreRequested
-
Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin
addDisplayInformation, doDestroy, equals, getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, getProfileContextStrategy, hashCode, isPropagateResolutionExceptions, isSuppressDisplayInformation, resolve, setActivationCondition, setAttributeDependencies, setDataConnectorDependencies, setProfileContextStrategy, setPropagateResolutionExceptions, setSuppressDisplayInformation
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
-
Methods inherited from interface org.springframework.beans.factory.DisposableBean
destroy
-
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
-
Methods inherited from interface net.shibboleth.idp.attribute.resolver.ResolverPlugin
getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, isPropagateResolutionExceptions, resolve
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
scope
@Nullable private String scope
Scope value. Mutually exclusive withscopeSource
-
nonScopeAttributeDependencies
@NonnullAfterInit private Collection<ResolverAttributeDefinitionDependency> nonScopeAttributeDependencies
The attribute dependencies mine the scopeSource attribute (if there is one).
-
-
Method Detail
-
getScope
@Nullable public String getScope()
Get scope value.- Returns:
- Returns the scope.
-
setScope
public void setScope(@Nonnull @NotEmpty String newScope)
Set the scope for this definition.- Parameters:
newScope- what to set.
-
getScopeSource
@Nullable public String getScopeSource()
Get scope source (attribute id).- Returns:
- Returns the scope.
-
setScopeSource
public void setScopeSource(@Nonnull @NotEmpty String attributeId)
Set the source of the scope for this definition.- Parameters:
attributeId- what to set.
-
getScopeFromSource
private String getScopeFromSource(@Nonnull AttributeResolverWorkContext workContext) throws ResolutionException
Lookup the source attribute in the resolved list.- Parameters:
workContext- where to look- Returns:
- the single string value contained in the attribute
- Throws:
ResolutionException- if the attribute was not there or if it didn't have only one string value
-
doAttributeDefinitionResolve
@Nonnull protected IdPAttribute doAttributeDefinitionResolve(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException
Creates and populates the values for the resolved attribute. Implementations should not set, or otherwise manage, the resolved attribute's display name, description or encoders. Nor should the resultant attribute be recorded in the given resolution context.- Specified by:
doAttributeDefinitionResolvein classAbstractAttributeDefinition- Parameters:
resolutionContext- current attribute resolution contextworkContext- current resolver work context- Returns:
- resolved attribute or null if nothing to resolve.
- Throws:
ResolutionException- thrown if there is a problem resolving and creating the attribute
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractAttributeDefinition- Throws:
ComponentInitializationException
-
-