Interface PrismContainerValueDelegator<C extends Containerable>
- All Superinterfaces:
- DebugDumpable,- Freezable,- MidpointOriginMetadata,- ParentVisitable,- PathVisitable,- PrismContainerValue<C>,- PrismValue,- PrismVisitable,- Revivable,- SchemaLookup.Aware,- Serializable,- Visitable,- Walkable
- All Known Implementing Classes:
- LazyPrismContainerValue
public interface PrismContainerValueDelegator<C extends Containerable>
extends PrismContainerValue<C>
- 
Nested Class SummaryNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismContainerValuePrismContainerValue.RemovedItemDefinitionException
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Method SummaryModifier and TypeMethodDescriptiondefault voiddefault voiddefault voidacceptParentVisitor(Visitor visitor) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 voiddefault <IV extends PrismValue,ID extends ItemDefinition<?>> 
 voidAdds an item to a property container.default voidaddAll(Collection<? extends Item<?, ?>> itemsToAdd) Adds a collection of items to a property container.default voidaddAllReplaceExisting(Collection<? extends Item<?, ?>> itemsToAdd) Adds a collection of items to a property container.default booleanaddRawElement(Object element) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 voidaddReplaceExisting(Item<IV, ID> item) Adds an item to a property container.default PrismContainerValue<C>applyDefinition(@NotNull ItemDefinition<?> itemDefinition) Definition application MAY change the value (currently only for container values).default PrismContainerValue<C>applyDefinition(@NotNull ItemDefinition<?> itemDefinition, boolean force) Definition application MAY change the value (currently only for container values).default PrismContainerValue<C>applyDefinition(@NotNull PrismContainerDefinition<C> containerDef, boolean force) default voidapplyDefinitionLegacy(@NotNull ItemDefinition<?> definition) This one checks that nothing has changed.default voidapplyDefinitionLegacy(@NotNull ItemDefinition<?> definition, boolean force) Definition application MAY change the value (currently only for container/reference values).default Cdefault CasContainerable(Class<C> requiredClass) default voidassertDefinitions(boolean tolerateRaw, Supplier<String> sourceDescriptionSupplier) default voidassertDefinitions(Supplier<String> sourceDescriptionSupplier) default PrismContainer<C>asSingleValuedContainer(@NotNull QName itemName) Returns a single-valued container (with a single-valued definition) holding just this value.default booleancanRepresent(Class<?> clazz) default voidcheckConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope) default voiddefault voiddefault voidcheckNothingExceptFor(QName... allowedItemNames) For simplicity, everything must be qualified: names to check, and existing names.default voidclear()default voidUsed when we are removing the value from the previous parent.default PrismContainerValue<C>cloneComplex(@NotNull CloneStrategy strategy) Complex clone with different cloning strategies.default @NotNull PrismValuedefault booleandefault booleandefault booleancontainsItem(ItemPath propPath, boolean acceptEmptyItem) default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IcreateDetachedSubItem(QName name, Class<I> type, ID itemDefinition, boolean immutable) default PrismContainerValue<C>default <X> PrismProperty<X>createProperty(PrismPropertyDefinition<X> propertyDefinition) default <X> PrismProperty<X>createProperty(QName propertyName) delegate()default booleandeleteRawElement(Object element) default voiddefault Collection<? extends ItemDelta>diff(PrismValue otherValue, ParameterizedEquivalenceStrategy strategy) Assumes matching representations.default booleanequals(PrismValue otherValue, @NotNull EquivalenceStrategy strategy) default booleanequals(PrismValue otherValue, @NotNull ParameterizedEquivalenceStrategy strategy) default booleanequivalent(PrismContainerValue<?> other) default Objectdefault <X extends Containerable>
 PrismContainer<X>findContainer(QName containerName) default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindItem(ItemDefinition itemDefinition, Class<I> type) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 Item<IV,ID> default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 Idefault <T extends Containerable>
 PrismContainer<T>findOrCreateContainer(QName containerName) default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindOrCreateItem(ItemPath path, Class<I> type, ID definition) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 Item<IV,ID> findOrCreateItem(QName containerName) default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindOrCreateItem(QName containerName, Class<I> type) default <X> PrismProperty<X>findOrCreateProperty(ItemPath propertyPath) default <X> PrismProperty<X>findOrCreateProperty(PrismPropertyDefinition propertyDef) default PrismReferencefindOrCreateReference(QName referenceName) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) default <X> PrismProperty<X>findProperty(ItemPath propertyPath) default <X> PrismProperty<X>findProperty(PrismPropertyDefinition<X> propertyDefinition) Finds a specific property in the container by definition.default PrismReferencefindReference(QName elementName) default voidfreeze()Should be no-op (or very quick) if the object is already immutable.default @NotNull Collection<Item<?,?>> getAllItems(@NotNull ItemPath path) default @NotNull Collection<PrismValue>getAllValues(ItemPath path) default @Nullable ComplexTypeDefinitiondefault PrismContainer<C>default PrismContainerDefinition<C>default @NotNull Collection<QName>default <T> TgetItemRealValue(ItemName itemName, Class<T> type) default @NotNull Collection<Item<?,?>> getItems()Returns a collection of items that the property container contains.default <T> TgetNearestValueOfType(@NotNull Class<T> type) default Objectabledefault OriginTypedefault PrismContainerable<C>default PrismContainerValue<?>default @NotNull ItemPathgetPath()default @NotNull Set<PrismProperty<?>>Returns a set of properties that the property container contains.default <T> TgetPropertyRealValue(QName propertyName, Class<T> type) default @Nullable Class<?>default <T> TReturns the statically-typed "real value".default @Nullable Objectdefault @Nullable Objectdefault @NotNull PrismContainerValue<?>default SchemaContextdefault ObjectgetUserData(@NotNull String key) default CgetValue()default @NotNull ValueMetadataReturns the value metadata, creating empty one if there's none.default <C extends Containerable>
 @NotNull PrismContainer<C>Returns value metadata as typed PrismContainer.default @Nullable ValueMetadataReturns the value metadata, if there is any.default booleanReturns true if all contained items have complete definitions.default inthashCode(@NotNull EquivalenceStrategy equivalenceStrategy) default inthashCode(@NotNull ParameterizedEquivalenceStrategy equivalenceStrategy) default booleanLike isEmpty but ignores presence of container value ID.default booleandefault booleandefault booleanisEmpty()default booleandefault booleanReturns `true` if this value represents aPrismObjectvalue.default booleanIgnores untyped values (considers them non-matching).default booleanisRaw()default booleandefault voiddefault <IV extends PrismValue,ID extends ItemDefinition<?>> 
 booleanMerges the provided item into this item.default voidmergeContent(@NotNull PrismContainerValue<?> other, @NotNull List<QName> overwrite) default voidCurrently doing nothing.default voidRecompute the value or otherwise "initialize" it before adding it to a prism tree.default voidrecompute(PrismContext prismContext) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 voiddefault voiddefault voidremoveContainer(ItemPath path) default voidremoveItem(@NotNull ItemPath path) Useful when removing something without the knowledge of its kind.default voidremoveItems(List<? extends ItemPath> itemsToRemove) BEWARE!!default voidremoveMetadataFromPaths(List<? extends ItemPath> pathsToRemoveMetadata) Remove metadata from specified paths Can also remove metadata from the object on which it's called, if the paths contains a "root" path (e.g.default voiddefault voidremovePaths(List<? extends ItemPath> remove) default voidremoveProperty(ItemPath path) default booleanremoveRawElement(Object element) default voidremoveReference(ItemPath path) default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 voiddefault booleanrepresentsSameValue(PrismValue other, EquivalenceStrategy strategy, boolean lax) Returns true if this and other value represent the same value.default voidrevive(PrismContext prismContext) TODO: Is revive necessary if prism context is static?default SchemaLookupdefault voiddefault voidsetOriginObject(Objectable source) default voidsetOriginType(OriginType type) default voidsetOriginTypeRecursive(OriginType originType) Set origin type to all values and subvaluesdefault voiddefault <T> voidsetPropertyRealValue(QName propertyName, T realValue) default voidsetTransient(boolean value) default voidsetUserData(@NotNull String key, Object value) default voidsetValueMetadata(Containerable realValue) Sets metadata from this value (from PCV).default voidsetValueMetadata(PrismContainer<?> valueMetadata) Sets metadata for this value.default voidsetValueMetadata(ValueMetadata valueMetadata) Sets metadata for this value.default intsize()default <IV extends PrismValue,ID extends ItemDefinition<?>> 
 booleanSubtract the provided item from this item.default Stringdefault voidwalk(BiPredicate<? super ItemPath, Boolean> descendPredicate, Predicate<? super ItemPath> consumePredicate, Consumer<? super Item<?, ?>> itemConsumer) Walk through hierarchy of containing items based on provided conditions.Methods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerValueacceptVisitor, clone, getId, isIdOnlyMethods inherited from interface com.evolveum.midpoint.prism.PrismValuegetRootObjectable, getTypeName
