Interface ResourceAttributeDefinition<T>
-
- All Superinterfaces:
Cloneable,DebugDumpable,Definition,Freezable,ItemDefinition<PrismProperty<T>>,LayeredDefinition,PrismContextSensitive,PrismItemAccessDefinition,PrismPropertyDefinition<T>,RawResourceAttributeDefinition<T>,Revivable,Serializable,SmartVisitable<Definition>,Visitable<Definition>
- All Known Subinterfaces:
AttributeDefinitionDelegator<T>,RefinedAttributeDefinitionDelegator<T>,ResourceAttributeWrapper<T>
- All Known Implementing Classes:
ResourceAttributeDefinitionImpl,ResourceAttributeWrapperImpl,TransformablePropertyDefinition.RefinedAttribute,TransformablePropertyDefinition.ResourceAttribute
public interface ResourceAttributeDefinition<T> extends PrismPropertyDefinition<T>, RawResourceAttributeDefinition<T>, LayeredDefinition
Information about a resource attribute that is available from the connector and optionally refined by configuration in resource `schemaHandling` section. For clarity, the information is categorized into: - data obtainable from the resource:RawResourceAttributeDefinition, - full information available (this interface) This class represents schema definition for resource object attribute. SeeDefinitionfor more details.- See Also:
ResourceAttribute
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Mutable
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleancanAdd(LayerType layer)Is adding allowed (at specified layer)?booleancanModify(LayerType layer)Is modification allowed (at specified layer)?booleancanRead(LayerType layer)Is reading allowed (at specified layer)?@NotNull ResourceAttributeDefinition<T>clone()StringdebugDump(int indent, LayerType layer)Provides a debug dump respective to the given layer.ResourceAttributeDefinition<T>deepClone(@NotNull DeepCloneOperation operation)TODO document@NotNull ResourceAttributeDefinition<T>forLayer(@NotNull LayerType layer)Creates a view of the current definition for a given layer.@Nullable ItemCorrelatorDefinitionTypegetCorrelatorDefinition()StringgetDescription()Gets the (configured) attribute description.AttributeFetchStrategyTypegetFetchStrategy()Returns configured fetch strategy.@NotNull List<InboundMappingType>getInboundMappingBeans()Gets the inbound mappings (if any).@NotNull List<String>getIntolerantValuePatterns()Gets patterns for values that are not "tolerated" on the resource.PropertyLimitationsgetLimitations(LayerType layer)Returns limitations (cardinality, access rights, processing) for given layer.intgetMaxOccurs(LayerType layer)Gets `maxOccurs` limitation for given layer.intgetMinOccurs(LayerType layer)Gets `minOccurs` limitation for given layer.IntegergetModificationPriority()Determines the order in which this attribute should be modified (in very special cases).@Nullable MappingTypegetOutboundMappingBean()Gets the outbound mapping, if defined.ItemProcessinggetProcessing(LayerType layer)Gets the level of processing for specified layer.RawResourceAttributeDefinition<T>getRawAttributeDefinition()Gets the original (raw) attribute definition.BooleangetReadReplaceMode()Should be this attribute modified solely in "replace" mode?@NotNull AttributeStorageStrategyTypegetStorageStrategy()Returns configured storage strategy.@NotNull List<String>getTolerantValuePatterns()Gets patterns for values that are "tolerated" on the resource.default booleanhasOutboundMapping()@NotNull ResourceAttribute<T>instantiate()Create an item instance.@NotNull ResourceAttribute<T>instantiate(QName name)Create an item instance.booleanisDisplayNameAttribute()Is this attribute configured to serve as a display name?booleanisExclusiveStrong()Drives behavior of strong and normal mappings for this attribute.default booleanisIgnored(LayerType layer)Is the attribute ignored (at specified layer)?default booleanisMandatory(LayerType layer)default booleanisMultiValue(LayerType layer)default booleanisOptional(LayerType layer)BooleanisSecondaryIdentifierOverride()Is this attribute designated as a secondary identifier via `schemaHandling`?default booleanisSingleValue(LayerType layer)booleanisTolerant()When set to true, allows to preserve attribute values that are set outside midPoint.booleanisVolatilityTrigger()Is this attribute so-called volatility trigger, i.e.voidsetOverrideCanAdd(Boolean value)Provides a value that will overridecanAdd(LayerType)return values (for all layers).voidsetOverrideCanModify(Boolean value)Provides a value that will overridecanModify(LayerType)return values (for all layers).voidsetOverrideCanRead(Boolean value)Provides a value that will overridecanRead(LayerType)return values (for all layers).default ResourceAttributeDefinition<T>spawnModifyingRaw(@NotNull Consumer<MutableRawResourceAttributeDefinition<T>> rawPartCustomizer)Creates a copy of the definition, with a given customizer applied to the _raw_ part of the definition.@NotNull MutableRawResourceAttributeDefinition<T>toMutable()Returns an interface to mutate this definition.-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.prism.Definition
debugDump, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getProcessing, getSchemaMigrations, getSchemaRegistry, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
adoptElementDefinitionFrom, canBeDefinitionOf, canBeDefinitionOf, debugDumpShortToString, findItemDefinition, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, getValueEnumerationRef, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isMandatory, isMultiValue, isOperational, isOptional, isSingleValue, isValidFor, structuredType
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayer
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContext
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
createEmptyDelta, defaultValue, getAllowedValues, getMatchingRuleQName, getSuggestedValues, getTypeClass, isAnyType, isIndexed
-
Methods inherited from interface com.evolveum.midpoint.schema.processor.RawResourceAttributeDefinition
getFrameworkAttributeName, getNativeAttributeName, getReturnedByDefault, isReturnedByDefault
-
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
-
-
-
Method Detail
-
getLimitations
PropertyLimitations getLimitations(LayerType layer)
Returns limitations (cardinality, access rights, processing) for given layer. These are obtained from resource and/or explicitly configured.
-
getProcessing
ItemProcessing getProcessing(LayerType layer)
Gets the level of processing for specified layer.- See Also:
Definition.getProcessing()
-
isIgnored
default boolean isIgnored(LayerType layer)
Is the attribute ignored (at specified layer)?
-
getMaxOccurs
int getMaxOccurs(LayerType layer)
Gets `maxOccurs` limitation for given layer.- See Also:
ItemDefinition.getMaxOccurs()
-
getMinOccurs
int getMinOccurs(LayerType layer)
Gets `minOccurs` limitation for given layer.
-
isOptional
default boolean isOptional(LayerType layer)
-
isMandatory
default boolean isMandatory(LayerType layer)
-
isMultiValue
default boolean isMultiValue(LayerType layer)
-
isSingleValue
default boolean isSingleValue(LayerType layer)
-
canAdd
boolean canAdd(LayerType layer)
Is adding allowed (at specified layer)?- See Also:
PrismItemAccessDefinition.canAdd()
-
canRead
boolean canRead(LayerType layer)
Is reading allowed (at specified layer)?- See Also:
PrismItemAccessDefinition.canRead()
-
canModify
boolean canModify(LayerType layer)
Is modification allowed (at specified layer)?- See Also:
PrismItemAccessDefinition.canModify()
-
getFetchStrategy
AttributeFetchStrategyType getFetchStrategy()
Returns configured fetch strategy.
-
getStorageStrategy
@NotNull @NotNull AttributeStorageStrategyType getStorageStrategy()
Returns configured storage strategy.
-
isVolatilityTrigger
boolean isVolatilityTrigger()
Is this attribute so-called volatility trigger, i.e. may its changes cause changes in other attributes?
-
getModificationPriority
Integer getModificationPriority()
Determines the order in which this attribute should be modified (in very special cases).
-
getReadReplaceMode
Boolean getReadReplaceMode()
Should be this attribute modified solely in "replace" mode?
-
instantiate
@NotNull @NotNull ResourceAttribute<T> instantiate()
Description copied from interface:ItemDefinitionCreate an item instance. Definition name or default name will be used as an element name for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<T>- Specified by:
instantiatein interfacePrismPropertyDefinition<T>- Specified by:
instantiatein interfaceRawResourceAttributeDefinition<T>
-
instantiate
@NotNull @NotNull ResourceAttribute<T> instantiate(QName name)
Description copied from interface:ItemDefinitionCreate an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<T>- Specified by:
instantiatein interfacePrismPropertyDefinition<T>- Specified by:
instantiatein interfaceRawResourceAttributeDefinition<T>
-
clone
@NotNull @NotNull ResourceAttributeDefinition<T> clone()
- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceItemDefinition<T>- Specified by:
clonein interfacePrismPropertyDefinition<T>
-
deepClone
ResourceAttributeDefinition<T> deepClone(@NotNull @NotNull DeepCloneOperation operation)
Description copied from interface:ItemDefinitionTODO document- Specified by:
deepClonein interfaceItemDefinition<T>
-
toMutable
@NotNull @NotNull MutableRawResourceAttributeDefinition<T> toMutable()
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
toMutablein interfaceDefinition- Specified by:
toMutablein interfaceItemDefinition<T>- Specified by:
toMutablein interfacePrismPropertyDefinition<T>
-
debugDump
String debugDump(int indent, LayerType layer)
Provides a debug dump respective to the given layer. TODO reconsider this method
-
spawnModifyingRaw
default ResourceAttributeDefinition<T> spawnModifyingRaw(@NotNull @NotNull Consumer<MutableRawResourceAttributeDefinition<T>> rawPartCustomizer)
Creates a copy of the definition, with a given customizer applied to the _raw_ part of the definition. Should be used only in special cases, near the resource schema construction time. (So various alternate implementations of this interface need not support this method.) May not preserve all information (like access override flags).
-
forLayer
@NotNull @NotNull ResourceAttributeDefinition<T> forLayer(@NotNull @NotNull LayerType layer)
Creates a view of the current definition for a given layer. (May return even the original object e.g. if the layer matches the current one.)
-
setOverrideCanRead
void setOverrideCanRead(Boolean value)
Provides a value that will overridecanRead(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
-
setOverrideCanAdd
void setOverrideCanAdd(Boolean value)
Provides a value that will overridecanAdd(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
-
setOverrideCanModify
void setOverrideCanModify(Boolean value)
Provides a value that will overridecanModify(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
-
isTolerant
boolean isTolerant()
When set to true, allows to preserve attribute values that are set outside midPoint.- See Also:
ItemRefinedDefinitionType.isTolerant()
-
isSecondaryIdentifierOverride
Boolean isSecondaryIdentifierOverride()
Is this attribute designated as a secondary identifier via `schemaHandling`?
-
getDescription
String getDescription()
Gets the (configured) attribute description.
-
getRawAttributeDefinition
RawResourceAttributeDefinition<T> getRawAttributeDefinition()
Gets the original (raw) attribute definition.
-
getOutboundMappingBean
@Nullable @Nullable MappingType getOutboundMappingBean()
Gets the outbound mapping, if defined.- See Also:
ResourceItemDefinitionType.getOutbound()
-
hasOutboundMapping
default boolean hasOutboundMapping()
-
getInboundMappingBeans
@NotNull @NotNull List<InboundMappingType> getInboundMappingBeans()
Gets the inbound mappings (if any).- See Also:
ResourceItemDefinitionType.getInbound()
-
isExclusiveStrong
boolean isExclusiveStrong()
Drives behavior of strong and normal mappings for this attribute.
-
getTolerantValuePatterns
@NotNull @NotNull List<String> getTolerantValuePatterns()
Gets patterns for values that are "tolerated" on the resource.
-
getIntolerantValuePatterns
@NotNull @NotNull List<String> getIntolerantValuePatterns()
Gets patterns for values that are not "tolerated" on the resource.
-
isDisplayNameAttribute
boolean isDisplayNameAttribute()
Is this attribute configured to serve as a display name?
-
getCorrelatorDefinition
@Nullable @Nullable ItemCorrelatorDefinitionType getCorrelatorDefinition()
- See Also:
()
-
-