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 TypeMethodDescriptionbooleanIs adding allowed (at specified layer)?booleanIs modification allowed (at specified layer)?booleanIs 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 ItemChangeApplicationModeTypeTODO@Nullable ItemCorrelatorDefinitionTypeGets 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 StringTODOgetLimitations(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.Determines the order in which this attribute should be modified (in very special cases).@Nullable MappingTypeGets 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 AttributeStorageStrategyTypeReturns 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.booleanIs this attribute configured to serve as a display name?booleanDrives behavior of strong and normal mappings for this attribute.default booleanIs the attribute ignored (at specified layer)?default booleanisMandatory(LayerType layer) default booleanisMultiValue(LayerType layer) default booleanisOptional(LayerType layer) Is this attribute designated as a secondary identifier via `schemaHandling`?default booleanisSingleValue(LayerType layer) booleanWhen set to true, allows to preserve attribute values that are set outside midPoint.default booleanisVisible(@NotNull TaskExecutionMode taskExecutionMode) TODObooleanIs 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>Returns an interface to mutate this definition.Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods 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, setAnnotationMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods 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, structuredTypeMethods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayerMethods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitive
getPrismContextMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canReadMethods inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
createEmptyDelta, defaultValue, getAllowedValues, getMatchingRuleQName, getSuggestedValues, getTypeClass, isAnyType, isIndexedMethods inherited from interface com.evolveum.midpoint.schema.processor.RawResourceAttributeDefinition
getFrameworkAttributeName, getNativeAttributeName, getReturnedByDefault, isReturnedByDefaultMethods 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: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
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
- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceItemDefinition<T>- Specified by:
clonein interfacePrismPropertyDefinition<T>
-
deepClone
Description copied from interface:ItemDefinitionTODO document- Specified by:
deepClonein interfaceItemDefinition<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
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
-