- 
Method Details- 
delegatePrismContainerValue<C> delegate()
- 
isImmutabledefault boolean isImmutable()- Specified by:
- isImmutablein interface- Freezable
 
- 
freezedefault void freeze()Description copied from interface:FreezableShould be no-op (or very quick) if the object is already immutable.
- 
checkMutabledefault void checkMutable()- Specified by:
- checkMutablein interface- Freezable
 
- 
checkImmutabledefault void checkImmutable()- Specified by:
- checkImmutablein interface- Freezable
 
- 
reviveDescription copied from interface:RevivableTODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)
- 
getCompileTimeClass- Specified by:
- getCompileTimeClassin interface- PrismContainerValue<C extends Containerable>
 
- 
getPropertiesDescription copied from interface:PrismContainerValueReturns a set of properties that the property container contains.Returned set is immutable! Any change to it will be ignored. This method costs a bit, as the set of properties needs to be created. Consider using other methods if possible. - Specified by:
- getPropertiesin interface- PrismContainerValue<C extends Containerable>
- Returns:
- set of properties that the property container contains.
 
- 
getItemsDescription copied from interface:PrismContainerValueReturns a collection of items that the property container contains. The items may be properties or inner property containers.Returned collection is mutable, but the caller should NOT modify it. Instead - e.g. if it needs to remove values - it should call remove() method. - Specified by:
- getItemsin interface- PrismContainerValue<C extends Containerable>
- Returns:
- collection of items that the property container contains.
 
