Class DummyContainerImpl<C extends Containerable>
java.lang.Object
com.evolveum.midpoint.prism.impl.item.DummyItem<PrismContainerValue<C>,PrismContainerDefinition<C>,PrismContainer<C>>
  
com.evolveum.midpoint.prism.impl.item.DummyContainerImpl<C>
- All Implemented Interfaces:
- Freezable,- Item<PrismContainerValue<C>,,- PrismContainerDefinition<C>> - Itemable,- ParentVisitable,- PathVisitable,- PrismContainer<C>,- PrismContainerable<C>,- PrismContextSensitive,- Revivable,- Visitable,- DebugDumpable,- Serializable
public class DummyContainerImpl<C extends Containerable>
extends DummyItem<PrismContainerValue<C>,PrismContainerDefinition<C>,PrismContainer<C>>
implements PrismContainer<C>  
- Author:
- semancik
- See Also:
- 
Field SummaryFields inherited from interface com.evolveum.midpoint.util.DebugDumpableINDENT_STRING
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidConvenience method.voidaddIgnoringEquivalents(@NotNull PrismContainerValue<C> newValue) Adds a value, not looking for equivalent values.booleancanRepresent(@NotNull Class<?> compileTimeClass) Returns true if values of this container can be represented as specified compile-time class.booleancanRepresent(QName type) Returns true if values of this container can be presented as specified type (from compile-time or runtime schema).clone()Literal clone.cloneComplex(CloneStrategy strategy) Complex clone with different cloning strategies.booleancontainsItem(ItemPath itemPath, boolean acceptEmptyItem) Creates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g.createDelta(ItemPath path) deepCloneDefinition(@NotNull DeepCloneOperation operation) diff(PrismContainer<C> other) diff(PrismContainer<C> other, ParameterizedEquivalenceStrategy strategy) diffModifications(PrismContainer<C> other, ParameterizedEquivalenceStrategy strategy) booleanequivalent(Object obj) This method ignores some part of the object during comparison (e.g.<T extends Containerable>
 PrismContainer<T>findContainer(ItemPath path) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindCreateItem(ItemPath itemPath, Class<I> type, ID itemDefinition, boolean create) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindCreateItem(QName itemQName, Class<I> type, boolean create) <IV extends PrismValue,ID extends ItemDefinition<?>> 
 Item<IV,ID> <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 I<IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 I<T extends Containerable>
 PrismContainer<T>findOrCreateContainer(ItemPath containerPath) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindOrCreateItem(ItemPath containerPath, Class<I> type) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 IfindOrCreateItem(ItemPath containerPath, Class<I> type, ID definition) <T> PrismProperty<T>findOrCreateProperty(ItemPath propertyPath) findOrCreateReference(ItemPath propertyPath) <IV extends PrismValue,ID extends ItemDefinition<?>> 
 PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) <T> PrismProperty<T>findProperty(ItemPath path) findReference(ItemPath path) findValue(long id) Returns the static type of data represented by values of this container, if known and applicable.getHelp()Returns help message defined for the item.<T> TgetPropertyRealValue(ItemPath propertyPath, Class<T> type) Returns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items.<X> XgetRealValue(Class<X> type) Type override, also for compatibility.@NotNull Collection<C>Returns (potentially empty) collection of "real values".<X> X[]getRealValuesArray(Class<X> type) Type override, also for compatibility.@NotNull PrismContainerValue<C>getValue()Returns the value, if there is only one.voidmergeValue(PrismContainerValue<C> otherValue) voidmergeValues(PrismContainer<C> other) voidmergeValues(Collection<PrismContainerValue<C>> otherValues) voidConvenience method.voidremoveContainer(ItemPath path) <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>> 
 voidremoveItem(ItemPath path, Class<I> itemType) voidremoveProperty(ItemPath path) voidremoveReference(ItemPath path) <C extends Containerable>
 voidsetContainerRealValue(QName containerName, C realValue) <T> voidsetPropertyRealValue(QName propertyName, T realValue) <T> voidsetPropertyRealValues(QName propertyName, T... realValues) voidsetRealValue(C value) voidsetValue(@NotNull PrismContainerValue<C> value) voidtrim()Remove all empty valuesvoidtrimDefinitionTree(Collection<? extends ItemPath> alwaysKeep) Optimizes (trims) definition tree by removing any definitions not corresponding to items in this container.Methods inherited from class com.evolveum.midpoint.prism.impl.item.DummyItemaccept, accept, acceptParentVisitor, add, addAll, addRespectingMetadataAndCloning, applyDefinition, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, debugDump, delegate, diff, equals, equals, equals, find, freeze, getAllItems, getAllValues, getDefinition, getDisplayName, getElementName, getHighestId, getParent, getPath, getPrismContext, getPrismContextLocal, getUserData, getUserData, getValues, hasCompleteDefinition, hashCode, hashCode, hashCode, isEmpty, isImmutable, isIncomplete, merge, normalize, recomputeAllValues, remove, removeAll, removeRespectingMetadata, replace, replaceAll, revive, setDefinition, setElementName, setIncomplete, setParent, setPrismContext, setUserData, toStringMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpabledebugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.FreezablecheckImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.ItemacceptParentVisitor, add, add, addAll, addAll, addRespectingMetadataAndCloning, applyDefinition, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, clear, contains, contains, copy, diff, diff, equals, equals, equals, filterValues, filterYields, find, findValue, findValue, getAllItems, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDisplayName, getElementName, getHighestId, getParent, getPath, getPrismContextLocal, getRealValuesOrRawTypes, getUserData, getUserData, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hashCode, hasNoValues, hasRaw, isEmpty, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, setElementName, setIncomplete, setParent, setPrismContext, setUserData, size, valuesStreamMethods inherited from interface com.evolveum.midpoint.prism.PrismContaineraccept, applyDefinition, getDefinition, getValues, setDefinitionMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerablegetComplexTypeDefinitionMethods inherited from interface com.evolveum.midpoint.prism.PrismContextSensitivegetPrismContext
