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 definition
- RV- 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
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 SummaryNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.DefinitionDefinition.DefinitionBuilder, Definition.DefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinitionPrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinitionPrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinitionPrismItemMiscDefinition.Data, PrismItemMiscDefinition.Delegable, PrismItemMiscDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinitionPrismItemStorageDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinitionPrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinitionPrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.ShadowAttributeUcfDefinitionShadowAttributeUcfDefinition.Data, ShadowAttributeUcfDefinition.Delegable, ShadowAttributeUcfDefinition.Mutable
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Method SummaryModifier 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? (I.e.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.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.DebugDumpabledebugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.DefinitioncheckMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema, mutatorMethods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.schema.processor.LayeredDefinitiongetCurrentLayerMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinitioncanAdd, canModify, canRead, getInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinitiongetItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.prism.PrismItemMiscDefinitiongetProcessingMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinitionisIndexed, isIndexOnly, isSearchableMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinitiongetDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemovedMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinitiongetDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.schema.processor.ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinitiongetCorrelatorDefinitionMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowAttributeUcfDefinitiongetFrameworkAttributeName, getNativeAttributeName, getReturnedByDefaultMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemDefinitionisVisibleMethods inherited from interface com.evolveum.midpoint.schema.processor.ShadowItemLayeredDefinitioncanAdd, canModify, canRead, getLimitations, getMaxOccurs, getMinOccurs, getProcessing, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.util.ShortDumpableshortDump, shortDump, shortDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.SmartVisitableaccept
- 
Method Details- 
isTolerantboolean isTolerant()When set to true, allows to preserve attribute values that are set outside midPoint.- See Also:
 
- 
getFetchStrategyReturns configured fetch strategy.
- 
getStorageStrategyReturns configured storage strategy.
- 
isCachedBoolean 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.
- 
isEffectivelyCachedReturns `true` if this attribute is effectively cached, given provided object type/class definition. Precondition: the definition must be attached to a resource.
- 
isVolatilityTriggerboolean isVolatilityTrigger()Is this attribute so-called volatility trigger, i.e. may its changes cause changes in other attributes?
- 
getModificationPriorityInteger getModificationPriority()Determines the order in which this attribute should be modified (in very special cases).
- 
getReadReplaceModeBoolean getReadReplaceMode()Should be this attribute modified solely in "replace" mode?
- 
forLayerCreates 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.)
- 
setOverrideCanReadProvides a value that will overrideShadowItemLayeredDefinition.canRead(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
- 
setOverrideCanAddProvides a value that will overrideShadowItemLayeredDefinition.canAdd(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
- 
setOverrideCanModifyProvides a value that will overrideShadowItemLayeredDefinition.canModify(LayerType)return values (for all layers). Used e.g. when applying authorizations on the definition.
- 
getDescriptionString getDescription()Gets the (configured) attribute description.
- 
getOutboundMappingBeanGets the outbound mapping, if defined.- See Also:
 
- 
hasOutboundMappingdefault boolean hasOutboundMapping()
- 
getInboundMappingBeansGets the inbound mappings (if any).- Specified by:
- getInboundMappingBeansin interface- ResourceObjectInboundProcessingDefinition.ItemInboundProcessingDefinition
- See Also:
 
- 
isExclusiveStrongboolean isExclusiveStrong()Drives behavior of strong and normal mappings for this attribute.
- 
getTolerantValuePatternsGets patterns for values that are "tolerated" on the resource.
- 
getIntolerantValuePatternsGets patterns for values that are not "tolerated" on the resource.
- 
getChangeApplicationMode
- 
getLifecycleState- Specified by:
- getLifecycleStatein interface- ShadowItemDefinition
- See Also:
 
- 
isIgnoredDescription copied from interface:ShadowItemLayeredDefinitionIs the attribute ignored (at specified layer)?- Specified by:
- isIgnoredin interface- ShadowItemLayeredDefinition
 
- 
isVisibleIs this item visible under given task execution mode (production/development config)?
- 
getTypeClassNote that attributes must always have static Java type.- Specified by:
- getTypeClassin interface- Definition
 
- 
isReturnedByDefaultdefault boolean isReturnedByDefault()Is this attribute returned by default? (I.e. if no specific options are sent to the connector?)
- 
hasRefinementsboolean hasRefinements()Returns `true` if there are any refinements (like in `schemaHandling`).
- 
instantiate- Throws:
- SchemaException
 
- 
instantiate- Throws:
- SchemaException
 
- 
instantiateFromCreates 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
 
- 
getHumanReadableDescriptionString getHumanReadableDescription()
- 
getStandardPathReturns the standard path where this attribute can be found in shadows. E.g. for searching.
- 
isSimulatedboolean 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 interface- Definition
 
- 
debugDumpProvides a debug dump respective to the given layer.
- 
isVolatileOnAddOperationboolean 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.)
- 
isVolatileOnModifyOperationboolean 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.
 
-