- 
setOriginTypeRecursiveDescription copied from interface:PrismContainerValueSet origin type to all values and subvalues- Specified by:
- setOriginTypeRecursivein interface- PrismContainerValue<C extends Containerable>
 
- 
keepPaths- Specified by:
- keepPathsin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
sizedefault int size()- Specified by:
- sizein interface- PrismContainerValue<C extends Containerable>
 
- 
deleteRawElement- Specified by:
- deleteRawElementin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
findContainer- Specified by:
- findContainerin interface- PrismContainerValue<C extends Containerable>
 
- 
findOrCreateProperty- Specified by:
- findOrCreatePropertyin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
getPropertyRealValue- Specified by:
- getPropertyRealValuein interface- PrismContainerValue<C extends Containerable>
 
- 
equivalent- Specified by:
- equivalentin interface- PrismContainerValue<C extends Containerable>
 
- 
findOrCreatePropertydefault <X> PrismProperty<X> findOrCreateProperty(PrismPropertyDefinition propertyDef) throws SchemaException - Specified by:
- findOrCreatePropertyin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
removeRawElement- Specified by:
- removeRawElementin interface- PrismContainerValue<C extends Containerable>
 
- 
getParent- Specified by:
- getParentin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- getParentin interface- PrismValue
 
- 
removeItemDescription copied from interface:PrismContainerValueUseful when removing something without the knowledge of its kind.- Specified by:
- removeItemin interface- PrismContainerValue<C extends Containerable>
 
