Class PrismPropertyWrapperImpl<T>
java.lang.Object
com.evolveum.midpoint.gui.impl.prism.wrapper.ItemWrapperImpl<PrismProperty<T>,PrismPropertyValueWrapper<T>>
com.evolveum.midpoint.gui.impl.prism.wrapper.PrismPropertyWrapperImpl<T>
- All Implemented Interfaces:
ItemWrapper<PrismProperty<T>,
,PrismPropertyValueWrapper<T>> PrismPropertyWrapper<T>
,Definition
,Freezable
,ItemDefinition<PrismProperty<T>>
,LivePrismItemDefinition
,PrismItemAccessDefinition
,PrismItemBasicDefinition
,PrismItemInstantiableDefinition<T,
,PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> PrismItemMatchingDefinition<T>
,PrismItemStorageDefinition
,PrismItemValuesDefinition<T>
,PrismLifecycleDefinition
,PrismPresentationDefinition
,PrismPropertyDefinition<T>
,Revivable
,SchemaLookup.Aware
,SmartVisitable<Definition>
,Visitable<Definition>
,DebugDumpable
,Serializable
,Cloneable
- Direct Known Subclasses:
AuthenticationAttemptWrapper
,ExpressionWrapper
,ProtectedStringTypeWrapperImpl
,ResourceAttributeWrapperImpl
public class PrismPropertyWrapperImpl<T>
extends ItemWrapperImpl<PrismProperty<T>,PrismPropertyValueWrapper<T>>
implements PrismPropertyWrapper<T>
- Author:
- katka
- See Also:
-
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.ItemDefinition
ItemDefinition.ItemDefinitionLikeBuilder, ItemDefinition.ItemDefinitionMutator
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.PrismItemMatchingDefinition
PrismItemMatchingDefinition.Data<T>, PrismItemMatchingDefinition.Delegable<T>, PrismItemMatchingDefinition.Mutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition
PrismItemValuesDefinition.Data<T>, PrismItemValuesDefinition.Delegable<T>, PrismItemValuesDefinition.Mutator<T>
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.prism.PrismPropertyDefinition
PrismPropertyDefinition.PrismPropertyDefinitionMutator<T>, PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T>
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
ConstructorDescriptionPrismPropertyWrapperImpl
(PrismContainerValueWrapper<?> parent, PrismProperty<T> item, ItemStatus status) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(Visitor<Definition> visitor) boolean
accept
(Visitor<Definition> visitor, SmartVisitation<Definition> visitation) @NotNull PrismPropertyDefinition<T>
clone()
@NotNull ItemDefinition<PrismProperty<T>>
cloneWithNewName
(@NotNull ItemName itemName) Returns a clone of this definition, but with name changed to the provided one.@NotNull PropertyDelta<T>
createEmptyDelta
(ItemPath path) Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.protected PrismPropertyValue<T>
createNewEmptyValue
(ModelServiceLocator locator) void
freeze()
Collection<? extends DisplayableValue<T>>
Returns allowed values for this property.@NotNull MatchingRule<T>
Returns the resolvedMatchingRule
for this property.Returns matching rule name.@Nullable SchemaContextDefinition
Collection<? extends DisplayableValue<T>>
Returns suggested values for this property.Returns a compile-time class that is used to represent items.@NotNull PrismProperty<T>
Create an item instance.@NotNull PrismProperty<T>
instantiate
(QName name) Create an item instance.boolean
isEmpty()
boolean
This is XSD annotation that specifies whether a property should be indexed in the storage.mutator()
Returns an interface to mutate this definition.protected void
removeNotChangedStatusValue
(PrismPropertyValueWrapper<T> valueWrapper, Item rawItem) void
setPredefinedValuesOid
(String predefinedValuesOid) Methods inherited from class com.evolveum.midpoint.gui.impl.prism.wrapper.ItemWrapperImpl
add, addValueToDelta, canAdd, canModify, canRead, checkRequired, computeDeltaInternal, debugDump, debugDumpShortToString, deepClone, findItemDefinition, findObjectStatus, findObjectWrapper, getAnnotation, getAnnotations, getDelta, getDeprecatedSince, getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getFormComponentValidator, getHelp, getItem, getItemName, getMaxOccurs, getMergerIdentifier, getMergerInstance, getMinOccurs, getNaturalKeyConstituents, getNaturalKeyInstance, getOldItem, getParent, getParentContainerValue, getPath, getPlannedRemoval, getPreconditionDeltas, getProcessing, getRemovedSince, getSchemaMigrations, getStatus, getSubstitutionHead, getTypeName, getValue, getValueEnumerationRef, getValues, getVisibleOverwrite, isAbstract, isAlwaysUseForEquals, isColumn, isDeprecated, isDynamic, isElaborate, isEmphasized, isExperimental, isHeterogeneousListItem, isIgnored, isIndexOnly, isInherited, isMetadata, isOperational, isOptionalCleanup, isProcessProvenanceMetadata, isReadOnly, isRemoved, isRuntimeSchema, isShowEmpty, isShowInVirtualContainer, isShowMetadataDetails, isValidated, isValidFor, isVisible, isVisibleByVisibilityHandler, remove, removeAll, revive, setColumn, setDisplayName, setDisplayOrder, setMetadata, setProcessProvenanceMetadata, setReadOnly, setShowEmpty, setShowInVirtualContainer, setShowMetadataDetails, setValidated, setVisibleOverwrite, structuredType, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
debugDumpShortToString, deepClone, getProcessing, getSubstitutionHead, getValueEnumerationRef, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperational, structuredType
Methods inherited from interface com.evolveum.midpoint.gui.api.prism.wrapper.ItemWrapper
add, checkRequired, debugDump, findObjectStatus, findObjectWrapper, getDelta, getFormComponentValidator, getItem, getParent, getParentContainerValue, getPath, getPreconditionDeltas, getStatus, getValue, getValues, getVisibleOverwrite, isColumn, isMetadata, isProcessProvenanceMetadata, isReadOnly, isShowEmpty, isShowInVirtualContainer, isShowMetadataDetails, isValidated, isVisible, remove, removeAll, setColumn, setMetadata, setProcessProvenanceMetadata, setReadOnly, setShowEmpty, setShowInVirtualContainer, setShowMetadataDetails, setValidated, setVisibleOverwrite
Methods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
findItemDefinition, isValidFor
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.PrismItemMatchingDefinition
getNormalizer, getStringNormalizerForPolyStringProperty, getStringNormalizerIfApplicable, getTypeName, isCustomPolyString
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexOnly, isSearchable
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemValuesDefinition
getValueEnumerationRef
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.prism.PrismPropertyDefinition
convertStringValueToPolyString, getTypeClassLegacy, isAnyType
Methods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookup
-
Constructor Details
-
PrismPropertyWrapperImpl
public PrismPropertyWrapperImpl(PrismContainerValueWrapper<?> parent, PrismProperty<T> item, ItemStatus status)
-
-
Method Details
-
getAllowedValues
Description copied from interface:PrismItemValuesDefinition
Returns allowed values for this property.- Specified by:
getAllowedValues
in interfacePrismItemValuesDefinition<T>
-
getSuggestedValues
Description copied from interface:PrismItemValuesDefinition
Returns suggested values for this property.- Specified by:
getSuggestedValues
in interfacePrismItemValuesDefinition<T>
-
defaultValue
- Specified by:
defaultValue
in interfacePrismItemValuesDefinition<T>
-
isIndexed
Description copied from interface:PrismItemStorageDefinition
This is XSD annotation that specifies whether a property should be indexed in the storage. It can only apply to properties. It has following meaning: true: the property must be indexed. If the storage is not able to index the value, it should indicate an error. false: the property should not be indexed. null: data store decides whether to index the property or not.- Specified by:
isIndexed
in interfacePrismItemStorageDefinition
-
getMatchingRuleQName
Description copied from interface:PrismItemMatchingDefinition
Returns matching rule name. Matching rules are algorithms that specify how to compare, normalize and/or order the values. E.g. there are matching rules for case insensitive string comparison, for LDAP DNs, etc. TODO describe the semantics where special normalizations are to be used Use with care until this description is complete.- Specified by:
getMatchingRuleQName
in interfacePrismItemMatchingDefinition<T>
- Returns:
- matching rule name
-
getMatchingRule
Description copied from interface:PrismItemMatchingDefinition
Returns the resolvedMatchingRule
for this property.- Specified by:
getMatchingRule
in interfacePrismItemMatchingDefinition<T>
-
createEmptyDelta
Description copied from interface:ItemDefinition
Creates an empty delta (with appropriate implementation class), pointing to this item definition, with a given path.- Specified by:
createEmptyDelta
in interfaceItemDefinition<T>
- Specified by:
createEmptyDelta
in interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> - Overrides:
createEmptyDelta
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
clone
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<T>
- Specified by:
clone
in interfacePrismPropertyDefinition<T>
- Overrides:
clone
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
cloneWithNewName
@NotNull public @NotNull ItemDefinition<PrismProperty<T>> cloneWithNewName(@NotNull @NotNull ItemName itemName) Description copied from interface:ItemDefinition
Returns a clone of this definition, but with name changed to the provided one.- Specified by:
cloneWithNewName
in interfaceItemDefinition<T>
- See Also:
-
mutator
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
mutator
in interfaceDefinition
- Specified by:
mutator
in interfaceItemDefinition<T>
- Specified by:
mutator
in interfacePrismPropertyDefinition<T>
- Overrides:
mutator
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<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 interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> - Overrides:
instantiate
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
instantiate
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 interfacePrismItemInstantiableDefinition<T,
PrismPropertyValue<T>, PrismProperty<T>, PrismPropertyDefinition<T>, PropertyDelta<T>> - Overrides:
instantiate
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
getPredefinedValuesOid
- Specified by:
getPredefinedValuesOid
in interfacePrismPropertyWrapper<T>
-
setPredefinedValuesOid
- Specified by:
setPredefinedValuesOid
in interfacePrismPropertyWrapper<T>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceItemWrapper<PrismProperty<T>,
PrismPropertyValueWrapper<T>> - Overrides:
isEmpty
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
getItemDefinition
-
isImmutable
public boolean isImmutable()- Specified by:
isImmutable
in interfaceFreezable
-
freeze
public void freeze() -
accept
- Specified by:
accept
in interfaceSmartVisitable<T>
- Returns:
- false if we already was here
-
accept
-
removeNotChangedStatusValue
- Overrides:
removeNotChangedStatusValue
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
createNewEmptyValue
- Specified by:
createNewEmptyValue
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
getTypeClass
Description copied from interface:Definition
Returns a compile-time class that is used to represent items. E.g. returns String, Integer, subclasses of Objectable and Containerable and so on.- Specified by:
getTypeClass
in interfaceDefinition
- Specified by:
getTypeClass
in interfacePrismItemMatchingDefinition<T>
- Specified by:
getTypeClass
in interfacePrismPropertyDefinition<T>
- Overrides:
getTypeClass
in classItemWrapperImpl<PrismProperty<T>,
PrismPropertyValueWrapper<T>>
-
getSchemaContextDefinition
- Specified by:
getSchemaContextDefinition
in interfaceDefinition
-