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>
- All Known Implementing Classes:
TransformablePropertyDefinition.RefinedAttribute
,TransformablePropertyDefinition.ResourceAttribute
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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
canAdd(LayerType layer)
Is adding allowed (at specified layer)?default boolean
canModify(LayerType layer)
Is modification allowed (at specified layer)?default boolean
canRead(LayerType layer)
Is reading allowed (at specified layer)?default String
debugDump(int indent, LayerType layer)
Provides a debug dump respective to the given layer.default ResourceAttributeDefinition<T>
deepClone(@NotNull DeepCloneOperation operation)
TODO documentResourceAttributeDefinition<T>
delegate()
default @NotNull ResourceAttributeDefinition<T>
forLayer(@NotNull LayerType layer)
Creates a view of the current definition for a given layer.default @Nullable ItemCorrelatorDefinitionType
getCorrelatorDefinition()
default @NotNull LayerType
getCurrentLayer()
Gets the current point-of-view: on which layer do we look at the data?default String
getDescription()
Gets the (configured) attribute description.default AttributeFetchStrategyType
getFetchStrategy()
Returns configured fetch strategy.default String
getFrameworkAttributeName()
Returns name of the attribute as given in the connector framework.default @NotNull List<InboundMappingType>
getInboundMappingBeans()
Gets the inbound mappings (if any).default @NotNull List<String>
getIntolerantValuePatterns()
Gets patterns for values that are not "tolerated" on the resource.default 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
getModificationPriority()
Determines the order in which this attribute should be modified (in very special cases).default String
getNativeAttributeName()
Returns native attribute name.default @Nullable MappingType
getOutboundMappingBean()
Gets the outbound mapping, if defined.default ItemProcessing
getProcessing(LayerType layer)
Gets the level of processing for specified layer.default RawResourceAttributeDefinition<T>
getRawAttributeDefinition()
Gets the original (raw) attribute definition.default Boolean
getReadReplaceMode()
Should be this attribute modified solely in "replace" mode?default Boolean
getReturnedByDefault()
Is this attribute returned by default? (I.e.default @NotNull AttributeStorageStrategyType
getStorageStrategy()
Returns configured storage strategy.default @NotNull List<String>
getTolerantValuePatterns()
Gets patterns for values that are "tolerated" on the resource.default boolean
hasOutboundMapping()
default @NotNull ResourceAttribute<T>
instantiate()
Create an item instance.default @NotNull ResourceAttribute<T>
instantiate(QName name)
Create an item instance.default boolean
isDisplayNameAttribute()
Is this attribute configured to serve as a display name?default boolean
isExclusiveStrong()
Drives behavior of strong and normal mappings for this attribute.default boolean
isIgnored(LayerType layer)
Is the attribute ignored (at specified layer)?default boolean
isMandatory(LayerType layer)
default boolean
isMultiValue(LayerType layer)
default boolean
isOptional(LayerType layer)
default Boolean
isSecondaryIdentifierOverride()
Is this attribute designated as a secondary identifier via `schemaHandling`?default boolean
isSingleValue(LayerType layer)
default boolean
isTolerant()
When set to true, allows to preserve attribute values that are set outside midPoint.default boolean
isVolatilityTrigger()
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, 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
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, 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, spawnModifyingRaw, toMutable
-
-
-
-
Method Detail
-
delegate
ResourceAttributeDefinition<T> delegate()
- Specified by:
delegate
in interfaceDefinitionDelegator
- Specified by:
delegate
in interfaceItemDefinitionDelegator<T>
- Specified by:
delegate
in interfacePropertyDefinitionDelegator<T>
-
getReturnedByDefault
default Boolean 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
default String 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
default String 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
@NotNull default @NotNull ResourceAttribute<T> 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
@NotNull default @NotNull ResourceAttribute<T> instantiate(QName name)
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
default String debugDump(int indent, LayerType layer)
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
default PropertyLimitations getLimitations(LayerType layer)
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:
ItemRefinedDefinitionType.getLimitations()
-
getFetchStrategy
default AttributeFetchStrategyType getFetchStrategy()
Description copied from interface:ResourceAttributeDefinition
Returns configured fetch strategy.- Specified by:
getFetchStrategy
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.getFetchStrategy()
-
getStorageStrategy
@NotNull default @NotNull AttributeStorageStrategyType getStorageStrategy()
Description copied from interface:ResourceAttributeDefinition
Returns configured storage strategy.- Specified by:
getStorageStrategy
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.getStorageStrategy()
-
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:
ResourceItemDefinitionType.isVolatilityTrigger()
-
getModificationPriority
default Integer 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:
ResourceItemDefinitionType.getModificationPriority()
-
getReadReplaceMode
default Boolean getReadReplaceMode()
Description copied from interface:ResourceAttributeDefinition
Should be this attribute modified solely in "replace" mode?- Specified by:
getReadReplaceMode
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.isReadReplaceMode()
-
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:
ItemRefinedDefinitionType.isTolerant()
-
isSecondaryIdentifierOverride
default Boolean isSecondaryIdentifierOverride()
Description copied from interface:ResourceAttributeDefinition
Is this attribute designated as a secondary identifier via `schemaHandling`?- Specified by:
isSecondaryIdentifierOverride
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.isSecondaryIdentifier()
-
canAdd
default boolean canAdd(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Is adding allowed (at specified layer)?- Specified by:
canAdd
in interfaceResourceAttributeDefinition<T>
- See Also:
PrismItemAccessDefinition.canAdd()
-
canRead
default boolean canRead(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Is reading allowed (at specified layer)?- Specified by:
canRead
in interfaceResourceAttributeDefinition<T>
- See Also:
PrismItemAccessDefinition.canRead()
-
canModify
default boolean canModify(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Is modification allowed (at specified layer)?- Specified by:
canModify
in interfaceResourceAttributeDefinition<T>
- See Also:
PrismItemAccessDefinition.canModify()
-
isIgnored
default boolean isIgnored(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Is the attribute ignored (at specified layer)?- Specified by:
isIgnored
in interfaceResourceAttributeDefinition<T>
-
getProcessing
default ItemProcessing getProcessing(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Gets the level of processing for specified layer.- Specified by:
getProcessing
in interfaceResourceAttributeDefinition<T>
- See Also:
Definition.getProcessing()
-
getDescription
default String getDescription()
Description copied from interface:ResourceAttributeDefinition
Gets the (configured) attribute description.- Specified by:
getDescription
in interfaceResourceAttributeDefinition<T>
- See Also:
ItemRefinedDefinitionType.getDescription()
-
getRawAttributeDefinition
default RawResourceAttributeDefinition<T> getRawAttributeDefinition()
Description copied from interface:ResourceAttributeDefinition
Gets the original (raw) attribute definition.- Specified by:
getRawAttributeDefinition
in interfaceResourceAttributeDefinition<T>
-
getOutboundMappingBean
@Nullable default @Nullable MappingType getOutboundMappingBean()
Description copied from interface:ResourceAttributeDefinition
Gets the outbound mapping, if defined.- Specified by:
getOutboundMappingBean
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.getOutbound()
-
hasOutboundMapping
default boolean hasOutboundMapping()
- Specified by:
hasOutboundMapping
in interfaceResourceAttributeDefinition<T>
-
getInboundMappingBeans
@NotNull default @NotNull List<InboundMappingType> getInboundMappingBeans()
Description copied from interface:ResourceAttributeDefinition
Gets the inbound mappings (if any).- Specified by:
getInboundMappingBeans
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceItemDefinitionType.getInbound()
-
getMaxOccurs
default int getMaxOccurs(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Gets `maxOccurs` limitation for given layer.- Specified by:
getMaxOccurs
in interfaceResourceAttributeDefinition<T>
- See Also:
ItemDefinition.getMaxOccurs()
-
getMinOccurs
default int getMinOccurs(LayerType layer)
Description copied from interface:ResourceAttributeDefinition
Gets `minOccurs` limitation for given layer.- Specified by:
getMinOccurs
in interfaceResourceAttributeDefinition<T>
-
isOptional
default boolean isOptional(LayerType layer)
- Specified by:
isOptional
in interfaceResourceAttributeDefinition<T>
-
isMandatory
default boolean isMandatory(LayerType layer)
- Specified by:
isMandatory
in interfaceResourceAttributeDefinition<T>
-
isMultiValue
default boolean isMultiValue(LayerType layer)
- Specified by:
isMultiValue
in interfaceResourceAttributeDefinition<T>
-
isSingleValue
default boolean isSingleValue(LayerType layer)
- 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:
ResourceItemDefinitionType.isExclusiveStrong()
-
getTolerantValuePatterns
@NotNull default @NotNull List<String> getTolerantValuePatterns()
Description copied from interface:ResourceAttributeDefinition
Gets patterns for values that are "tolerated" on the resource.- Specified by:
getTolerantValuePatterns
in interfaceResourceAttributeDefinition<T>
- See Also:
ResourceAttributeDefinition.isTolerant()
,ItemRefinedDefinitionType.getTolerantValuePattern()
-
getIntolerantValuePatterns
@NotNull default @NotNull List<String> 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:
ResourceAttributeDefinition.isTolerant()
,ItemRefinedDefinitionType.getIntolerantValuePattern()
-
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:
ResourceItemDefinitionType.isDisplayNameAttribute()
-
getCorrelatorDefinition
@Nullable default @Nullable ItemCorrelatorDefinitionType getCorrelatorDefinition()
- Specified by:
getCorrelatorDefinition
in interfaceResourceAttributeDefinition<T>
- See Also:
()
-
deepClone
default ResourceAttributeDefinition<T> deepClone(@NotNull @NotNull DeepCloneOperation operation)
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
default void setOverrideCanRead(Boolean value)
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
default void setOverrideCanAdd(Boolean value)
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
default void setOverrideCanModify(Boolean value)
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
@NotNull default @NotNull LayerType 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
-
-