- 
removeProperty- Specified by:
- removePropertyin interface- PrismContainerValue<C extends Containerable>
 
- 
remove- Specified by:
- removein interface- PrismContainerValue<C extends Containerable>
 
- 
findItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemDefinition itemDefinition, Class<I> type) - Specified by:
- findItemin interface- PrismContainerValue<C extends Containerable>
 
- 
hasNoItemsdefault boolean hasNoItems()Description copied from interface:PrismContainerValueLike isEmpty but ignores presence of container value ID.- Specified by:
- hasNoItemsin interface- PrismContainerValue<C extends Containerable>
 
- 
findOrCreateReference- Specified by:
- findOrCreateReferencein interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
accept- Specified by:
- acceptin interface- PathVisitable
- Specified by:
- acceptin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- acceptin interface- PrismValue
 
- 
getComplexTypeDefinition- Specified by:
- getComplexTypeDefinitionin interface- PrismContainerValue<C extends Containerable>
 
- 
hasCompleteDefinitiondefault 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 interface- PrismContainerValue<C extends Containerable>
 
- 
accept- Specified by:
- acceptin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- acceptin interface- PrismValue
- Specified by:
- acceptin interface- Visitable<C extends Containerable>
 
- 
findProperty- Specified by:
- findPropertyin interface- PrismContainerValue<C extends Containerable>
 
- 
recompute- Specified by:
- recomputein interface- PrismContainerValue<C extends Containerable>
- Specified by:
- recomputein interface- PrismValue
 
- 
removeReference- Specified by:
- removeReferencein interface- PrismContainerValue<C extends Containerable>
 
- 
applyDefinitiondefault PrismContainerValue<C> applyDefinition(@NotNull @NotNull ItemDefinition<?> itemDefinition) throws SchemaException Description copied from interface:PrismValueDefinition application MAY change the value (currently only for container values). The caller must deal with that. To be seen if this is a good idea. But probably so, because there are various situations when the definition application changes the nature of a prism value (midPoint shadow associations are currently the only places) but of prism items (midPoint attributes and associations need this; and it must be worked around for now).- Specified by:
- applyDefinitionin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- applyDefinitionin interface- PrismValue
- Throws:
- SchemaException
 
- 
applyDefinitiondefault PrismContainerValue<C> applyDefinition(@NotNull @NotNull ItemDefinition<?> itemDefinition, boolean force) throws SchemaException Description copied from interface:PrismValueDefinition application MAY change the value (currently only for container values). The caller must deal with that.- Specified by:
- applyDefinitionin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- applyDefinitionin interface- PrismValue
- Throws:
- SchemaException
 
- 
addAllDescription copied from interface:PrismContainerValueAdds a collection of items to a property container.- Specified by:
- addAllin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- itemsToAdd- items to add
- Throws:
- SchemaException
 
- 
adddefault <IV extends PrismValue,ID extends ItemDefinition<?>> void add(Item<IV, ID> item) throws SchemaException- Specified by:
- addin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
addAllReplaceExistingdefault void addAllReplaceExisting(Collection<? extends Item<?, ?>> itemsToAdd) throws SchemaExceptionDescription copied from interface:PrismContainerValueAdds a collection of items to a property container. Existing values will be replaced.- Specified by:
- addAllReplaceExistingin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- itemsToAdd- items to add
- Throws:
- SchemaException
 
- 
removeAlldefault void removeAll()- Specified by:
- removeAllin interface- PrismContainerValue<C extends Containerable>
 
- 
getDefinition- Specified by:
- getDefinitionin interface- PrismContainerValue<C extends Containerable>
 
- 
createImmutableClone- Specified by:
- createImmutableClonein interface- PrismContainerValue<C extends Containerable>
- Specified by:
- createImmutableClonein interface- PrismValue
 
- 
adddefault <IV extends PrismValue,ID extends ItemDefinition<?>> void add(Item<IV, ID> item, boolean checkUniqueness) throws SchemaExceptionDescription copied from interface:PrismContainerValueAdds an item to a property container.- Specified by:
- addin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- item- item to add.
- Throws:
- SchemaException
 
