Package com.evolveum.midpoint.prism.impl
Class PrismContainerValueImpl<C extends Containerable>
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.PrismValueImpl
com.evolveum.midpoint.prism.impl.PrismContainerValueImpl<C>
- All Implemented Interfaces:
Freezable,ItemDefinitionTransformer.TransformableValue,MidpointOriginMetadata,ParentVisitable,PathVisitable,PrismContainerValue<C>,PrismContextSensitive,PrismValue,Revivable,Visitable,DebugDumpable,Serializable
- Direct Known Subclasses:
PrismObjectValueImpl
public class PrismContainerValueImpl<C extends Containerable>
extends PrismValueImpl
implements PrismContainerValue<C>
- Author:
- semancik
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismContainerValue
PrismContainerValue.RemovedItemDefinitionException -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ComplexTypeDefinitionstatic final RuntimeExceptionprotected final LinkedHashMap<QName,Item<?, ?>> Fields inherited from class com.evolveum.midpoint.prism.impl.PrismValueImpl
defaultEquivalenceStrategyFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
ConstructorsConstructorDescriptionPrismContainerValueImpl(C containerable) PrismContainerValueImpl(OriginType type, Objectable source, PrismContainerable container, Long id, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext) PrismContainerValueImpl(PrismContext prismContext) PrismContainerValueImpl(C containerable, PrismContext prismContext) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidacceptParentVisitor(Visitor visitor) <IV extends PrismValue,ID extends ItemDefinition<?>>
void<IV extends PrismValue,ID extends ItemDefinition<?>>
voidAdds an item to a property container.voidaddAll(Collection<? extends Item<?, ?>> itemsToAdd) Adds a collection of items to a property container.voidaddAllReplaceExisting(Collection<? extends Item<?, ?>> itemsToAdd) Adds a collection of items to a property container.booleanaddRawElement(Object element) <IV extends PrismValue,ID extends ItemDefinition<?>>
voidaddReplaceExisting(Item<IV, ID> item) Adds an item to a property container.voidapplyDefinition(@NotNull PrismContainerDefinition<C> containerDef, boolean force) voidapplyDefinition(ItemDefinition definition, boolean force) static <T extends Containerable>
TasContainerable(PrismContainerValue<T> value) asContainerable(Class<C> requiredClass) static <C extends Containerable>
Collection<C>asContainerables(Collection<PrismContainerValue<C>> pcvs) static <C extends Containerable>
List<C>asContainerables(List<PrismContainerValue<C>> pcvs) static <C extends Containerable>
List<PrismContainerValue<C>>asPrismContainerValues(List<C> containerables) voidassertDefinitions(boolean tolerateRaw, Supplier<String> sourceDescriptionSupplier) voidassertDefinitions(Supplier<String> sourceDescriptionSupplier) asSingleValuedContainer(@NotNull QName itemName) Returns a single-valued container (with a single-valued definition) holding just this value.booleancanRepresent(Class<?> clazz) voidcheckConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope) voidclear()clone()Literal clone.cloneComplex(CloneStrategy strategy) Complex clone with different cloning strategies.booleanbooleanbooleancontainsItem(ItemPath path, boolean acceptEmptyItem) static <C extends Containerable>
booleancontainsRealValue(Collection<PrismContainerValue<C>> cvalCollection, PrismContainerValue<C> cval) protected voidcopyValues(CloneStrategy strategy, PrismContainerValueImpl<C> clone) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
IcreateDetachedSubItem(QName name, Class<I> type, ID itemDefinition, boolean immutable) <X> PrismProperty<X>createProperty(PrismPropertyDefinition propertyDefinition) <X> PrismProperty<X>createProperty(QName propertyName) debugDump(int indent) protected voidbooleandeleteRawElement(Object element) protected voidbooleandiffMatchingRepresentation(PrismValue otherValue, Collection<? extends ItemDelta> deltas, ParameterizedEquivalenceStrategy strategy, boolean exitOnDiff) booleanequals(PrismValue other, @NotNull ParameterizedEquivalenceStrategy strategy) booleanequivalent(PrismContainerValue<?> other) <X extends Containerable>
PrismContainer<X>findContainer(QName containerName) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
IfindItem(ItemDefinition itemDefinition, Class<I> type) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
I<T extends Containerable>
PrismContainer<T>findOrCreateContainer(QName containerName) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
IfindOrCreateItem(ItemPath path, Class<I> type, ID definition) <IV extends PrismValue,ID extends ItemDefinition<?>>
Item<IV,ID> findOrCreateItem(QName containerName) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
IfindOrCreateItem(QName containerName, Class<I> type) <X> PrismProperty<X>findOrCreateProperty(ItemPath propertyPath) <X> PrismProperty<X>findOrCreateProperty(PrismPropertyDefinition propertyDef) findOrCreateReference(QName referenceName) <IV extends PrismValue,ID extends ItemDefinition<?>>
PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) <X> PrismProperty<X>findProperty(ItemPath propertyPath) <X> PrismProperty<X>findProperty(PrismPropertyDefinition<X> propertyDefinition) Finds a specific property in the container by definition.findReference(QName elementName) findReferenceByCompositeObjectElementName(QName elementName) @NotNull Collection<Item<?,?>> getAllItems(@NotNull ItemPath path) @NotNull Collection<PrismValue>getAllValues(ItemPath path) @Nullable ComplexTypeDefinitiongetId()Returns the value of identifier corresponding to the '#' path: container id or object oid.@NotNull Collection<QName>@NotNull Collection<Item<?,?>> getItems()Returns a set of items that the property container contains.@NotNull ItemPathgetPath()protected Object@NotNull Set<PrismProperty<?>>Returns a set of properties that the property container contains.<T> TgetPropertyRealValue(QName propertyName, Class<T> type) Class<?><T> TReturns the statically-typed "real value".@NotNull PrismContainerValue<?>getValue()booleanReturns true if all contained items have complete definitions.inthashCode(@NotNull ParameterizedEquivalenceStrategy strategy) booleanLike isEmpty but ignores presence of container value ID.booleanisEmpty()booleanisIdOnly()booleanisRaw()void<IV extends PrismValue,ID extends ItemDefinition<?>>
booleanMerges the provided item into this item.voidmergeContent(@NotNull PrismContainerValue<?> other, @NotNull List<QName> overwrite) voidCurrently doing nothing.voidvoidrecompute(PrismContext prismContext) <IV extends PrismValue,ID extends ItemDefinition<?>>
voidvoidvoidremoveContainer(ItemPath path) voidremoveItems(List<? extends ItemPath> itemsToRemove) voidvoidremovePaths(List<? extends ItemPath> remove) voidremoveProperty(ItemPath path) booleanremoveRawElement(Object element) voidremoveReference(ItemPath path) <IV extends PrismValue,ID extends ItemDefinition<?>>
voidbooleanrepresentsSameValue(PrismValue other, boolean lax) Returns true if this and other value represent the same value.voidrevive(PrismContext prismContext) TODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)voidvoidsetOriginTypeRecursive(OriginType originType) Set origin type to all values and subvalues<T> voidsetPropertyRealValue(QName propertyName, T realValue, PrismContext prismContext) intsize()<IV extends PrismValue,ID extends ItemDefinition<?>>
booleanSubtract the provided item from this item.static <T extends Containerable>
List<PrismContainerValue<T>>toString()voidtransformDefinition(ComplexTypeDefinition parentDef, ItemDefinition<?> itemDef, ItemDefinitionTransformer transformation) Methods inherited from class com.evolveum.midpoint.prism.impl.PrismValueImpl
appendOriginDump, applyDefinition, clearParent, copyValues, diff, diffMatchingRepresentation, equals, equals, getOriginObject, getOriginType, getParentContainerValue, getUserData, getUserData, getValueMetadata, hashCode, hashCode, hasValueMetadata, isTransient, recompute, setOriginObject, setOriginType, setParent, setPrismContext, setTransient, setUserData, setValueMetadata, setValueMetadata, setValueMetadataMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.metadata.MidpointOriginMetadata
getOriginObject, getOriginType, setOriginObject, setOriginTypeMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerValue
findItem, getItemRealValueMethods inherited from interface com.evolveum.midpoint.prism.PrismValue
applyDefinition, clearParent, cloneIfImmutable, diff, equals, getNearestValueOfType, getParentContainerValue, getRealValueIfExists, getRealValueOrRawType, getRootObjectable, getUserData, getUserData, getValueMetadata, getValueMetadataAsContainer, hashCode, hasRealClass, hasValueMetadata, isObjectable, isOfType, isTransient, recompute, setParent, setPrismContext, setTransient, setUserData, setValueMetadata, setValueMetadata, setValueMetadata, valueMetadata
-
Field Details
-
DIFFERENT_ITEMS_EXCEPTION
-
items
-
unqualifiedItemNames
-
complexTypeDefinition
-
-
Constructor Details
-
PrismContainerValueImpl
public PrismContainerValueImpl() -
PrismContainerValueImpl
-
PrismContainerValueImpl
-
PrismContainerValueImpl
-
PrismContainerValueImpl
public PrismContainerValueImpl(OriginType type, Objectable source, PrismContainerable container, Long id, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext)
-
-
Method Details
-
asContainerable
-
getPrismContext
- Specified by:
getPrismContextin interfacePrismContextSensitive- Overrides:
getPrismContextin classPrismValueImpl
-
getPrismContextLocal
- Specified by:
getPrismContextLocalin interfacePrismContainerValue<C extends Containerable>
-
getItems
Returns a set of items that the property container contains. The items may be properties or inner property containers.The set may be null. In case there are no properties an empty set is returned.
Returned set is mutable. Live object is returned.
- Specified by:
getItemsin interfacePrismContainerValue<C extends Containerable>- Returns:
- set of items that the property container contains.
-
getItems
-
size
public int size()- Specified by:
sizein interfacePrismContainerValue<C extends Containerable>
-
getProperties
Returns a set of properties that the property container contains.The set must not be null. In case there are no properties an empty set is returned.
Returned set is immutable! Any change to it will be ignored.
- Specified by:
getPropertiesin interfacePrismContainerValue<C extends Containerable>- Returns:
- set of properties that the property container contains.
-
getId
- Specified by:
getIdin interfacePrismContainerValue<C extends Containerable>
-
setId
- Specified by:
setIdin interfacePrismContainerValue<C extends Containerable>
-
getParent
- Specified by:
getParentin interfacePrismContainerValue<C extends Containerable>- Specified by:
getParentin interfacePrismValue- Overrides:
getParentin classPrismValueImpl
-
getContainer
- Specified by:
getContainerin interfacePrismContainerValue<C extends Containerable>
-
getPath
- Specified by:
getPathin interfacePrismValue- Overrides:
getPathin classPrismValueImpl
-
getPathComponent
- Overrides:
getPathComponentin classPrismValueImpl
-
getValue
- Specified by:
getValuein interfacePrismContainerValue<C extends Containerable>
-
asContainerable
- Specified by:
asContainerablein interfacePrismContainerValue<C extends Containerable>
-
getCompileTimeClass
- Specified by:
getCompileTimeClassin interfacePrismContainerValue<C extends Containerable>
-
canRepresent
- Specified by:
canRepresentin interfacePrismContainerValue<C extends Containerable>
-
asContainerable
- Specified by:
asContainerablein interfacePrismContainerValue<C extends Containerable>
-
getItemNames
- Specified by:
getItemNamesin interfacePrismContainerValue<C extends Containerable>
-
add
public <IV extends PrismValue,ID extends ItemDefinition<?>> void add(Item<IV, ID> item) throws SchemaException- Specified by:
addin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
add
public <IV extends PrismValue,ID extends ItemDefinition<?>> void add(Item<IV, ID> item, boolean checkUniqueness) throws SchemaExceptionAdds an item to a property container.- Specified by:
addin interfacePrismContainerValue<C extends Containerable>- Parameters:
item- item to add.- Throws:
IllegalArgumentException- an attempt to add value that already existsSchemaException
-
merge
public <IV extends PrismValue,ID extends ItemDefinition<?>> boolean merge(Item<IV, ID> item) throws SchemaExceptionMerges the provided item into this item. The values are joined together. Returns true if new item or value was added.- Specified by:
mergein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
subtract
public <IV extends PrismValue,ID extends ItemDefinition<?>> boolean subtract(Item<IV, ID> item) throws SchemaExceptionSubtract the provided item from this item. The values of the provided item are deleted from this item. Returns true if this item was changed.- Specified by:
subtractin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
addReplaceExisting
public <IV extends PrismValue,ID extends ItemDefinition<?>> void addReplaceExisting(Item<IV, ID> item) throws SchemaExceptionAdds an item to a property container. Existing value will be replaced.- Specified by:
addReplaceExistingin interfacePrismContainerValue<C extends Containerable>- Parameters:
item- item to add.- Throws:
SchemaException
-
remove
public <IV extends PrismValue,ID extends ItemDefinition<?>> void remove(@NotNull @NotNull Item<IV, ID> item) - Specified by:
removein interfacePrismContainerValue<C extends Containerable>
-
removeAll
public void removeAll()- Specified by:
removeAllin interfacePrismContainerValue<C extends Containerable>
-
addAll
Adds a collection of items to a property container.- Specified by:
addAllin interfacePrismContainerValue<C extends Containerable>- Parameters:
itemsToAdd- items to add- Throws:
IllegalArgumentException- an attempt to add value that already existsSchemaException
-
addAllReplaceExisting
public void addAllReplaceExisting(Collection<? extends Item<?, ?>> itemsToAdd) throws SchemaExceptionAdds a collection of items to a property container. Existing values will be replaced.- Specified by:
addAllReplaceExistingin interfacePrismContainerValue<C extends Containerable>- Parameters:
itemsToAdd- items to add- Throws:
SchemaException
-
replace
public <IV extends PrismValue,ID extends ItemDefinition<?>> void replace(Item<IV, ID> oldItem, Item<IV, throws SchemaExceptionID> newItem) - Specified by:
replacein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
clear
public void clear()- Specified by:
clearin interfacePrismContainerValue<C extends Containerable>
-
contains
- Specified by:
containsin interfacePrismContainerValue<C extends Containerable>
-
contains
- Specified by:
containsin interfacePrismContainerValue<C extends Containerable>
-
containsRealValue
public static <C extends Containerable> boolean containsRealValue(Collection<PrismContainerValue<C>> cvalCollection, PrismContainerValue<C> cval) -
find
- Specified by:
findin interfacePrismValue
-
findPartial
public <IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
findPartialin interfacePrismContainerValue<C extends Containerable>
-
findProperty
- Specified by:
findPropertyin interfacePrismContainerValue<C extends Containerable>
-
findProperty
Finds a specific property in the container by definition.Returns null if nothing is found.
- Specified by:
findPropertyin interfacePrismContainerValue<C extends Containerable>- Parameters:
propertyDefinition- property definition to find.- Returns:
- found property or null
-
findContainer
- Specified by:
findContainerin interfacePrismContainerValue<C extends Containerable>
-
findReference
- Specified by:
findReferencein interfacePrismContainerValue<C extends Containerable>
-
findReferenceByCompositeObjectElementName
- Specified by:
findReferenceByCompositeObjectElementNamein interfacePrismContainerValue<C extends Containerable>
-
findItem
public <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemPath itemPath, Class<I> type) - Specified by:
findItemin interfacePrismContainerValue<C extends Containerable>
-
findItem
public <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemDefinition itemDefinition, Class<I> type) - Specified by:
findItemin interfacePrismContainerValue<C extends Containerable>
-
containsItem
- Specified by:
containsItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
createDetachedSubItem
public <IV extends PrismValue,ID extends ItemDefinition<?>, I createDetachedSubItemI extends Item<IV, ID>> (QName name, Class<I> type, ID itemDefinition, boolean immutable) throws SchemaException, PrismContainerValue.RemovedItemDefinitionException - Specified by:
createDetachedSubItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaExceptionPrismContainerValue.RemovedItemDefinitionException
-
findOrCreateContainer
public <T extends Containerable> PrismContainer<T> findOrCreateContainer(QName containerName) throws SchemaException - Specified by:
findOrCreateContainerin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateReference
- Specified by:
findOrCreateReferencein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateItem
public <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> findOrCreateItem(QName containerName) throws SchemaException - Specified by:
findOrCreateItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateItem
public <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (QName containerName, Class<I> type) throws SchemaException - Specified by:
findOrCreateItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateItem
public <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (ItemPath path, Class<I> type, ID definition) throws SchemaException - Specified by:
findOrCreateItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateProperty
- Specified by:
findOrCreatePropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateProperty
public <X> PrismProperty<X> findOrCreateProperty(PrismPropertyDefinition propertyDef) throws SchemaException - Specified by:
findOrCreatePropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
createProperty
- Specified by:
createPropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
createProperty
public <X> PrismProperty<X> createProperty(PrismPropertyDefinition propertyDefinition) throws SchemaException - Specified by:
createPropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
removeProperty
- Specified by:
removePropertyin interfacePrismContainerValue<C extends Containerable>
-
removeContainer
- Specified by:
removeContainerin interfacePrismContainerValue<C extends Containerable>
-
removeReference
- Specified by:
removeReferencein interfacePrismContainerValue<C extends Containerable>
-
setPropertyRealValue
public <T> void setPropertyRealValue(QName propertyName, T realValue, PrismContext prismContext) throws SchemaException - Specified by:
setPropertyRealValuein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
getPropertyRealValue
- Specified by:
getPropertyRealValuein interfacePrismContainerValue<C extends Containerable>
-
recompute
- Specified by:
recomputein interfacePrismContainerValue<C extends Containerable>- Specified by:
recomputein interfacePrismValue- Specified by:
recomputein classPrismValueImpl
-
accept
- Specified by:
acceptin interfacePrismContainerValue<C extends Containerable>- Specified by:
acceptin interfacePrismValue- Specified by:
acceptin interfaceVisitable<C extends Containerable>- Overrides:
acceptin classPrismValueImpl
-
accept
- Specified by:
acceptin interfacePathVisitable- Specified by:
acceptin interfacePrismContainerValue<C extends Containerable>- Specified by:
acceptin interfacePrismValue- Overrides:
acceptin classPrismValueImpl
-
acceptParentVisitor
- Specified by:
acceptParentVisitorin interfaceParentVisitable- Specified by:
acceptParentVisitorin interfacePrismContainerValue<C extends Containerable>
-
hasCompleteDefinition
public boolean hasCompleteDefinition()Description copied from interface:PrismContainerValueReturns true if all contained items have complete definitions. (Currently does not check the definition of this value itself.)- Specified by:
hasCompleteDefinitionin interfacePrismContainerValue<C extends Containerable>
-
representsSameValue
Description copied from interface:PrismValueReturns true if this and other value represent the same value. E.g. if they have the same IDs, OIDs or it is otherwise know that they "belong together" without a deep examination of the values.- Specified by:
representsSameValuein interfacePrismValue- Overrides:
representsSameValuein classPrismValueImpllax- If we can reasonably assume that the two values belong together even if they don't have the same ID, e.g. if they both belong to single-valued parent items. This is useful e.g. when comparing multi-valued containers. But can cause problems when we want to be sure we are removing the correct value.
-
diffMatchingRepresentation
public boolean diffMatchingRepresentation(PrismValue otherValue, Collection<? extends ItemDelta> deltas, ParameterizedEquivalenceStrategy strategy, boolean exitOnDiff) - Overrides:
diffMatchingRepresentationin classPrismValueImpl
-
isRaw
public boolean isRaw()- Specified by:
isRawin interfacePrismValue
-
addRawElement
- Specified by:
addRawElementin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
deleteRawElement
- Specified by:
deleteRawElementin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
removeRawElement
- Specified by:
removeRawElementin interfacePrismContainerValue<C extends Containerable>
-
getDefinition
- Specified by:
getDefinitionin interfacePrismContainerValue<C extends Containerable>- Overrides:
getDefinitionin classPrismValueImpl
-
applyDefinition
- Specified by:
applyDefinitionin interfacePrismContainerValue<C extends Containerable>- Specified by:
applyDefinitionin interfacePrismValue- Overrides:
applyDefinitionin classPrismValueImpl- Throws:
SchemaException
-
applyDefinition
public void applyDefinition(@NotNull @NotNull PrismContainerDefinition<C> containerDef, boolean force) throws SchemaException - Specified by:
applyDefinitionin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
revive
Description copied from interface:RevivableTODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)- Specified by:
revivein interfaceRevivable- Overrides:
revivein classPrismValueImpl
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfacePrismValue
-
hasNoItems
public boolean hasNoItems()Description copied from interface:PrismContainerValueLike isEmpty but ignores presence of container value ID.- Specified by:
hasNoItemsin interfacePrismContainerValue<C extends Containerable>
-
isIdOnly
public boolean isIdOnly()- Specified by:
isIdOnlyin interfacePrismContainerValue<C extends Containerable>
-
normalize
public void normalize()Description copied from interface:PrismValueCurrently doing nothing.- Specified by:
normalizein interfacePrismValue- Overrides:
normalizein classPrismValueImpl
-
checkConsistenceInternal
public void checkConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope) - Specified by:
checkConsistenceInternalin interfacePrismValue- Specified by:
checkConsistenceInternalin classPrismValueImpl
-
assertDefinitions
- Specified by:
assertDefinitionsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
assertDefinitions
public void assertDefinitions(boolean tolerateRaw, Supplier<String> sourceDescriptionSupplier) throws SchemaException - Specified by:
assertDefinitionsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
clone
Description copied from class:PrismValueImplLiteral clone.- Specified by:
clonein interfacePrismContainerValue<C extends Containerable>- Specified by:
clonein interfacePrismValue- Specified by:
clonein classPrismValueImpl
-
createImmutableClone
- Specified by:
createImmutableClonein interfacePrismContainerValue<C extends Containerable>- Specified by:
createImmutableClonein interfacePrismValue- Overrides:
createImmutableClonein classPrismValueImpl
-
cloneComplex
Description copied from class:PrismValueImplComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfacePrismContainerValue<C extends Containerable>- Specified by:
cloneComplexin interfacePrismValue- Specified by:
cloneComplexin classPrismValueImpl- See Also:
-
copyValues
-
equals
public boolean equals(PrismValue other, @NotNull @NotNull ParameterizedEquivalenceStrategy strategy) - Specified by:
equalsin interfacePrismValue- Overrides:
equalsin classPrismValueImpl
-
equivalent
- Specified by:
equivalentin interfacePrismContainerValue<C extends Containerable>
-
hashCode
- Specified by:
hashCodein interfacePrismValue- Overrides:
hashCodein classPrismValueImpl
-
toString
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable
-
debugDumpIdentifiers
-
detailedDebugDumpStart
-
toHumanReadableString
- Specified by:
toHumanReadableStringin interfacePrismValue- Specified by:
toHumanReadableStringin classPrismValueImpl
-
getTypeName
- Specified by:
getTypeNamein interfacePrismValue- Overrides:
getTypeNamein classPrismValueImpl
-
getComplexTypeDefinition
- Specified by:
getComplexTypeDefinitionin interfacePrismContainerValue<C extends Containerable>
-
toPcvList
-
performFreeze
public void performFreeze()- Overrides:
performFreezein classPrismValueImpl
-
getRealClass
- Specified by:
getRealClassin interfacePrismValue- Specified by:
getRealClassin classPrismValueImpl
-
getRealValue
@NotNull public <T> T getRealValue()Description copied from interface:PrismValueReturns the statically-typed "real value". TODO specify when exactly the returned value can be null. TODO decide for containers: they throw an exception if the value is not statically typed.- Specified by:
getRealValuein interfacePrismValue- Specified by:
getRealValuein classPrismValueImpl
-
asSingleValuedContainer
public PrismContainer<C> asSingleValuedContainer(@NotNull @NotNull QName itemName) throws SchemaException Returns a single-valued container (with a single-valued definition) holding just this value.- Specified by:
asSingleValuedContainerin interfacePrismContainerValue<C extends Containerable>- Parameters:
itemName- Item name for newly-created container.- Throws:
SchemaException
-
mergeContent
@Experimental public void mergeContent(@NotNull @NotNull PrismContainerValue<?> other, @NotNull @NotNull List<QName> overwrite) throws SchemaException - Specified by:
mergeContentin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
getRootValue
- Specified by:
getRootValuein interfacePrismContainerValue<C extends Containerable>- Specified by:
getRootValuein interfacePrismValue- Overrides:
getRootValuein classPrismValueImpl
-
asPrismContainerValues
public static <C extends Containerable> List<PrismContainerValue<C>> asPrismContainerValues(List<C> containerables) -
asContainerables
-
asContainerables
public static <C extends Containerable> Collection<C> asContainerables(Collection<PrismContainerValue<C>> pcvs) -
setOriginTypeRecursive
Set origin type to all values and subvalues- Specified by:
setOriginTypeRecursivein interfacePrismContainerValue<C extends Containerable>
-
keepPaths
- Specified by:
keepPathsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
removePaths
- Specified by:
removePathsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
getAllValues
Description copied from interface:PrismValue- Specified by:
getAllValuesin interfacePrismValue- Overrides:
getAllValuesin classPrismValueImpl
-
getAllItems
Description copied from interface:PrismValueSeeItem.getAllItems(ItemPath). Here the path is never empty.- Specified by:
getAllItemsin interfacePrismValue- Overrides:
getAllItemsin classPrismValueImpl
-
getIdentifier
Returns the value of identifier corresponding to the '#' path: container id or object oid. -
removeItems
- Specified by:
removeItemsin interfacePrismContainerValue<C extends Containerable>
-
removeOperationalItems
public void removeOperationalItems()- Specified by:
removeOperationalItemsin interfacePrismContainerValue<C extends Containerable>
-
transformDefinition
public void transformDefinition(ComplexTypeDefinition parentDef, ItemDefinition<?> itemDef, ItemDefinitionTransformer transformation) - Specified by:
transformDefinitionin interfaceItemDefinitionTransformer.TransformableValue
-