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. See
Definition
for more details.- See Also:
-
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
Modifier and TypeMethodDescriptionboolean
Is adding allowed (at specified layer)?boolean
Is modification allowed (at specified layer)?boolean
Is reading allowed (at specified layer)?@NotNull ResourceAttributeDefinition<T>
clone()
Provides a debug dump respective to the given layer.deepClone
(@NotNull DeepCloneOperation operation) TODO document@NotNull ResourceAttributeDefinition<T>
Creates a view of the current definition for a given layer.@Nullable ItemChangeApplicationModeType
TODO@Nullable ItemCorrelatorDefinitionType
Gets the (configured) attribute description.Returns configured fetch strategy.@NotNull List<InboundMappingType>
Gets the inbound mappings (if any).Gets patterns for values that are not "tolerated" on the resource.@Nullable String
TODOgetLimitations
(LayerType layer) Returns limitations (cardinality, access rights, processing) for given layer.int
getMaxOccurs
(LayerType layer) Gets `maxOccurs` limitation for given layer.int
getMinOccurs
(LayerType layer) Gets `minOccurs` limitation for given layer.Determines the order in which this attribute should be modified (in very special cases).@Nullable MappingType
Gets the outbound mapping, if defined.getProcessing
(LayerType layer) Gets the level of processing for specified layer.Gets the original (raw) attribute definition.Should be this attribute modified solely in "replace" mode?@NotNull AttributeStorageStrategyType
Returns configured storage strategy.Gets patterns for values that are "tolerated" on the resource.default boolean
@NotNull ResourceAttribute<T>
Create an item instance.@NotNull ResourceAttribute<T>
instantiate
(QName name) Create an item instance.boolean
Is this attribute configured to serve as a display name?boolean
Drives behavior of strong and normal mappings for this attribute.default boolean
Is the attribute ignored (at specified layer)?default boolean
isMandatory
(LayerType layer) default boolean
isMultiValue
(LayerType layer) default boolean
isOptional
(LayerType layer) Is this attribute designated as a secondary identifier via `schemaHandling`?default boolean
isSingleValue
(LayerType layer) boolean
When set to true, allows to preserve attribute values that are set outside midPoint.default boolean
isVisible
(@NotNull TaskExecutionMode taskExecutionMode) TODOboolean
Is this attribute so-called volatility trigger, i.e.void
setOverrideCanAdd
(Boolean value) Provides a value that will overridecanAdd(LayerType)
return values (for all layers).void
setOverrideCanModify
(Boolean value) Provides a value that will overridecanModify(LayerType)
return values (for all layers).void
setOverrideCanRead
(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>
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, getRemovedSince, getSchemaMigrations, getSchemaRegistry, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, 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, isSearchable, 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 Details
-
getLimitations
Returns limitations (cardinality, access rights, processing) for given layer. These are obtained from resource and/or explicitly configured. -
getProcessing
Gets the level of processing for specified layer.- See Also:
-
isIgnored
Is the attribute ignored (at specified layer)? -
getMaxOccurs
Gets `maxOccurs` limitation for given layer.- See Also:
-
getMinOccurs
Gets `minOccurs` limitation for given layer. -
isOptional
-
isMandatory
-
isMultiValue
-
isSingleValue
-
canAdd
Is adding allowed (at specified layer)?- See Also:
-
canRead
Is reading allowed (at specified layer)?- See Also:
-
canModify
Is modification allowed (at specified layer)?- See Also:
-
getFetchStrategy
AttributeFetchStrategyType getFetchStrategy()Returns configured fetch strategy. -
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
Description copied from interface:ItemDefinition
Create 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:
instantiate
in interfaceItemDefinition<T>
- Specified by:
instantiate
in interfacePrismPropertyDefinition<T>
- Specified by:
instantiate
in interfaceRawResourceAttributeDefinition<T>
-
instantiate
Description copied from interface:ItemDefinition
Create an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiate
in interfaceItemDefinition<T>
- Specified by:
instantiate
in interfacePrismPropertyDefinition<T>
- Specified by:
instantiate
in interfaceRawResourceAttributeDefinition<T>
-
clone
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<T>
- Specified by:
clone
in interfacePrismPropertyDefinition<T>
-
deepClone
Description copied from interface:ItemDefinition
TODO document- Specified by:
deepClone
in interfaceItemDefinition<T>
-
toMutable
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
toMutable
in interfaceDefinition
- Specified by:
toMutable
in interfaceItemDefinition<T>
- Specified by:
toMutable
in interfacePrismPropertyDefinition<T>
-
debugDump
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
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
Provides a value that will overridecanRead(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition. -
setOverrideCanAdd
Provides a value that will overridecanAdd(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition. -
setOverrideCanModify
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:
-
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
Gets the outbound mapping, if defined.- See Also:
-
hasOutboundMapping
default boolean hasOutboundMapping() -
getInboundMappingBeans
Gets the inbound mappings (if any).- See Also:
-
isExclusiveStrong
boolean isExclusiveStrong()Drives behavior of strong and normal mappings for this attribute. -
getTolerantValuePatterns
Gets patterns for values that are "tolerated" on the resource. -
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
-
getChangeApplicationMode
TODO -
getLifecycleState
TODO -
isVisible
TODO
-