- 
asContainerable- Specified by:
- asContainerablein interface- PrismContainerValue<C extends Containerable>
 
- 
assertDefinitions- Specified by:
- assertDefinitionsin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
removeOperationalItemsdefault void removeOperationalItems()- Specified by:
- removeOperationalItemsin interface- PrismContainerValue<C extends Containerable>
 
- 
contains- Specified by:
- containsin interface- PrismContainerValue<C extends Containerable>
 
- 
getRootValue- Specified by:
- getRootValuein interface- PrismContainerValue<C extends Containerable>
- Specified by:
- getRootValuein interface- PrismValue
 
- 
subtractdefault <IV extends PrismValue,ID extends ItemDefinition<?>> boolean subtract(Item<IV, ID> item) throws SchemaExceptionDescription copied from interface:PrismContainerValueSubtract 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 interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
addReplaceExistingdefault <IV extends PrismValue,ID extends ItemDefinition<?>> void addReplaceExisting(Item<IV, ID> item) throws SchemaExceptionDescription copied from interface:PrismContainerValueAdds an item to a property container. Existing value will be replaced.- Specified by:
- addReplaceExistingin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- item- item to add.
- Throws:
- SchemaException
 
- 
schemaLookup- Specified by:
- schemaLookupin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- schemaLookupin interface- PrismValue
- Specified by:
- schemaLookupin interface- SchemaLookup.Aware
 
- 
cleardefault void clear()- Specified by:
- clearin interface- PrismContainerValue<C extends Containerable>
 
- 
removeContainer- Specified by:
- removeContainerin interface- PrismContainerValue<C extends Containerable>
 
- 
assertDefinitionsdefault void assertDefinitions(boolean tolerateRaw, Supplier<String> sourceDescriptionSupplier) throws SchemaException - Specified by:
- assertDefinitionsin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
getItemRealValue- Specified by:
- getItemRealValuein interface- PrismContainerValue<C extends Containerable>
 
- 
mergeContentdefault void mergeContent(@NotNull @NotNull PrismContainerValue<?> other, @NotNull @NotNull List<QName> overwrite) throws SchemaException - Specified by:
- mergeContentin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
addRawElement- Specified by:
- addRawElementin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
getItemNames- Specified by:
- getItemNamesin interface- PrismContainerValue<C extends Containerable>
 
- 
getContainer- Specified by:
- getContainerin interface- PrismContainerValue<C extends Containerable>
 
- 
findOrCreateItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (ItemPath path, Class<I> type, ID definition) throws SchemaException - Specified by:
- findOrCreateItemin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
getValue- Specified by:
- getValuein interface- PrismContainerValue<C extends Containerable>
 
- 
cloneComplexDescription copied from interface:PrismValueComplex clone with different cloning strategies.- Specified by:
- cloneComplexin interface- PrismContainerValue<C extends Containerable>
- Specified by:
- cloneComplexin interface- PrismValue
- See Also:
 
- 
findOrCreateContainerdefault <T extends Containerable> PrismContainer<T> findOrCreateContainer(QName containerName) throws SchemaException - Specified by:
- findOrCreateContainerin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
findItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> findItem(ItemPath itemPath) - Specified by:
- findItemin interface- PrismContainerValue<C extends Containerable>
 
- 
containsItem- Specified by:
- containsItemin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
contains- Specified by:
- containsin interface- PrismContainerValue<C extends Containerable>
 
- 
removeItemsDescription copied from interface:PrismContainerValueBEWARE!! Assumes the container has no parent! Otherwise item.getPath() provides wrong values.- Specified by:
- removeItemsin interface- PrismContainerValue<C extends Containerable>
 
- 
findPropertyDescription copied from interface:PrismContainerValueFinds a specific property in the container by definition.Returns null if nothing is found. - Specified by:
- findPropertyin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- propertyDefinition- property definition to find.
- Returns:
- found property or null
 
