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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default booleancanAdd(LayerType layer)Is adding allowed (at specified layer)?default booleancanModify(LayerType layer)Is modification allowed (at specified layer)?default booleancanRead(LayerType layer)Is reading allowed (at specified layer)?default StringdebugDump(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 ItemCorrelatorDefinitionTypegetCorrelatorDefinition()default @NotNull LayerTypegetCurrentLayer()Gets the current point-of-view: on which layer do we look at the data?default StringgetDescription()Gets the (configured) attribute description.default AttributeFetchStrategyTypegetFetchStrategy()Returns configured fetch strategy.default StringgetFrameworkAttributeName()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 PropertyLimitationsgetLimitations(LayerType layer)Returns limitations (cardinality, access rights, processing) for given layer.default intgetMaxOccurs(LayerType layer)Gets `maxOccurs` limitation for given layer.default intgetMinOccurs(LayerType layer)Gets `minOccurs` limitation for given layer.default IntegergetModificationPriority()Determines the order in which this attribute should be modified (in very special cases).default StringgetNativeAttributeName()Returns native attribute name.default @Nullable MappingTypegetOutboundMappingBean()Gets the outbound mapping, if defined.default ItemProcessinggetProcessing(LayerType layer)Gets the level of processing for specified layer.default RawResourceAttributeDefinition<T>getRawAttributeDefinition()Gets the original (raw) attribute definition.default BooleangetReadReplaceMode()Should be this attribute modified solely in "replace" mode?default BooleangetReturnedByDefault()Is this attribute returned by default? (I.e.default @NotNull AttributeStorageStrategyTypegetStorageStrategy()Returns configured storage strategy.default @NotNull List<String>getTolerantValuePatterns()Gets patterns for values that are "tolerated" on the resource.default booleanhasOutboundMapping()default @NotNull ResourceAttribute<T>instantiate()Create an item instance.default @NotNull ResourceAttribute<T>instantiate(QName name)Create an item instance.default booleanisDisplayNameAttribute()Is this attribute configured to serve as a display name?default 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)default BooleanisSecondaryIdentifierOverride()Is this attribute designated as a secondary identifier via `schemaHandling`?default booleanisSingleValue(LayerType layer)default booleanisTolerant()When set to true, allows to preserve attribute values that are set outside midPoint.default booleanisVolatilityTrigger()Is this attribute so-called volatility trigger, i.e.default voidsetOverrideCanAdd(Boolean value)Provides a value that will overrideResourceAttributeDefinition.canAdd(LayerType)return values (for all layers).default voidsetOverrideCanModify(Boolean value)Provides a value that will overrideResourceAttributeDefinition.canModify(LayerType)return values (for all layers).default voidsetOverrideCanRead(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:
delegatein interfaceDefinitionDelegator- Specified by:
delegatein interfaceItemDefinitionDelegator<T>- Specified by:
delegatein interfacePropertyDefinitionDelegator<T>
-
getReturnedByDefault
default Boolean getReturnedByDefault()
Description copied from interface:RawResourceAttributeDefinitionIs this attribute returned by default? (I.e. if no specific options are sent to the connector?)- Specified by:
getReturnedByDefaultin interfaceRawResourceAttributeDefinition<T>
-
getNativeAttributeName
default String getNativeAttributeName()
Description copied from interface:RawResourceAttributeDefinitionReturns 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:
getNativeAttributeNamein interfaceRawResourceAttributeDefinition<T>- Returns:
- native attribute name
-
getFrameworkAttributeName
default String getFrameworkAttributeName()
Description copied from interface:RawResourceAttributeDefinitionReturns 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:
getFrameworkAttributeNamein interfaceRawResourceAttributeDefinition<T>- Returns:
- name of the attribute as given in the connector framework.
-
instantiate
@NotNull default @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 interfaceItemDefinitionDelegator<T>- Specified by:
instantiatein interfacePrismPropertyDefinition<T>- Specified by:
instantiatein interfacePropertyDefinitionDelegator<T>- Specified by:
instantiatein interfaceRawResourceAttributeDefinition<T>- Specified by:
instantiatein interfaceResourceAttributeDefinition<T>
-
instantiate
@NotNull default @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 interfaceItemDefinitionDelegator<T>- Specified by:
instantiatein interfacePrismPropertyDefinition<T>- Specified by:
instantiatein interfacePropertyDefinitionDelegator<T>- Specified by:
instantiatein interfaceRawResourceAttributeDefinition<T>- Specified by:
instantiatein interfaceResourceAttributeDefinition<T>
-
debugDump
default String debugDump(int indent, LayerType layer)
Description copied from interface:ResourceAttributeDefinitionProvides a debug dump respective to the given layer. TODO reconsider this method- Specified by:
debugDumpin interfaceResourceAttributeDefinition<T>
-
getLimitations
default PropertyLimitations getLimitations(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionReturns limitations (cardinality, access rights, processing) for given layer. These are obtained from resource and/or explicitly configured.- Specified by:
getLimitationsin interfaceResourceAttributeDefinition<T>- See Also:
ItemRefinedDefinitionType.getLimitations()
-
getFetchStrategy
default AttributeFetchStrategyType getFetchStrategy()
Description copied from interface:ResourceAttributeDefinitionReturns configured fetch strategy.- Specified by:
getFetchStrategyin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.getFetchStrategy()
-
getStorageStrategy
@NotNull default @NotNull AttributeStorageStrategyType getStorageStrategy()
Description copied from interface:ResourceAttributeDefinitionReturns configured storage strategy.- Specified by:
getStorageStrategyin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.getStorageStrategy()
-
isVolatilityTrigger
default boolean isVolatilityTrigger()
Description copied from interface:ResourceAttributeDefinitionIs this attribute so-called volatility trigger, i.e. may its changes cause changes in other attributes?- Specified by:
isVolatilityTriggerin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.isVolatilityTrigger()
-
getModificationPriority
default Integer getModificationPriority()
Description copied from interface:ResourceAttributeDefinitionDetermines the order in which this attribute should be modified (in very special cases).- Specified by:
getModificationPriorityin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.getModificationPriority()
-
getReadReplaceMode
default Boolean getReadReplaceMode()
Description copied from interface:ResourceAttributeDefinitionShould be this attribute modified solely in "replace" mode?- Specified by:
getReadReplaceModein interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.isReadReplaceMode()
-
isTolerant
default boolean isTolerant()
Description copied from interface:ResourceAttributeDefinitionWhen set to true, allows to preserve attribute values that are set outside midPoint.- Specified by:
isTolerantin interfaceResourceAttributeDefinition<T>- See Also:
ItemRefinedDefinitionType.isTolerant()
-
isSecondaryIdentifierOverride
default Boolean isSecondaryIdentifierOverride()
Description copied from interface:ResourceAttributeDefinitionIs this attribute designated as a secondary identifier via `schemaHandling`?- Specified by:
isSecondaryIdentifierOverridein interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.isSecondaryIdentifier()
-
canAdd
default boolean canAdd(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionIs adding allowed (at specified layer)?- Specified by:
canAddin interfaceResourceAttributeDefinition<T>- See Also:
PrismItemAccessDefinition.canAdd()
-
canRead
default boolean canRead(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionIs reading allowed (at specified layer)?- Specified by:
canReadin interfaceResourceAttributeDefinition<T>- See Also:
PrismItemAccessDefinition.canRead()
-
canModify
default boolean canModify(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionIs modification allowed (at specified layer)?- Specified by:
canModifyin interfaceResourceAttributeDefinition<T>- See Also:
PrismItemAccessDefinition.canModify()
-
isIgnored
default boolean isIgnored(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionIs the attribute ignored (at specified layer)?- Specified by:
isIgnoredin interfaceResourceAttributeDefinition<T>
-
getProcessing
default ItemProcessing getProcessing(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionGets the level of processing for specified layer.- Specified by:
getProcessingin interfaceResourceAttributeDefinition<T>- See Also:
Definition.getProcessing()
-
getDescription
default String getDescription()
Description copied from interface:ResourceAttributeDefinitionGets the (configured) attribute description.- Specified by:
getDescriptionin interfaceResourceAttributeDefinition<T>- See Also:
ItemRefinedDefinitionType.getDescription()
-
getRawAttributeDefinition
default RawResourceAttributeDefinition<T> getRawAttributeDefinition()
Description copied from interface:ResourceAttributeDefinitionGets the original (raw) attribute definition.- Specified by:
getRawAttributeDefinitionin interfaceResourceAttributeDefinition<T>
-
getOutboundMappingBean
@Nullable default @Nullable MappingType getOutboundMappingBean()
Description copied from interface:ResourceAttributeDefinitionGets the outbound mapping, if defined.- Specified by:
getOutboundMappingBeanin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.getOutbound()
-
hasOutboundMapping
default boolean hasOutboundMapping()
- Specified by:
hasOutboundMappingin interfaceResourceAttributeDefinition<T>
-
getInboundMappingBeans
@NotNull default @NotNull List<InboundMappingType> getInboundMappingBeans()
Description copied from interface:ResourceAttributeDefinitionGets the inbound mappings (if any).- Specified by:
getInboundMappingBeansin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.getInbound()
-
getMaxOccurs
default int getMaxOccurs(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionGets `maxOccurs` limitation for given layer.- Specified by:
getMaxOccursin interfaceResourceAttributeDefinition<T>- See Also:
ItemDefinition.getMaxOccurs()
-
getMinOccurs
default int getMinOccurs(LayerType layer)
Description copied from interface:ResourceAttributeDefinitionGets `minOccurs` limitation for given layer.- Specified by:
getMinOccursin interfaceResourceAttributeDefinition<T>
-
isOptional
default boolean isOptional(LayerType layer)
- Specified by:
isOptionalin interfaceResourceAttributeDefinition<T>
-
isMandatory
default boolean isMandatory(LayerType layer)
- Specified by:
isMandatoryin interfaceResourceAttributeDefinition<T>
-
isMultiValue
default boolean isMultiValue(LayerType layer)
- Specified by:
isMultiValuein interfaceResourceAttributeDefinition<T>
-
isSingleValue
default boolean isSingleValue(LayerType layer)
- Specified by:
isSingleValuein interfaceResourceAttributeDefinition<T>
-
isExclusiveStrong
default boolean isExclusiveStrong()
Description copied from interface:ResourceAttributeDefinitionDrives behavior of strong and normal mappings for this attribute.- Specified by:
isExclusiveStrongin interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.isExclusiveStrong()
-
getTolerantValuePatterns
@NotNull default @NotNull List<String> getTolerantValuePatterns()
Description copied from interface:ResourceAttributeDefinitionGets patterns for values that are "tolerated" on the resource.- Specified by:
getTolerantValuePatternsin interfaceResourceAttributeDefinition<T>- See Also:
ResourceAttributeDefinition.isTolerant(),ItemRefinedDefinitionType.getTolerantValuePattern()
-
getIntolerantValuePatterns
@NotNull default @NotNull List<String> getIntolerantValuePatterns()
Description copied from interface:ResourceAttributeDefinitionGets patterns for values that are not "tolerated" on the resource.- Specified by:
getIntolerantValuePatternsin interfaceResourceAttributeDefinition<T>- See Also:
ResourceAttributeDefinition.isTolerant(),ItemRefinedDefinitionType.getIntolerantValuePattern()
-
isDisplayNameAttribute
default boolean isDisplayNameAttribute()
Description copied from interface:ResourceAttributeDefinitionIs this attribute configured to serve as a display name?- Specified by:
isDisplayNameAttributein interfaceResourceAttributeDefinition<T>- See Also:
ResourceItemDefinitionType.isDisplayNameAttribute()
-
getCorrelatorDefinition
@Nullable default @Nullable ItemCorrelatorDefinitionType getCorrelatorDefinition()
- Specified by:
getCorrelatorDefinitionin interfaceResourceAttributeDefinition<T>- See Also:
()
-
deepClone
default ResourceAttributeDefinition<T> deepClone(@NotNull @NotNull DeepCloneOperation operation)
Description copied from interface:ItemDefinitionTODO document- Specified by:
deepClonein interfaceItemDefinition<T>- Specified by:
deepClonein interfaceItemDefinitionDelegator<T>- Specified by:
deepClonein interfaceResourceAttributeDefinition<T>
-
setOverrideCanRead
default void setOverrideCanRead(Boolean value)
Description copied from interface:ResourceAttributeDefinitionProvides a value that will overrideResourceAttributeDefinition.canRead(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanReadin interfaceResourceAttributeDefinition<T>
-
setOverrideCanAdd
default void setOverrideCanAdd(Boolean value)
Description copied from interface:ResourceAttributeDefinitionProvides a value that will overrideResourceAttributeDefinition.canAdd(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanAddin interfaceResourceAttributeDefinition<T>
-
setOverrideCanModify
default void setOverrideCanModify(Boolean value)
Description copied from interface:ResourceAttributeDefinitionProvides a value that will overrideResourceAttributeDefinition.canModify(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.- Specified by:
setOverrideCanModifyin interfaceResourceAttributeDefinition<T>
-
forLayer
@NotNull default @NotNull ResourceAttributeDefinition<T> forLayer(@NotNull @NotNull LayerType layer)
Description copied from interface:ResourceAttributeDefinitionCreates 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:
forLayerin interfaceResourceAttributeDefinition<T>
-
getCurrentLayer
@NotNull default @NotNull LayerType getCurrentLayer()
Description copied from interface:LayeredDefinitionGets the current point-of-view: on which layer do we look at the data?- Specified by:
getCurrentLayerin interfaceLayeredDefinition
-
-