Interface ShadowAttributeDefinition<SA extends ShadowAttribute<?,?>,R>
- Type Parameters:
SA
- item that is created by the instantiation of this definitionR
- real value stored in SA
- All Superinterfaces:
Cloneable
,DebugDumpable
,Definition
,Freezable
,LayeredDefinition
,PrismItemAccessDefinition
,PrismItemBasicDefinition
,PrismItemMiscDefinition
,PrismLifecycleDefinition
,PrismPresentationDefinition
,ResourceObjectInboundDefinition.ItemInboundDefinition
,Revivable
,Serializable
,ShadowItemLayeredDefinition
,ShadowItemUcfDefinition
,ShortDumpable
,SmartVisitable<Definition>
,Visitable<Definition>
- All Known Subinterfaces:
ResourceAttributeDefinitionDelegator<T>
,ResourceAttributeWrapper<T>
,ShadowReferenceAttributeDefinition
,ShadowSimpleAttributeDefinition<T>
- All Known Implementing Classes:
ResourceAttributeWrapperImpl
,ShadowAttributeDefinitionImpl
,ShadowReferenceAttributeDefinitionImpl
,ShadowSimpleAttributeDefinitionImpl
public interface ShadowAttributeDefinition<SA extends ShadowAttribute<?,?>,R>
extends PrismItemBasicDefinition, PrismItemAccessDefinition, PrismItemMiscDefinition, PrismPresentationDefinition, ShadowItemUcfDefinition, ShadowItemLayeredDefinition, LayeredDefinition, ResourceObjectInboundDefinition.ItemInboundDefinition, Definition
Information about a resource attribute.
. It is based on a "native" part, available from the connector (or from simulated associations capability definition);
see
NativeShadowAttributeDefinition
.
. This part is then optionally refined by the configuration in resource `schemaHandling` section.
For the time being, it does not extend ItemDefinition
because of typing complications:
ShadowAttribute
cannot extend Item
.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinition
PrismItemMiscDefinition.Data, PrismItemMiscDefinition.Delegable, PrismItemMiscDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemUcfDefinition
ShadowItemUcfDefinition.Data, ShadowItemUcfDefinition.Delegable, ShadowItemUcfDefinition.Mutable
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescription@NotNull ShadowAttributeDefinition<SA,
R> clone()
Provides a debug dump respective to the given layer.@NotNull ShadowAttributeDefinition<SA,
R> Creates a view of the current definition for a given layer.@Nullable ItemChangeApplicationModeType
TODOGets the (configured) attribute description.@NotNull AttributeFetchStrategyType
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
TODODetermines the order in which this attribute should be modified (in very special cases).@Nullable MappingType
Gets the outbound mapping, if defined.Should be this attribute modified solely in "replace" mode?@NotNull Collection<ResourceObjectInboundDefinition>
@NotNull AttributeStorageStrategyType
Returns configured storage strategy.Gets patterns for values that are "tolerated" on the resource.Note that attributes must always have static Java type.default boolean
default boolean
boolean
Returns `true` if there are any refinements (like in `schemaHandling`).instantiate
(QName itemName) isCached()
If present, it overrides the inclusion/exclusion of this item in/from the shadow caching.default boolean
isEffectivelyCached
(@NotNull ResourceObjectDefinition objectDefinition) Returns `true` if this attribute is effectively cached, given provided object type/class definition.boolean
Drives behavior of strong and normal mappings for this attribute.default boolean
Is the attribute ignored (at specified layer)?boolean
default boolean
Is this attribute returned by default? (I.e.boolean
If `true`, the item does not exist on the resource, but is simulated by midPoint.boolean
When set to true, allows to preserve attribute values that are set outside midPoint.default boolean
isVisible
(@NotNull ExecutionModeProvider executionModeProvider) 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 overrideShadowItemLayeredDefinition.canAdd(LayerType)
return values (for all layers).void
setOverrideCanModify
(Boolean value) Provides a value that will overrideShadowItemLayeredDefinition.canModify(LayerType)
return values (for all layers).void
setOverrideCanRead
(Boolean value) Provides a value that will overrideShadowItemLayeredDefinition.canRead(LayerType)
return values (for all layers).Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema, mutator
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayer
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfo
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinition
getProcessing
Methods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemoved
Methods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasized
Methods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundDefinition.ItemInboundDefinition
getCorrelatorDefinition
Methods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemLayeredDefinition
canAdd, canModify, canRead, getLimitations, getMaxOccurs, getMinOccurs, getProcessing, isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemUcfDefinition
getFrameworkAttributeName, getNativeAttributeName, getReturnedByDefault
Methods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDump, shortDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Method Details
-
isTolerant
boolean isTolerant()When set to true, allows to preserve attribute values that are set outside midPoint.- See Also:
-
getFetchStrategy
Returns configured fetch strategy. -
getStorageStrategy
Returns configured storage strategy. -
isCached
Boolean isCached()If present, it overrides the inclusion/exclusion of this item in/from the shadow caching. Please use theisEffectivelyCached(ResourceObjectDefinition)
method to determine the effective caching status. -
isEffectivelyCached
Returns `true` if this attribute is effectively cached, given provided object type/class definition. Precondition: the definition must be attached to a resource. NOTE: Ignores the default caching turned on by read capability with `cachingOnly` = `true`. -
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? -
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 overrideShadowItemLayeredDefinition.canRead(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition. -
setOverrideCanAdd
Provides a value that will overrideShadowItemLayeredDefinition.canAdd(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition. -
setOverrideCanModify
Provides a value that will overrideShadowItemLayeredDefinition.canModify(LayerType)
return values (for all layers). Used e.g. when applying authorizations on the definition. -
getDescription
String getDescription()Gets the (configured) attribute description. -
getOutboundMappingBean
Gets the outbound mapping, if defined.- See Also:
-
hasOutboundMapping
default boolean hasOutboundMapping() -
getInboundMappingBeans
Gets the inbound mappings (if any).- Specified by:
getInboundMappingBeans
in interfaceResourceObjectInboundDefinition.ItemInboundDefinition
- See Also:
-
hasInboundMapping
default boolean hasInboundMapping() -
getRelevantInboundDefinitions
-
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. -
getChangeApplicationMode
TODO -
getLifecycleState
TODO -
isIgnored
Description copied from interface:ShadowItemLayeredDefinition
Is the attribute ignored (at specified layer)?- Specified by:
isIgnored
in interfaceShadowItemLayeredDefinition
-
isVisible
TODO -
isVisible
-
getTypeClass
Note that attributes must always have static Java type.- Specified by:
getTypeClass
in interfaceDefinition
-
isReturnedByDefault
default boolean isReturnedByDefault()Is this attribute returned by default? (I.e. if no specific options are sent to the connector?) -
hasRefinements
boolean hasRefinements()Returns `true` if there are any refinements (like in `schemaHandling`). -
isIndexOnly
boolean isIndexOnly() -
instantiate
- Throws:
SchemaException
-
instantiate
- Throws:
SchemaException
-
getHumanReadableDescription
String getHumanReadableDescription() -
getStandardPath
ItemPath getStandardPath() -
isSimulated
boolean isSimulated()If `true`, the item does not exist on the resource, but is simulated by midPoint. -
clone
- Specified by:
clone
in interfaceDefinition
-
debugDump
Provides a debug dump respective to the given layer. TODO reconsider this method
-