- 
findPartialdefault <IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
- findPartialin interface- PrismContainerValue<C extends Containerable>
 
- 
asContainerable- Specified by:
- asContainerablein interface- PrismContainerValue<C extends Containerable>
 
- 
createProperty- Specified by:
- createPropertyin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
findOrCreateItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (QName containerName, Class<I> type) throws SchemaException - Specified by:
- findOrCreateItemin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
removePaths- Specified by:
- removePathsin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
removeMetadataFromPathsdefault void removeMetadataFromPaths(List<? extends ItemPath> pathsToRemoveMetadata) throws SchemaException Description copied from interface:PrismContainerValueRemove metadata from specified paths Can also remove metadata from the object on which it's called, if the paths contains a "root" path (e.g.ItemPath.fromString("/")).- Specified by:
- removeMetadataFromPathsin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- pathsToRemoveMetadata- the paths to items on which metadata should be removed.
- Throws:
- SchemaException
 
- 
mergedefault <IV extends PrismValue,ID extends ItemDefinition<?>> boolean merge(Item<IV, ID> item) throws SchemaExceptionDescription copied from interface:PrismContainerValueMerges the provided item into this item. The values are joined together. Returns true if new item or value was added.- Specified by:
- mergein interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
canRepresent- Specified by:
- canRepresentin interface- PrismContainerValue<C extends Containerable>
 
- 
setPropertyRealValue- Specified by:
- setPropertyRealValuein interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
checkNothingExceptForDescription copied from interface:PrismContainerValueFor simplicity, everything must be qualified: names to check, and existing names.- Specified by:
- checkNothingExceptForin interface- PrismContainerValue<C extends Containerable>
 
- 
applyDefinitiondefault PrismContainerValue<C> applyDefinition(@NotNull @NotNull PrismContainerDefinition<C> containerDef, boolean force) throws SchemaException - Specified by:
- applyDefinitionin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
findReference- Specified by:
- findReferencein interface- PrismContainerValue<C extends Containerable>
 
- 
findItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemPath itemPath, Class<I> type) - Specified by:
- findItemin interface- PrismContainerValue<C extends Containerable>
 
- 
acceptParentVisitor- Specified by:
- acceptParentVisitorin interface- ParentVisitable
- Specified by:
- acceptParentVisitorin interface- PrismContainerValue<C extends Containerable>
 
- 
createDetachedSubItemdefault <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 interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
- PrismContainerValue.RemovedItemDefinitionException
 
- 
createPropertydefault <X> PrismProperty<X> createProperty(PrismPropertyDefinition<X> propertyDefinition) throws SchemaException - Specified by:
- createPropertyin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
asSingleValuedContainerdefault PrismContainer<C> asSingleValuedContainer(@NotNull @NotNull QName itemName) throws SchemaException Description copied from interface:PrismContainerValueReturns a single-valued container (with a single-valued definition) holding just this value.- Specified by:
- asSingleValuedContainerin interface- PrismContainerValue<C extends Containerable>
- Parameters:
- itemName- Item name for newly-created container.
- Throws:
- SchemaException
 
- 
findOrCreateItemdefault <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> findOrCreateItem(QName containerName) throws SchemaException - Specified by:
- findOrCreateItemin interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
replacedefault <IV extends PrismValue,ID extends ItemDefinition<?>> void replace(Item<IV, ID> oldItem, Item<IV, throws SchemaExceptionID> newItem) - Specified by:
- replacein interface- PrismContainerValue<C extends Containerable>
- Throws:
- SchemaException
 
- 
setOriginObject- Specified by:
- setOriginObjectin interface- MidpointOriginMetadata
 
- 
setOriginType- Specified by:
- setOriginTypein interface- MidpointOriginMetadata
 
- 
getOriginType- Specified by:
- getOriginTypein interface- MidpointOriginMetadata
 
- 
getOriginObject- Specified by:
- getOriginObjectin interface- MidpointOriginMetadata
 
- 
getUserData- Specified by:
- getUserDatain interface- PrismValue
 
- 
getUserData- Specified by:
- getUserDatain interface- PrismValue
 
