Interface PrismContainerValueDelegator<C extends Containerable>
- All Superinterfaces:
ComplexCopyable<PrismValue>,DebugDumpable,Freezable,MidpointOriginMetadata,ParentVisitable,PathVisitable,PrismContainerValue<C>,PrismValue,PrismValueDelegator,PrismVisitable,Revivable,SchemaLookup.Aware,Serializable,Visitable,Walkable
- All Known Subinterfaces:
PrismObjectValueDelegator<O>
- All Known Implementing Classes:
GenericLazyPrismContainerValue
public interface PrismContainerValueDelegator<C extends Containerable>
extends PrismContainerValue<C>, PrismValueDelegator
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismContainerValue
PrismContainerValue.RemovedItemDefinitionException -
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptiondefault voiddefault voiddefault voidacceptParentVisitor(Visitor visitor) default booleanacceptVisitor(PrismVisitor visitor) Accept visitor and visits prism item or value and it's children Note: name is not accept, but accept visitor to prevent naming conflict in lambdas dynamic languages such as groovy withVisitable.accept(com.evolveum.midpoint.prism.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 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 voidcheckNothingExceptFor(QName... allowedItemNames) For simplicity, everything must be qualified: names to check, and existing names.default voidclear()default PrismContainerValue<C>clone()Literal clone.default PrismContainerValue<C>cloneComplex(@NotNull CloneStrategy strategy) Complex clone with different cloning strategies.default 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 booleanequivalent(PrismContainerValue<?> other) default <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 @Nullable ComplexTypeDefinitiondefault PrismContainer<C>default PrismContainerDefinition<C>default LonggetId()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 PrismContainerable<C>default @NotNull Set<PrismProperty<?>>Returns a set of properties that the property container contains.default <T> TgetPropertyRealValue(QName propertyName, Class<T> type) default @NotNull PrismContainerValue<?>default CgetValue()default booleanReturns true if all contained items have complete definitions.default booleanLike isEmpty but ignores presence of container value ID.default booleanisIdOnly()default voiddefault <IV extends PrismValue,ID extends ItemDefinition<?>>
booleanMerges the provided item into this item.default voidmergeContent(@NotNull PrismContainerValue<?> other, @NotNull List<QName> overwrite) 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 voidrevive(PrismContext prismContext) TODO: Is revive necessary if prism context is static?default SchemaLookupdefault voiddefault voidsetOriginTypeRecursive(OriginType originType) Set origin type to all values and subvaluesdefault <T> voidsetPropertyRealValue(QName propertyName, T realValue) default intsize()default <IV extends PrismValue,ID extends ItemDefinition<?>>
booleanSubtract the provided item from this item.default 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.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerValue
copy, immutableCopy, mutableCopyMethods inherited from interface com.evolveum.midpoint.prism.deleg.PrismValueDelegator
applyDefinitionLegacy, applyDefinitionLegacy, checkConsistenceInternal, clearParent, cloneIfImmutable, debugDump, debugDump, debugDumpLazily, debugDumpLazily, deleteValueMetadata, diff, equals, equals, find, getAllItems, getAllValues, getNearestValueOfType, getOriginObject, getOriginType, getParentContainerValue, getPath, getRealClass, getRealValue, getRealValueIfExists, getRealValueOrRawType, getRootObjectable, getSchemaContext, getTypeName, getUserData, getUserData, getValueMetadata, getValueMetadataAsContainer, getValueMetadataIfExists, hashCode, hashCode, hasRealClass, hasValueMetadata, isEmpty, isObjectable, isOfType, isRaw, isTransient, normalize, recompute, representsSameValue, setOriginObject, setOriginType, setParent, setTransient, setUserData, setValueMetadata, setValueMetadata, setValueMetadata, toHumanReadableString
-
Method Details
-
delegate
PrismContainerValue<C> delegate()- Specified by:
delegatein interfacePrismValueDelegator
-
acceptVisitor
Description copied from interface:PrismVisitableAccept visitor and visits prism item or value and it's children Note: name is not accept, but accept visitor to prevent naming conflict in lambdas dynamic languages such as groovy withVisitable.accept(com.evolveum.midpoint.prism.Visitor)- Specified by:
acceptVisitorin interfacePrismContainerValue<C extends Containerable>- Specified by:
acceptVisitorin interfacePrismValue- Specified by:
acceptVisitorin interfacePrismValueDelegator- Specified by:
acceptVisitorin interfacePrismVisitable- Returns:
- return value of
PrismVisitor.visit(PrismVisitable)invocation for this visitable.
-
schemaLookup
- Specified by:
schemaLookupin interfacePrismContainerValue<C extends Containerable>- Specified by:
schemaLookupin interfacePrismValue- Specified by:
schemaLookupin interfacePrismValueDelegator- Specified by:
schemaLookupin interfaceSchemaLookup.Aware
-
checkNothingExceptFor
Description copied from interface:PrismContainerValueFor simplicity, everything must be qualified: names to check, and existing names.- Specified by:
checkNothingExceptForin interfacePrismContainerValue<C extends Containerable>
-
hasNoItems
default boolean hasNoItems()Description copied from interface:PrismContainerValueLike isEmpty but ignores presence of container value ID.- Specified by:
hasNoItemsin interfacePrismContainerValue<C extends Containerable>
-
acceptParentVisitor
- Specified by:
acceptParentVisitorin interfaceParentVisitable- Specified by:
acceptParentVisitorin interfacePrismContainerValue<C extends Containerable>
-
getDefinition
- Specified by:
getDefinitionin interfacePrismContainerValue<C extends Containerable>
-
removeOperationalItems
default void removeOperationalItems()- Specified by:
removeOperationalItemsin interfacePrismContainerValue<C extends Containerable>
-
removeItems
Description copied from interface:PrismContainerValueBEWARE!! Assumes the container has no parent! Otherwise item.getPath() provides wrong values.- Specified by:
removeItemsin interfacePrismContainerValue<C extends Containerable>
-
removeMetadataFromPaths
default 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 interfacePrismContainerValue<C extends Containerable>- Parameters:
pathsToRemoveMetadata- the paths to items on which metadata should be removed.- Throws:
SchemaException
-
removePaths
- Specified by:
removePathsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
keepPaths
- Specified by:
keepPathsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
setOriginTypeRecursive
Description copied from interface:PrismContainerValueSet origin type to all values and subvalues- Specified by:
setOriginTypeRecursivein interfacePrismContainerValue<C extends Containerable>
-
getRootValue
- Specified by:
getRootValuein interfacePrismContainerValue<C extends Containerable>- Specified by:
getRootValuein interfacePrismValue- Specified by:
getRootValuein interfacePrismValueDelegator
-
mergeContent
default void mergeContent(@NotNull @NotNull PrismContainerValue<?> other, @NotNull @NotNull List<QName> overwrite) throws SchemaException - Specified by:
mergeContentin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
asSingleValuedContainer
default 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 interfacePrismContainerValue<C extends Containerable>- Parameters:
itemName- Item name for newly-created container.- Throws:
SchemaException
-
getComplexTypeDefinition
- Specified by:
getComplexTypeDefinitionin interfacePrismContainerValue<C extends Containerable>
-
equivalent
- Specified by:
equivalentin interfacePrismContainerValue<C extends Containerable>
-
cloneComplex
Description copied from interface:PrismValueComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfaceComplexCopyable<C extends Containerable>- Specified by:
cloneComplexin interfacePrismContainerValue<C extends Containerable>- Specified by:
cloneComplexin interfacePrismValue- Specified by:
cloneComplexin interfacePrismValueDelegator- See Also:
-
createImmutableClone
- Specified by:
createImmutableClonein interfacePrismContainerValue<C extends Containerable>- Specified by:
createImmutableClonein interfacePrismValue- Specified by:
createImmutableClonein interfacePrismValueDelegator
-
clone
Description copied from interface:PrismValueLiteral clone.- Specified by:
clonein interfacePrismContainerValue<C extends Containerable>- Specified by:
clonein interfacePrismValue- Specified by:
clonein interfacePrismValueDelegator
-
assertDefinitions
default void assertDefinitions(boolean tolerateRaw, Supplier<String> sourceDescriptionSupplier) throws SchemaException - Specified by:
assertDefinitionsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
assertDefinitions
- Specified by:
assertDefinitionsin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
isIdOnly
default boolean isIdOnly()- Specified by:
isIdOnlyin interfacePrismContainerValue<C extends Containerable>
-
applyDefinition
default PrismContainerValue<C> applyDefinition(@NotNull @NotNull PrismContainerDefinition<C> containerDef, boolean force) throws SchemaException - Specified by:
applyDefinitionin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
applyDefinition
default 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 interfacePrismContainerValue<C extends Containerable>- Specified by:
applyDefinitionin interfacePrismValue- Specified by:
applyDefinitionin interfacePrismValueDelegator- Throws:
SchemaException
-
applyDefinition
default 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 interfacePrismContainerValue<C extends Containerable>- Specified by:
applyDefinitionin interfacePrismValue- Specified by:
applyDefinitionin interfacePrismValueDelegator- Throws:
SchemaException
-
removeRawElement
- Specified by:
removeRawElementin interfacePrismContainerValue<C extends Containerable>
-
deleteRawElement
- Specified by:
deleteRawElementin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
addRawElement
- Specified by:
addRawElementin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
hasCompleteDefinition
default 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>
-
accept
- Specified by:
acceptin interfacePathVisitable- Specified by:
acceptin interfacePrismContainerValue<C extends Containerable>- Specified by:
acceptin interfacePrismValue- Specified by:
acceptin interfacePrismValueDelegator
-
accept
- Specified by:
acceptin interfacePrismContainerValue<C extends Containerable>- Specified by:
acceptin interfacePrismValue- Specified by:
acceptin interfacePrismValueDelegator- Specified by:
acceptin interfaceVisitable<C extends Containerable>
-
recompute
- Specified by:
recomputein interfacePrismContainerValue<C extends Containerable>- Specified by:
recomputein interfacePrismValue- Specified by:
recomputein interfacePrismValueDelegator
-
getItemRealValue
- Specified by:
getItemRealValuein interfacePrismContainerValue<C extends Containerable>
-
getPropertyRealValue
- Specified by:
getPropertyRealValuein interfacePrismContainerValue<C extends Containerable>
-
setPropertyRealValue
- Specified by:
setPropertyRealValuein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
removeReference
- Specified by:
removeReferencein interfacePrismContainerValue<C extends Containerable>
-
removeContainer
- Specified by:
removeContainerin interfacePrismContainerValue<C extends Containerable>
-
removeProperty
- Specified by:
removePropertyin interfacePrismContainerValue<C extends Containerable>
-
removeItem
Description copied from interface:PrismContainerValueUseful when removing something without the knowledge of its kind.- Specified by:
removeItemin interfacePrismContainerValue<C extends Containerable>
-
createProperty
default <X> PrismProperty<X> createProperty(PrismPropertyDefinition<X> propertyDefinition) throws SchemaException - Specified by:
createPropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
createProperty
- Specified by:
createPropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateProperty
default <X> PrismProperty<X> findOrCreateProperty(PrismPropertyDefinition propertyDef) throws SchemaException - Specified by:
findOrCreatePropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateProperty
- Specified by:
findOrCreatePropertyin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateItem
default <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
-
findOrCreateItem
default <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
default <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> findOrCreateItem(QName containerName) throws SchemaException - Specified by:
findOrCreateItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateReference
- Specified by:
findOrCreateReferencein interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findOrCreateContainer
default <T extends Containerable> PrismContainer<T> findOrCreateContainer(QName containerName) throws SchemaException - Specified by:
findOrCreateContainerin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
createDetachedSubItem
default <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
-
containsItem
- Specified by:
containsItemin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
findItem
default <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemDefinition itemDefinition, Class<I> type) - Specified by:
findItemin interfacePrismContainerValue<C extends Containerable>
-
findItem
default <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> findItem(ItemPath itemPath) - Specified by:
findItemin interfacePrismContainerValue<C extends Containerable>
-
findItem
default <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemPath itemPath, Class<I> type) - Specified by:
findItemin interfacePrismContainerValue<C extends Containerable>
-
findReference
- Specified by:
findReferencein interfacePrismContainerValue<C extends Containerable>
-
findContainer
- Specified by:
findContainerin interfacePrismContainerValue<C extends Containerable>
-
findProperty
Description copied from interface:PrismContainerValueFinds 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
-
findProperty
- Specified by:
findPropertyin interfacePrismContainerValue<C extends Containerable>
-
findPartial
default <IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
findPartialin interfacePrismContainerValue<C extends Containerable>
-
contains
- Specified by:
containsin interfacePrismContainerValue<C extends Containerable>
-
contains
- Specified by:
containsin interfacePrismContainerValue<C extends Containerable>
-
clear
default void clear()- Specified by:
clearin interfacePrismContainerValue<C extends Containerable>
-
replace
default <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
-
addAllReplaceExisting
default 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 interfacePrismContainerValue<C extends Containerable>- Parameters:
itemsToAdd- items to add- Throws:
SchemaException
-
addAll
Description copied from interface:PrismContainerValueAdds a collection of items to a property container.- Specified by:
addAllin interfacePrismContainerValue<C extends Containerable>- Parameters:
itemsToAdd- items to add- Throws:
SchemaException
-
removeAll
default void removeAll()- Specified by:
removeAllin interfacePrismContainerValue<C extends Containerable>
-
remove
- Specified by:
removein interfacePrismContainerValue<C extends Containerable>
-
addReplaceExisting
default <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 interfacePrismContainerValue<C extends Containerable>- Parameters:
item- item to add.- Throws:
SchemaException
-
subtract
default <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 interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
merge
default <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 interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
add
default <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 interfacePrismContainerValue<C extends Containerable>- Parameters:
item- item to add.- Throws:
SchemaException
-
add
default <IV extends PrismValue,ID extends ItemDefinition<?>> void add(Item<IV, ID> item) throws SchemaException- Specified by:
addin interfacePrismContainerValue<C extends Containerable>- Throws:
SchemaException
-
getItemNames
- Specified by:
getItemNamesin interfacePrismContainerValue<C extends Containerable>
-
asContainerable
- Specified by:
asContainerablein interfacePrismContainerValue<C extends Containerable>
-
canRepresent
- Specified by:
canRepresentin interfacePrismContainerValue<C extends Containerable>
-
getCompileTimeClass
- Specified by:
getCompileTimeClassin interfacePrismContainerValue<C extends Containerable>
-
asContainerable
- Specified by:
asContainerablein interfacePrismContainerValue<C extends Containerable>
-
getValue
- Specified by:
getValuein interfacePrismContainerValue<C extends Containerable>
-
getContainer
- Specified by:
getContainerin interfacePrismContainerValue<C extends Containerable>
-
getParent
- Specified by:
getParentin interfacePrismContainerValue<C extends Containerable>- Specified by:
getParentin interfacePrismValue- Specified by:
getParentin interfacePrismValueDelegator
-
setId
- Specified by:
setIdin interfacePrismContainerValue<C extends Containerable>
-
getId
- Specified by:
getIdin interfacePrismContainerValue<C extends Containerable>
-
getProperties
Description 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 interfacePrismContainerValue<C extends Containerable>- Returns:
- set of properties that the property container contains.
-
size
default int size()- Specified by:
sizein interfacePrismContainerValue<C extends Containerable>
-
getItems
Description 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 interfacePrismContainerValue<C extends Containerable>- Returns:
- collection of items that the property container contains.
-
revive
Description copied from interface:RevivableTODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary) -
walk
default 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 interfaceWalkable- Parameters:
descendPredicate- theBiPredicatewhich tells whether to descend into current item. Boolean parameter tells whether the item was also consumed or not.consumePredicate- thePredicatewhich tells whether to consume current item.itemConsumer- the consumer to consume item with if it passes theconsumePredicatetest.- Throws:
SchemaException- when something wrong happen during the walk.
-