- 
Constructor Details- 
DummyContainerImpl
 
- 
- 
Method Details- 
getCompileTimeClassDescription copied from interface:PrismContainerReturns the static type of data represented by values of this container, if known and applicable. (There are containers that are purely dynamic, i.e. without any compile time class.)- Specified by:
- getCompileTimeClassin interface- PrismContainer<C extends Containerable>
- Specified by:
- getCompileTimeClassin interface- PrismContainerable<C extends Containerable>
 
- 
canRepresentDescription copied from interface:PrismContainerReturns true if values of this container can be represented as specified compile-time class. For example, PrismContainer of AbstractRoleType has: - canRepresent(AbstractRoleType.class) = true - canRepresent(FocusType.class) = true - canRepresent(ObjectType.class) = true - canRepresent(TaskType.class) = false - canRepresent(RoleType.class) = false- Specified by:
- canRepresentin interface- PrismContainer<C extends Containerable>
 
- 
canRepresentDescription copied from interface:PrismContainerReturns true if values of this container can be presented as specified type (from compile-time or runtime schema). In particular, returns true if type of this container or any of its supertypes match given type.- Specified by:
- canRepresentin interface- PrismContainer<C extends Containerable>
 
- 
getRealValuesDescription copied from interface:ItemReturns (potentially empty) collection of "real values".- Specified by:
- getRealValuesin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- getRealValuesin interface- PrismContainer<C extends Containerable>
- Returns:
- List of current values. The list itself is freely modifiable - it is independent on the list of values in this container. However, values themselves are directly linked to the PCVs.
 
- 
addIgnoringEquivalentspublic void addIgnoringEquivalents(@NotNull @NotNull PrismContainerValue<C> newValue) throws SchemaException Description copied from interface:ItemAdds a value, not looking for equivalent values. (This means that the new value is always added, if possible.) Note that we check the cardinality of the item according to its definition, i.e. we do not allow single-valued item to contain more than one value.- Specified by:
- addIgnoringEquivalentsin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Throws:
- SchemaException
 