- 
isRawdefault boolean isRaw()- Specified by:
- isRawin interface- PrismValue
 
- 
isTransient- Specified by:
- isTransientin interface- PrismValue
- Returns:
- True if the value is transient, so it won't be serialized if serialization of transient value is disabled.
 
- 
normalizedefault void normalize()Description copied from interface:PrismValueCurrently doing nothing.- Specified by:
- normalizein interface- PrismValue
 
- 
getRealValueIfExists- Specified by:
- getRealValueIfExistsin interface- PrismValue
 
- 
isOfTypeDescription copied from interface:PrismValueIgnores untyped values (considers them non-matching). Supports non-static types. (May be slower.)- Specified by:
- isOfTypein interface- PrismValue
 
- 
hasRealClass- Specified by:
- hasRealClassin interface- PrismValue
 
- 
deleteValueMetadatadefault void deleteValueMetadata()- Specified by:
- deleteValueMetadatain interface- PrismValue
 
- 
clearParentdefault void clearParent()Description copied from interface:PrismValueUsed when we are removing the value from the previous parent. Or when we know that the previous parent will be discarded and we want to avoid unnecessary cloning.- Specified by:
- clearParentin interface- PrismValue
 
- 
equals- Specified by:
- equalsin interface- PrismValue
 
- 
equalsdefault boolean equals(PrismValue otherValue, @NotNull @NotNull ParameterizedEquivalenceStrategy strategy) - Specified by:
- equalsin interface- PrismValue
 
- 
getAllValuesDescription copied from interface:PrismValue- Specified by:
- getAllValuesin interface- PrismValue
 
- 
setUserData- Specified by:
- setUserDatain interface- PrismValue
 
- 
setParent- Specified by:
- setParentin interface- PrismValue
 
- 
getValueMetadataDescription copied from interface:PrismValueReturns the value metadata, creating empty one if there's none. When performance is critical, consider usingPrismValue.getValueMetadataIfExists()instead; or callPrismValue.hasValueMetadata()first.- Specified by:
- getValueMetadatain interface- PrismValue
 
- 
getValueMetadataIfExistsDescription copied from interface:PrismValueReturns the value metadata, if there is any.- Specified by:
- getValueMetadataIfExistsin interface- PrismValue
 
- 
setTransient- Specified by:
- setTransientin interface- PrismValue
 
- 
isEmptydefault boolean isEmpty()- Specified by:
- isEmptyin interface- PrismValue
 
- 
applyDefinitionLegacydefault void applyDefinitionLegacy(@NotNull @NotNull ItemDefinition<?> definition, boolean force) throws SchemaException Description copied from interface:PrismValueDefinition application MAY change the value (currently only for container/reference values). The caller must deal with that.- Specified by:
- applyDefinitionLegacyin interface- PrismValue
- Throws:
- SchemaException
 
- 
getRealValueOrRawType- Specified by:
- getRealValueOrRawTypein interface- PrismValue
 
- 
getValueMetadataAsContainer@Experimental @NotNull default <C extends Containerable> @NotNull PrismContainer<C> getValueMetadataAsContainer()Description copied from interface:PrismValueReturns value metadata as typed PrismContainer. Useful for lazy clients because of the type matching.- Specified by:
- getValueMetadataAsContainerin interface- PrismValue
 
- 
getSchemaContext- Specified by:
- getSchemaContextin interface- PrismValue
 
- 
getNearestValueOfType- Specified by:
- getNearestValueOfTypein interface- PrismValue
 
- 
cloneIfImmutable- Specified by:
- cloneIfImmutablein interface- PrismValue
 
- 
diffdefault Collection<? extends ItemDelta> diff(PrismValue otherValue, ParameterizedEquivalenceStrategy strategy) Description copied from interface:PrismValueAssumes matching representations. I.e. it assumes that both this and otherValue represent the same instance of item. E.g. the container with the same ID.- Specified by:
- diffin interface- PrismValue
 
- 
getRealClass- Specified by:
- getRealClassin interface- PrismValue
 
