T
- The type of configuration handled by this virtual attribute provider.@PublicAPI(stability=VOLATILE, mayExtend=true) public abstract class VirtualAttributeProvider<T extends VirtualAttributeCfg> extends Object
Constructor and Description |
---|
VirtualAttributeProvider() |
Modifier and Type | Method and Description |
---|---|
void |
finalizeVirtualAttributeProvider()
Performs any finalization that may be necessary whenever this virtual attribute provider is taken out of service.
|
abstract Attribute |
getAttribute(Entry entry,
AttributeDescription attributeDescription)
Generates an unmodifiable attribute with the values for the provided entry.
|
void |
initializeVirtualAttributeProvider(T configuration)
Initializes this virtual attribute based on the information in the provided configuration entry.
|
boolean |
isConfigurationAcceptable(T configuration,
List<LocalizableMessage> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this virtual attribute provider.
|
abstract boolean |
isMultiValued()
Indicates whether this virtual attribute provider may generate multiple values.
|
boolean |
isSearchable(AttributeDescription attributeDescription,
SearchOperation searchOperation,
boolean isPreIndexed)
Indicates whether this attribute may be included in search filters as part of the criteria for locating entries.
|
void |
processSearch(AttributeDescription attributeDescription,
SearchOperation searchOperation)
Processes the provided search operation in which the search criteria includes an operation targeted at this
virtual attribute.
|
public void initializeVirtualAttributeProvider(T configuration) throws ConfigException, InitializationException
configuration
- The configuration to use to initialize this virtual attribute provider.ConfigException
- If an unrecoverable problem arises in the process of performing the initialization.InitializationException
- If a problem occurs during initialization that is not related to the server configuration.public boolean isConfigurationAcceptable(T configuration, List<LocalizableMessage> unacceptableReasons)
configuration
- The virtual attribute provider configuration for which to make the determination.unacceptableReasons
- A list that may be used to hold the reasons that the provided configuration is not acceptable.true
if the provided configuration is acceptable for this virtual attribute provider, or
false
if not.public void finalizeVirtualAttributeProvider()
public abstract Attribute getAttribute(Entry entry, AttributeDescription attributeDescription)
entry
- The entry for which the values are to be generated.attributeDescription
- the attribute description corresponding to this virtual attributenull
.public abstract boolean isMultiValued()
true
if this virtual attribute provider may generate multiple values, or false
if not.public boolean isSearchable(AttributeDescription attributeDescription, SearchOperation searchOperation, boolean isPreIndexed)
attributeDescription
- the attribute description corresponding to this virtual attributesearchOperation
- The search operation for which to make the determination.isPreIndexed
- Indicates if we expect the search on the virtual attribute to be faster than an index search.true
if this attribute may be included in search filters, or false
if not.public void processSearch(AttributeDescription attributeDescription, SearchOperation searchOperation)
isSearchable
returns true and it is not possible
to construct a manageable candidate list by processing other elements of the search criteria.attributeDescription
- the attribute description corresponding to this virtual attributesearchOperation
- The search operation to be processed.Copyright 2010-2022 ForgeRock AS.