Package net.shibboleth.idp.attribute.resolver

# Interface AttributeDefinition

All Superinterfaces:
  `Component`, `DestructableComponent`, `IdentifiedComponent`, `InitializableComponent`, `ResolverPlugin<IdPAttribute>`, `UnmodifiableComponent`

All Known Implementing Classes:
  `AbstractAttributeDefinition`, `ContextDerivedAttributeDefinition`, `DateTimeAttributeDefinition`, `DecryptedAttributeDefinition`, `MappedAttributeDefinition`, `MockAttributeDefinition`, `MockStaticAttributeDefinition`, `PrescopedAttributeDefinition`, `PrincipalNameAttributeDefinition`, `RegexSplitAttributeDefinition`, `ResolvedAttributeDefinition`, `SAML1NameIdentifierAttributeDefinition`, `SAML2NameIDAttributeDefinition`, `ScopedAttributeDefinition`, `ScriptedAttributeDefinition`, `SimpleAttributeDefinition`, `StaticAttributeDefinition`, `TemplateAttributeDefinition`, `TestSources.StaticAttributeDefinition`

@ThreadSafe public interface AttributeDefinition extends ResolverPlugin<IdPAttribute>
Definition of attribute definition resolver plugins.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isDependencyOnly()`
Gets whether this attribute definition is only a dependency and thus its values should never be released outside the resolver.
`boolean`
`isPreRequested()`
Gets whether this attribute definition has to be resolved prior in a first pass (in order to prime contexts which can be used in the "main pass").

### Methods inherited from interface net.shibboleth.shared.component.DestructableComponent

`destroy, isDestroyed`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

### Methods inherited from interface net.shibboleth.idp.attribute.resolver.ResolverPlugin

`getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, isPropagateResolutionExceptions, resolve`

## Method Details

### isDependencyOnly

boolean isDependencyOnly()
Gets whether this attribute definition is only a dependency and thus its values should never be released outside the resolver.

Returns:
  true if this attribute is only used as a dependency, false otherwise

### isPreRequested

boolean isPreRequested()
Gets whether this attribute definition has to be resolved prior in a first pass (in order to prime contexts which can be used in the "main pass").

Returns:
  true if this is a definition to be done "first"