- 
getAllItemsDescription copied from interface:PrismValueSeeItem.getAllItems(ItemPath). Here the path is never empty.- Specified by:
- getAllItemsin interface- PrismValue
 
- 
hasValueMetadatadefault boolean hasValueMetadata()- Specified by:
- hasValueMetadatain interface- PrismValue
- Returns:
- True if this value has any metadata (i.e. the metadata container has any value). TODO Or should we accept only non-empty values? Probably not.
 
- 
setValueMetadataDescription copied from interface:PrismValueSets metadata for this value.- Specified by:
- setValueMetadatain interface- PrismValue
 
- 
setValueMetadataDescription copied from interface:PrismValueSets metadata for this value.- Specified by:
- setValueMetadatain interface- PrismValue
 
- 
setValueMetadataDescription copied from interface:PrismValueSets metadata from this value (from PCV). To be removed (most probably).- Specified by:
- setValueMetadatain interface- PrismValue
- Throws:
- SchemaException
 
- 
hashCode- Specified by:
- hashCodein interface- PrismValue
 
- 
find- Specified by:
- findin interface- PrismValue
 
- 
isObjectabledefault boolean isObjectable()Description copied from interface:PrismValueReturns `true` if this value represents aPrismObjectvalue. Temporary implementation that uses real value to do the check, asPrismObjectValuecan mask itself as aPrismContainerValue, at least for now.- Specified by:
- isObjectablein interface- PrismValue
 
- 
getParentContainerValue- Specified by:
- getParentContainerValuein interface- PrismValue
 
- 
getPath- Specified by:
- getPathin interface- PrismValue
 
- 
applyDefinitionLegacydefault void applyDefinitionLegacy(@NotNull @NotNull ItemDefinition<?> definition) throws SchemaException Description copied from interface:PrismValueThis one checks that nothing has changed.- Specified by:
- applyDefinitionLegacyin interface- PrismValue
- Throws:
- SchemaException
 
- 
checkConsistenceInternaldefault void checkConsistenceInternal(Itemable rootItem, boolean requireDefinitions, boolean prohibitRaw, ConsistencyCheckScope scope) - Specified by:
- checkConsistenceInternalin interface- PrismValue
 
- 
hashCode- Specified by:
- hashCodein interface- PrismValue
 
- 
representsSameValueDescription 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 interface- PrismValue
- lax- 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.
 
- 
recomputedefault void recompute()Description copied from interface:PrismValueRecompute the value or otherwise "initialize" it before adding it to a prism tree. This may as well do nothing if no recomputing or initialization is needed.- Specified by:
- recomputein interface- PrismValue
 
- 
toHumanReadableString- Specified by:
- toHumanReadableStringin interface- PrismValue
 
- 
setId- Specified by:
- setIdin interface- PrismContainerValue<C extends Containerable>
 
- 
getRealValue@Nullable default <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 interface- PrismValue
 
- 
walkdefault void walk(BiPredicate<? super ItemPath, Boolean> descendPredicate, Predicate<? super ItemPath> consumePredicate, Consumer<? super Item<?, throws SchemaException?>> itemConsumer) Description copied from interface:WalkableWalk through hierarchy of containing items based on provided conditions. Caller can provide two types of conditions. One (consumePredicate) is used to decide if currently iterated item should be consumed (by provideditemConsumer). Second (descendPredicate) tells, if walk should descend into currently iterated item. Descending condition is a BiPredicate in order to allow caller decide not just based on item path, but also based on the fact if the item was also consumed (depending on implementation, the results ofconsumePredicatecould be directly passed to the descending condition).- Specified by:
- walkin interface- Walkable
- Parameters:
- descendPredicate- the- BiPredicatewhich tells whether to descend into current item. Boolean parameter tells whether the item was also consumed or not.
- consumePredicate- the- Predicatewhich tells whether to consume current item.
- itemConsumer- the consumer to consume item with if it passes the- consumePredicatetest.
- Throws:
- SchemaException- when something wrong happen during the walk.
 
 
-