Interface AttributeDefinitionDelegator<T>
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,DefinitionDelegator
,Freezable
,ItemDefinition<PrismProperty<T>>
,ItemDefinitionDelegator<PrismProperty<T>>
,LayeredDefinition
,PrismContextSensitive
,PrismItemAccessDefinition
,PrismPropertyDefinition<T>
,PropertyDefinitionDelegator<T>
,RawResourceAttributeDefinition<T>
,ResourceAttributeDefinition<T>
,Revivable
,Serializable
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Subinterfaces:
RefinedAttributeDefinitionDelegator<T>
public interface AttributeDefinitionDelegator<T>
extends PropertyDefinitionDelegator<T>, ResourceAttributeDefinition<T>
-
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 TypeMethodDescriptiondefault boolean
Is adding allowed (at specified layer)?default boolean
Is modification allowed (at specified layer)?default boolean
Is reading allowed (at specified layer)?default String
Provides a debug dump respective to the given layer.default ResourceAttributeDefinition<T>
deepClone
(@NotNull DeepCloneOperation operation) TODO documentdelegate()
default @NotNull ResourceAttributeDefinition<T>
Creates a view of the current definition for a given layer.default @Nullable ItemChangeApplicationModeType
TODOdefault @Nullable ItemCorrelatorDefinitionType
default @NotNull LayerType
Gets the current point-of-view: on which layer do we look at the data?default String
Gets the (configured) attribute description.default AttributeFetchStrategyType
Returns configured fetch strategy.default String
Returns name of the attribute as given in the connector framework.default @NotNull List<InboundMappingType>
Gets the inbound mappings (if any).Gets patterns for values that are not "tolerated" on the resource.default @Nullable String
TODOdefault PropertyLimitations
getLimitations
(LayerType layer) Returns limitations (cardinality, access rights, processing) for given layer.default int
getMaxOccurs
(LayerType layer) Gets `maxOccurs` limitation for given layer.default int
getMinOccurs
(LayerType layer) Gets `minOccurs` limitation for given layer.default Integer
Determines the order in which this attribute should be modified (in very special cases).default String
Returns native attribute name.default @Nullable MappingType
Gets the outbound mapping, if defined.default ItemProcessing
getProcessing
(LayerType layer) Gets the level of processing for specified layer.default RawResourceAttributeDefinition<T>
Gets the original (raw) attribute definition.default Boolean
Should be this attribute modified solely in "replace" mode?default Boolean
Is this attribute returned by default? (I.e.default @NotNull AttributeStorageStrategyType
Returns configured storage strategy.Gets patterns for values that are "tolerated" on the resource.default boolean
default @NotNull ResourceAttribute<T>
Create an item instance.default @NotNull ResourceAttribute<T>
instantiate
(QName name) Create an item instance.default boolean
Is this attribute configured to serve as a display name?default 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) default Boolean
Is this attribute designated as a secondary identifier via `schemaHandling`?default boolean
isSingleValue
(LayerType layer) default boolean
When set to true, allows to preserve attribute values that are set outside midPoint.default boolean
Is this attribute so-called volatility trigger, i.e.default void
setOverrideCanAdd
(Boolean value) Provides a value that will overrideResourceAttributeDefinition.canAdd(LayerType)
return values (for all layers).default void
setOverrideCanModify
(Boolean value) Provides a value that will overrideResourceAttributeDefinition.canModify(LayerType)
return values (for all layers).default void
setOverrideCanRead
(Boolean value) Provides a value that will overrideResourceAttributeDefinition.canRead(LayerType)
return values (for all layers).Methods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getPrismContext, 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
isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.prism.deleg.ItemDefinitionDelegator
adoptElementDefinitionFrom, canAdd, canBeDefinitionOf, canBeDefinitionOf, canModify, canRead, debugDumpShortToString, findItemDefinition, getDiagrams, getItemName, getMaxOccurs, getMinOccurs, getSubstitutionHead, getValueEnumerationRef, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isOperational, isSearchable, isValidFor, structuredType
Methods inherited from interface com.evolveum.midpoint.prism.PrismPropertyDefinition
createEmptyDelta, getTypeClass, isAnyType
Methods inherited from interface com.evolveum.midpoint.prism.deleg.PropertyDefinitionDelegator
createEmptyDelta, defaultValue, getAllowedValues, getMatchingRuleQName, getSuggestedValues, getTypeClass, isIndexed
Methods inherited from interface com.evolveum.midpoint.schema.processor.RawResourceAttributeDefinition
isReturnedByDefault
Methods inherited from interface com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition
clone, isVisible, spawnModifyingRaw, toMutable
-
Method Details
-
delegate
ResourceAttributeDefinition<T> delegate()- Specified by:
delegate
in interfaceDefinitionDelegator
- Specified by:
delegate
in interfaceItemDefinitionDelegator<T>
- Specified by:
delegate
in interfacePropertyDefinitionDelegator<T>
-
getReturnedByDefault
Description copied from interface:RawResourceAttributeDefinition
Is this attribute returned by default? (I.e. if no specific options are sent to the connector?)- Specified by:
getReturnedByDefault
in interfaceRawResourceAttributeDefinition<T>
-
getNativeAttributeName
Description copied from interface:RawResourceAttributeDefinition
Returns native attribute name. Native name of the attribute is a name as it is used on the resource or as seen by the connector. It is used for diagnostics purposes and may be used by the connector itself. As the attribute names in XSD have to comply with XML element name limitations, this may be the only way how to determine original attribute name. Returns null if native attribute name is not set or unknown. The name should be the same as the one used by the resource, if the resource supports naming of attributes. E.g. in case of LDAP this annotation should contain "cn", "givenName", etc. If the resource is not that flexible, the native attribute names may be hardcoded (e.g. "username", "homeDirectory") or may not be present at all.- Specified by:
getNativeAttributeName
in interfaceRawResourceAttributeDefinition<T>
- Returns:
- native attribute name
-
getFrameworkAttributeName
Description copied from interface:RawResourceAttributeDefinition
Returns name of the attribute as given in the connector framework. This is not used for any significant logic. It is mostly for diagnostics.- Specified by:
getFrameworkAttributeName
in interfaceRawResourceAttributeDefinition<T>
- Returns:
- name of the attribute as given in the connector framework.
-
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 interfaceItemDefinitionDelegator<T>
- Specified by:
instantiate
in interfacePrismPropertyDefinition<T>
- Specified by:
instantiate
in interfacePropertyDefinitionDelegator<T>
- Specified by:
instantiate
in interfaceRawResourceAttributeDefinition<T>
- Specified by:
instantiate
in interfaceResourceAttributeDefinition<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 interfaceItemDefinitionDelegator<T>
- Specified by:
instantiate
in interfacePrismPropertyDefinition<T>
- Specified by:
instantiate
in interfacePropertyDefinitionDelegator<T>
- Specified by:
instantiate
in interfaceRawResourceAttributeDefinition<T>
- Specified by:
instantiate
in interfaceResourceAttributeDefinition<T>
-
debugDump
Description copied from interface:ResourceAttributeDefinition
Provides a debug dump respective to the given layer. TODO reconsider this method- Specified by:
debugDump
in interfaceResourceAttributeDefinition<T>
-
getLimitations
Description copied from interface:ResourceAttributeDefinition
Returns limitations (cardinality, access rights, processing) for given layer. These are obtained from resource and/or explicitly configured.- Specified by:
getLimitations
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getFetchStrategy
Description copied from interface:ResourceAttributeDefinition
Returns configured fetch strategy.- Specified by:
getFetchStrategy
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getStorageStrategy
Description copied from interface:ResourceAttributeDefinition
Returns configured storage strategy.- Specified by:
getStorageStrategy
in interfaceResourceAttributeDefinition<T>
- See Also:
-
isVolatilityTrigger
default boolean isVolatilityTrigger()Description copied from interface:ResourceAttributeDefinition
Is this attribute so-called volatility trigger, i.e. may its changes cause changes in other attributes?- Specified by:
isVolatilityTrigger
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getModificationPriority
Description copied from interface:ResourceAttributeDefinition
Determines the order in which this attribute should be modified (in very special cases).- Specified by:
getModificationPriority
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getReadReplaceMode
Description copied from interface:ResourceAttributeDefinition
Should be this attribute modified solely in "replace" mode?- Specified by:
getReadReplaceMode
in interfaceResourceAttributeDefinition<T>
- See Also:
-
isTolerant
default boolean isTolerant()Description copied from interface:ResourceAttributeDefinition
When set to true, allows to preserve attribute values that are set outside midPoint.- Specified by:
isTolerant
in interfaceResourceAttributeDefinition<T>
- See Also:
-
isSecondaryIdentifierOverride
Description copied from interface:ResourceAttributeDefinition
Is this attribute designated as a secondary identifier via `schemaHandling`?- Specified by:
isSecondaryIdentifierOverride
in interfaceResourceAttributeDefinition<T>
- See Also:
-
canAdd
Description copied from interface:ResourceAttributeDefinition
Is adding allowed (at specified layer)?- Specified by:
canAdd
in interfaceResourceAttributeDefinition<T>
- See Also:
-
canRead
Description copied from interface:ResourceAttributeDefinition
Is reading allowed (at specified layer)?- Specified by:
canRead
in interfaceResourceAttributeDefinition<T>
- See Also:
-
canModify
Description copied from interface:ResourceAttributeDefinition
Is modification allowed (at specified layer)?- Specified by:
canModify
in interfaceResourceAttributeDefinition<T>
- See Also:
-
isIgnored
Description copied from interface:ResourceAttributeDefinition
Is the attribute ignored (at specified layer)?- Specified by:
isIgnored
in interfaceResourceAttributeDefinition<T>
-
getProcessing
Description copied from interface:ResourceAttributeDefinition
Gets the level of processing for specified layer.- Specified by:
getProcessing
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getDescription
Description copied from interface:ResourceAttributeDefinition
Gets the (configured) attribute description.- Specified by:
getDescription
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getRawAttributeDefinition
Description copied from interface:ResourceAttributeDefinition
Gets the original (raw) attribute definition.- Specified by:
getRawAttributeDefinition
in interfaceResourceAttributeDefinition<T>
-
getOutboundMappingBean
Description copied from interface:ResourceAttributeDefinition
Gets the outbound mapping, if defined.- Specified by:
getOutboundMappingBean
in interfaceResourceAttributeDefinition<T>
- See Also:
-
hasOutboundMapping
default boolean hasOutboundMapping()- Specified by:
hasOutboundMapping
in interfaceResourceAttributeDefinition<T>
-
getInboundMappingBeans
Description copied from interface:ResourceAttributeDefinition
Gets the inbound mappings (if any).- Specified by:
getInboundMappingBeans
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getMaxOccurs
Description copied from interface:ResourceAttributeDefinition
Gets `maxOccurs` limitation for given layer.- Specified by:
getMaxOccurs
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getMinOccurs
Description copied from interface:ResourceAttributeDefinition
Gets `minOccurs` limitation for given layer.- Specified by:
getMinOccurs
in interfaceResourceAttributeDefinition<T>
-
isOptional
- Specified by:
isOptional
in interfaceResourceAttributeDefinition<T>
-
isMandatory
- Specified by:
isMandatory
in interfaceResourceAttributeDefinition<T>
-
isMultiValue
- Specified by:
isMultiValue
in interfaceResourceAttributeDefinition<T>
-
isSingleValue
- Specified by:
isSingleValue
in interfaceResourceAttributeDefinition<T>
-
isExclusiveStrong
default boolean isExclusiveStrong()Description copied from interface:ResourceAttributeDefinition
Drives behavior of strong and normal mappings for this attribute.- Specified by:
isExclusiveStrong
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getTolerantValuePatterns
Description copied from interface:ResourceAttributeDefinition
Gets patterns for values that are "tolerated" on the resource.- Specified by:
getTolerantValuePatterns
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getIntolerantValuePatterns
Description copied from interface:ResourceAttributeDefinition
Gets patterns for values that are not "tolerated" on the resource.- Specified by:
getIntolerantValuePatterns
in interfaceResourceAttributeDefinition<T>
- See Also:
-
isDisplayNameAttribute
default boolean isDisplayNameAttribute()Description copied from interface:ResourceAttributeDefinition
Is this attribute configured to serve as a display name?- Specified by:
isDisplayNameAttribute
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getCorrelatorDefinition
- Specified by:
getCorrelatorDefinition
in interfaceResourceAttributeDefinition<T>
- See Also:
-
getChangeApplicationMode
Description copied from interface:ResourceAttributeDefinition
TODO- Specified by:
getChangeApplicationMode
in interfaceResourceAttributeDefinition<T>
-
getLifecycleState
Description copied from interface:ResourceAttributeDefinition
TODO- Specified by:
getLifecycleState
in interfaceResourceAttributeDefinition<T>
-
deepClone
Description copied from interface:ItemDefinition
TODO document- Specified by:
deepClone
in interfaceItemDefinition<T>
- Specified by:
deepClone
in interfaceItemDefinitionDelegator<T>
- Specified by:
deepClone
in interfaceResourceAttributeDefinition<T>
-
setOverrideCanRead
Description copied from interface:ResourceAttributeDefinition
Provides a value that will overrideResourceAttributeDefinition.canRead(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanRead
in interfaceResourceAttributeDefinition<T>
-
setOverrideCanAdd
Description copied from interface:ResourceAttributeDefinition
Provides a value that will overrideResourceAttributeDefinition.canAdd(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanAdd
in interfaceResourceAttributeDefinition<T>
-
setOverrideCanModify
Description copied from interface:ResourceAttributeDefinition
Provides a value that will overrideResourceAttributeDefinition.canModify(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanModify
in interfaceResourceAttributeDefinition<T>
-
forLayer
@NotNull default @NotNull ResourceAttributeDefinition<T> forLayer(@NotNull @NotNull LayerType layer) Description copied from interface:ResourceAttributeDefinition
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.)- Specified by:
forLayer
in interfaceResourceAttributeDefinition<T>
-
getCurrentLayer
Description copied from interface:LayeredDefinition
Gets the current point-of-view: on which layer do we look at the data?- Specified by:
getCurrentLayer
in interfaceLayeredDefinition
-