- 
getRealValueDescription copied from interface:ItemReturns the "real value" (content) of this item: - value contained in PrismPropertyValue - Referencable in PrismReferenceValue - Containerable in PrismContainerValue - Objectable in PrismObjectValue Note that the real value can contain operational items. It can also contain container IDs (although they are not considered to be part of the real value). It does not contain information about item element name nor other metadata like origin, definition, etc. (Although e.g. Containerable can be converted back into PrismContainerValue that can be used to retrieve this information.)- Specified by:
- getRealValuein interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- getRealValuein interface- PrismContainer<C extends Containerable>
 
- 
setRealValue- Specified by:
- setRealValuein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
getRealValueDescription copied from interface:ItemType override, also for compatibility.- Specified by:
- getRealValuein interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
 
- 
getRealValuesArrayDescription copied from interface:ItemType override, also for compatibility.- Specified by:
- getRealValuesArrayin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
 
- 
setValue- Specified by:
- setValuein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
getValueDescription copied from interface:ItemReturns the value, if there is only one. Throws exception if there are more values. If there is no value, this method either: - returns null (for properties) - throws an exception (for items that can hold multiple values) - creates an empty value (for containers and references). TODO think again whether getOrCreateValue would not be better- Specified by:
- getValuein interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- getValuein interface- PrismContainer<C extends Containerable>
 
- 
getValue- Specified by:
- getValuein interface- PrismContainer<C extends Containerable>
 
- 
setPropertyRealValue- Specified by:
- setPropertyRealValuein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
getHelpDescription copied from interface:ItemReturns help message defined for the item.Returns null if the help message cannot be determined. The help message is fetched from the definition. If no definition (schema) is available, the help message will not be returned. - Specified by:
- getHelpin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Returns:
- help message for the item
 
- 
setContainerRealValuepublic <C extends Containerable> void setContainerRealValue(QName containerName, C realValue) throws SchemaException - Specified by:
- setContainerRealValuein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
setPropertyRealValues- Specified by:
- setPropertyRealValuesin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
getPropertyRealValue- Specified by:
- getPropertyRealValuein interface- PrismContainer<C extends Containerable>
 
- 
addDescription copied from interface:PrismContainerConvenience method. Works only on single-valued containers.- Specified by:
- addin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
createNewValue- Specified by:
- createNewValuein interface- PrismContainer<C extends Containerable>
 
- 
mergeValues- Specified by:
- mergeValuesin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
mergeValues- Specified by:
- mergeValuesin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
mergeValue- Specified by:
- mergeValuein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
trimpublic void trim()Description copied from interface:PrismContainerRemove all empty values- Specified by:
- trimin interface- PrismContainer<C extends Containerable>
 
- 
findItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (QName itemQName, Class<I> type) - Specified by:
- findItemin interface- PrismContainer<C extends Containerable>
 
- 
findPartialpublic <IV extends PrismValue,ID extends ItemDefinition<?>> PartiallyResolvedItem<IV,ID> findPartial(ItemPath path) - Specified by:
- findPartialin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- findPartialin interface- PrismContainer<C extends Containerable>
 
- 
findCreateItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findCreateItemI extends Item<IV, ID>> (QName itemQName, Class<I> type, boolean create) throws SchemaException - Specified by:
- findCreateItemin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findItemI extends Item<IV, ID>> (ItemPath path, Class<I> type) - Specified by:
- findItemin interface- PrismContainer<C extends Containerable>
 
- 
findItem- Specified by:
- findItemin interface- PrismContainer<C extends Containerable>
 
- 
containsItem- Specified by:
- containsItemin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findCreateItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findCreateItemI extends Item<IV, ID>> (ItemPath itemPath, Class<I> type, ID itemDefinition, boolean create) throws SchemaException - Specified by:
- findCreateItemin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findValue- Specified by:
- findValuein interface- PrismContainer<C extends Containerable>
 
- 
findContainer- Specified by:
- findContainerin interface- PrismContainer<C extends Containerable>
 
- 
findProperty- Specified by:
- findPropertyin interface- PrismContainer<C extends Containerable>
 
