Interface ShadowAttributeDefinition<V extends PrismValue,D extends ShadowAttributeDefinition<V,D,RV,SA>,RV,SA extends ShadowAttribute<V,D,RV,SA>>
- Type Parameters:
SA- item that is created by the instantiation of this definitionRV- real value stored in SA
- All Superinterfaces:
Cloneable,DebugDumpable,Definition,Freezable,LayeredDefinition,PrismItemAccessDefinition,PrismItemBasicDefinition,PrismItemMiscDefinition,PrismItemStorageDefinition,PrismLifecycleDefinition,PrismPresentationDefinition,ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinition,Revivable,Serializable,ShadowAttributeUcfDefinition,ShadowItemDefinition,ShadowItemLayeredDefinition,ShortDumpable,SmartVisitable<Definition>,Visitable<Definition>
- All Known Subinterfaces:
ResourceAttributeDefinitionDelegator<T>,ResourceAttributeWrapper<T>,ShadowReferenceAttributeDefinition,ShadowSimpleAttributeDefinition<T>
- All Known Implementing Classes:
ResourceAttributeWrapperImpl,ShadowAttributeDefinitionImpl,ShadowReferenceAttributeDefinitionImpl,ShadowSimpleAttributeDefinitionImpl,TransformablePropertyDefinition.RefinedAttribute,TransformablePropertyDefinition.ResourceAttribute
public interface ShadowAttributeDefinition<V extends PrismValue,D extends ShadowAttributeDefinition<V,D,RV,SA>,RV,SA extends ShadowAttribute<V,D,RV,SA>>
extends PrismItemBasicDefinition, PrismItemAccessDefinition, PrismItemMiscDefinition, PrismItemStorageDefinition, PrismPresentationDefinition, ShadowAttributeUcfDefinition, ShadowItemLayeredDefinition, LayeredDefinition, ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinition, ShadowItemDefinition, Definition
Definition of a
ShadowAttribute: simple or reference one.
. It is based on a "native" part, available from the connector (or from simulated references 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 (there are clashes on some of the methods).-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinition
PrismItemMiscDefinition.Data, PrismItemMiscDefinition.Delegable, PrismItemMiscDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.ShadowAttributeUcfDefinition
ShadowAttributeUcfDefinition.Data, ShadowAttributeUcfDefinition.Delegable, ShadowAttributeUcfDefinition.Mutable -
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescription@NotNull ShadowAttributeDefinition<V,D, RV, SA> clone()createPrismValueFromRealValue(@NotNull Object realValue) Provides a debug dump respective to the given layer.@NotNull ShadowAttributeDefinition<V,D, RV, SA> Creates a view of the current definition for a given layer.@Nullable ItemChangeApplicationModeTypeGets the (configured) attribute description.@NotNull AttributeFetchStrategyTypeReturns configured fetch strategy.@NotNull List<InboundMappingType>Gets the inbound mappings (if any).Gets patterns for values that are not "tolerated" on the resource.@Nullable StringDetermines the order in which this attribute should be modified (in very special cases).@Nullable MappingTypeGets the outbound mapping, if defined.Should be this attribute modified solely in "replace" mode?default ItemPathReturns the standard path where this attribute can be found in shadows.@NotNull AttributeStorageStrategyTypeReturns configured storage strategy.Gets patterns for values that are "tolerated" on the resource.Note that attributes must always have static Java type.default booleanbooleanReturns `true` if there are any refinements (like in `schemaHandling`).instantiate(QName itemName) default SAinstantiateFrom(@NotNull Item<?, ?> item) Creates a newShadowAttributefrom given (compatible)Item.default SAinstantiateFromRealValue(@NotNull Object realValue) default SAinstantiateFromRealValues(@NotNull Collection<?> realValues) Creates a newShadowAttributefrom given real values, cloning and converting them if necessary.isCached()If present, it overrides the inclusion/exclusion of this item in/from the shadow caching.default booleanisEffectivelyCached(@NotNull ResourceObjectDefinition objectDefinition) Returns `true` if this attribute is effectively cached, given provided object type/class definition.booleanDrives behavior of strong and normal mappings for this attribute.default booleanIs the attribute ignored (at specified layer)?default booleanIs this attribute returned by default?booleanIf `true`, the item does not exist on the resource, but is simulated by midPoint.booleanWhen set to true, allows to preserve attribute values that are set outside midPoint.default booleanisVisible(@NotNull TaskExecutionMode taskExecutionMode) Is this item visible under given task execution mode (production/development config)?booleanThis attribute may get unexpected values when the object is created on the resource.booleanThis attribute may get unexpected values when the object is updated on the resource, regardless of what attributes are modified and in what way.booleanIs this attribute so-called volatility trigger, i.e. may its changes cause changes in other attributes?voidsetOverrideCanAdd(Boolean value) Provides a value that will overrideShadowItemLayeredDefinition.canAdd(LayerType)return values (for all layers).voidsetOverrideCanModify(Boolean value) Provides a value that will overrideShadowItemLayeredDefinition.canModify(LayerType)return values (for all layers).voidsetOverrideCanRead(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, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema, mutatorMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinition
getCurrentLayerMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinition
getProcessingMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchableMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemovedMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinition
getCorrelatorDefinitionMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowAttributeUcfDefinition
getFrameworkAttributeName, getNativeAttributeName, getReturnedByDefaultMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemDefinition
isVisibleMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemLayeredDefinition
canAdd, canModify, canRead, getLimitations, getMaxOccurs, getMinOccurs, getProcessing, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDump, shortDumpLazilyMethods 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. -
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:
getInboundMappingBeansin interfaceResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinition- 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. -
getChangeApplicationMode
-
getLifecycleState
- Specified by:
getLifecycleStatein interfaceShadowItemDefinition- See Also:
-
isIgnored
Description copied from interface:ShadowItemLayeredDefinitionIs the attribute ignored (at specified layer)?- Specified by:
isIgnoredin interfaceShadowItemLayeredDefinition
-
isVisible
Is this item visible under given task execution mode (production/development config)? -
getTypeClass
Note that attributes must always have static Java type.- Specified by:
getTypeClassin 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`). -
instantiate
- Throws:
SchemaException
-
instantiate
- Throws:
SchemaException
-
instantiateFrom
Creates a newShadowAttributefrom given (compatible)Item. Used in the process of "definition application" in `applyDefinitions` and similar methods. Assumes that the original item is correctly constructed, i.e. it has no duplicate values.- Throws:
SchemaException
-
instantiateFromRealValue
@NotNull default SA instantiateFromRealValue(@NotNull @NotNull Object realValue) throws SchemaException - Throws:
SchemaException
-
instantiateFromRealValues
@NotNull default SA instantiateFromRealValues(@NotNull @NotNull Collection<?> realValues) throws SchemaException Creates a newShadowAttributefrom given real values, cloning and converting them if necessary. Assumes that the values contain no duplicates and no nulls.- Throws:
SchemaException
-
createPrismValueFromRealValue
- Throws:
SchemaException
-
getHumanReadableDescription
String getHumanReadableDescription() -
getStandardPath
Returns the standard path where this attribute can be found in shadows. E.g. for searching. -
isSimulated
boolean isSimulated()If `true`, the item does not exist on the resource, but is simulated by midPoint. Applies to reference attributes for now. -
clone
- Specified by:
clonein interfaceDefinition
-
debugDump
Provides a debug dump respective to the given layer. -
isVolatileOnAddOperation
boolean isVolatileOnAddOperation()This attribute may get unexpected values when the object is created on the resource. (Regardless of whether any value is provided by the client. These subtle cases may get distinguished later.) -
isVolatileOnModifyOperation
boolean isVolatileOnModifyOperation()This attribute may get unexpected values when the object is updated on the resource, regardless of what attributes are modified and in what way.
-