- 
findReference- Specified by:
- findReferencein interface- PrismContainer<C extends Containerable>
 
- 
findOrCreateItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (ItemPath containerPath, Class<I> type) throws SchemaException - Specified by:
- findOrCreateItemin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findOrCreateItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, I findOrCreateItemI extends Item<IV, ID>> (ItemPath containerPath, Class<I> type, ID definition) throws SchemaException - Specified by:
- findOrCreateItemin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findOrCreateContainerpublic <T extends Containerable> PrismContainer<T> findOrCreateContainer(ItemPath containerPath) throws SchemaException - Specified by:
- findOrCreateContainerin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findOrCreateProperty- Specified by:
- findOrCreatePropertyin interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
findOrCreateReference- Specified by:
- findOrCreateReferencein interface- PrismContainer<C extends Containerable>
- Throws:
- SchemaException
 
- 
removeDescription copied from interface:PrismContainerConvenience method. Works only on single-valued containers.- Specified by:
- removein interface- PrismContainer<C extends Containerable>
 
- 
removeProperty- Specified by:
- removePropertyin interface- PrismContainer<C extends Containerable>
 
- 
removeContainer- Specified by:
- removeContainerin interface- PrismContainer<C extends Containerable>
 
- 
removeReference- Specified by:
- removeReferencein interface- PrismContainer<C extends Containerable>
 
- 
removeItempublic <IV extends PrismValue,ID extends ItemDefinition<?>, void removeItemI extends Item<IV, ID>> (ItemPath path, Class<I> itemType) - Specified by:
- removeItemin interface- PrismContainer<C extends Containerable>
 
- 
createDeltaDescription copied from interface:ItemCreates specific subclass of ItemDelta appropriate for type of item that this definition represents (e.g. PropertyDelta, ContainerDelta, ...)- Specified by:
- createDeltain interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- createDeltain interface- PrismContainer<C extends Containerable>
 
- 
createDelta- Specified by:
- createDeltain interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- createDeltain interface- PrismContainer<C extends Containerable>
 
- 
diff- Specified by:
- diffin interface- PrismContainer<C extends Containerable>
 
- 
diff- Specified by:
- diffin interface- PrismContainer<C extends Containerable>
 
- 
diffModificationspublic List<? extends ItemDelta> diffModifications(PrismContainer<C> other, ParameterizedEquivalenceStrategy strategy) - Specified by:
- diffModificationsin interface- PrismContainer<C extends Containerable>
 
- 
createImmutableClone- Specified by:
- createImmutableClonein interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- createImmutableClonein interface- PrismContainer<C extends Containerable>
 
- 
deepCloneDefinitionpublic PrismContainerDefinition<C> deepCloneDefinition(@NotNull @NotNull DeepCloneOperation operation) - Specified by:
- deepCloneDefinitionin interface- PrismContainer<C extends Containerable>
 
- 
equivalentDescription copied from interface:PrismContainerThis method ignores some part of the object during comparison (e.g. source demarcation in values) These methods compare the "meaningful" parts of the objects.- Specified by:
- equivalentin interface- PrismContainer<C extends Containerable>
 
- 
cloneDescription copied from interface:ItemLiteral clone.- Specified by:
- clonein interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- clonein interface- PrismContainer<C extends Containerable>
- Specified by:
- clonein class- DummyItem<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>, - PrismContainer<C extends Containerable>> 
 
- 
cloneComplexDescription copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
- cloneComplexin interface- Item<PrismContainerValue<C extends Containerable>,- PrismContainerDefinition<C extends Containerable>> 
- Specified by:
- cloneComplexin interface- PrismContainer<C extends Containerable>
- See Also:
 
- 
trimDefinitionTreeDescription copied from interface:PrismContainerOptimizes (trims) definition tree by removing any definitions not corresponding to items in this container. Works recursively by sub-containers of this one. USE WITH CARE. Make sure the definitions are not shared by other objects!- Specified by:
- trimDefinitionTreein interface- PrismContainer<C extends Containerable>
 
 
-