Interface PrismObjectDelegator<O extends Objectable>
- All Superinterfaces:
Cloneable,ComplexCopyable<Item<PrismContainerValue<O>,,PrismContainerDefinition<O>>> DebugDumpable,Freezable,Item<PrismContainerValue<O>,,PrismContainerDefinition<O>> Itemable,ItemDelegator<PrismContainerValue<O>,,PrismContainerDefinition<O>> ParentVisitable,PathVisitable,PrismContainer<O>,PrismContainerable<O>,PrismContainerDelegator<O>,PrismObject<O>,PrismVisitable,Revivable,Serializable,Visitable
public interface PrismObjectDelegator<O extends Objectable>
extends PrismContainerDelegator<O>, PrismObject<O>
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRINGFields inherited from interface com.evolveum.midpoint.prism.Item
KEY_NAMESPACE_CONTEXT -
Method Summary
Modifier and TypeMethodDescriptiondefault <I extends Item<?,?>>
voidaddExtensionItem(I item) default voidaddReplaceExisting(Item<?, ?> item) default Odefault PrismObject<O>clone()Deprecated.default @NotNull PrismObject<O>cloneComplex(@NotNull CloneStrategy strategy) Complex clone with different cloning strategies.default PrismObject<O>default ObjectDelta<O>default ObjectDelta<O>default ObjectDelta<O>createDelta(ChangeType changeType) default PrismContainer<?>default PrismObject<O>default ObjectDelta<O>default PrismObjectValue<O>default PrismObjectDefinition<O>deepCloneDefinition(@NotNull DeepCloneOperation operation) delegate()default @NotNull ObjectDelta<O>diff(PrismObject<O> other) default @NotNull ObjectDelta<O>diff(PrismObject<O> other, ParameterizedEquivalenceStrategy strategy) default booleanequivalent(Object obj) This method ignores some part of the object during comparison (e.g. source demarcation in values) These methods compare the "meaningful" parts of the objects.default <I extends Item<?,?>>
IfindExtensionItem(String elementLocalName) default <I extends Item<?,?>>
IfindExtensionItem(QName elementName) default StringReturn display name intended for business users of midPointdefault PrismObjectDefinition<O>Returns applicable definition.default PrismContainer<?>default PrismContainerValue<?>default PolyStringgetName()default StringgetOid()Returns Object ID (OID).default PrismContainer<?>default @Nullable PrismContainerValue<?>Returns the parent of this item (if exists).default @NotNull PrismObjectValue<O>getValue()Returns the value, if there is only one.default Stringdefault booleandefault Collection<? extends ItemDelta<?,?>> narrowModifications(Collection<? extends ItemDelta<?, ?>> modifications, @NotNull ParameterizedEquivalenceStrategy plusStrategy, @NotNull ParameterizedEquivalenceStrategy minusStrategy, boolean assumeMissingItems) See description ofItemDelta.narrow(PrismObject, Comparator, Comparator, boolean)method.default <IV extends PrismValue,ID extends ItemDefinition<?>, I extends Item<IV, ID>>
voidremoveItem(ItemPath path, Class<I> itemType) default voiddefault voidsetParent(PrismContainerValue<?> parentValue) Sets the parent of this item.default voidsetValue(@NotNull PrismContainerValue<O> value) default voidsetVersion(String version) default StringReturns short string representing identity of this object.default StringReturns short string identification of object type.Methods inherited from interface com.evolveum.midpoint.prism.deleg.ItemDelegator
accept, acceptParentVisitor, acceptVisitor, add, add, addAll, addAll, addIgnoringEquivalents, addRespectingMetadataAndCloning, applyDefinition, applyDefinition, applyDefinitionIfMissing, assertDefinitions, assertDefinitions, assertDefinitions, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistence, checkConsistenceInternal, checkImmutable, checkMutable, clear, contains, contains, debugDump, debugDump, debugDumpLazily, debugDumpLazily, diff, diff, equals, equals, filterValues, filterYields, find, findValue, findValue, freeze, getAllItems, getAllValues, getAnyValue, getAnyValue, getClonedValues, getDisplayName, getElementName, getHelp, getHighestId, getNamespaceContext, getPath, getRealValue, getRealValues, getRealValuesArray, getRealValuesOrRawTypes, getUserData, getUserData, hasAnyValue, hasCompleteDefinition, hashCode, hashCode, hasNoValues, hasRaw, isEmpty, isImmutable, isIncomplete, isOperational, isRaw, isSingleValue, isSingleValueByDefinition, merge, normalize, recomputeAllValues, remove, remove, removeAll, removeIf, removeRespectingMetadata, replace, replaceAll, revive, setDefinition, setElementName, setIncomplete, setUserData, size, valuesStreamMethods inherited from interface com.evolveum.midpoint.prism.deleg.PrismContainerDelegator
accept, add, canRepresent, canRepresent, containsItem, createDelta, createDelta, diff, diff, diffModifications, findContainer, findCreateItem, findCreateItem, findItem, findItem, findItem, findOrCreateContainer, findOrCreateItem, findOrCreateItem, findOrCreateProperty, findOrCreateReference, findPartial, findProperty, findReference, findValue, getCompileTimeClass, getComplexTypeDefinition, getPropertyRealValue, getRealValue, getRealValues, getValue, getValues, mergeValue, mergeValues, mergeValues, remove, removeContainer, removeProperty, removeReference, setContainerRealValue, setPropertyRealValue, setPropertyRealValues, setRealValue, trim, trimDefinitionTreeMethods inherited from interface com.evolveum.midpoint.prism.PrismObject
copy, doFreeze, immutableCopy, mutableCopy
-
Method Details
-
delegate
PrismObject<O> delegate()- Specified by:
delegatein interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
delegatein interfacePrismContainerDelegator<O extends Objectable>
-
createNewValue
- Specified by:
createNewValuein interfacePrismContainer<O extends Objectable>- Specified by:
createNewValuein interfacePrismContainerDelegator<O extends Objectable>- Specified by:
createNewValuein interfacePrismObject<O extends Objectable>
-
getValue
Description 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 interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getValuein interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getValuein interfacePrismContainer<O extends Objectable>- Specified by:
getValuein interfacePrismContainerDelegator<O extends Objectable>- Specified by:
getValuein interfacePrismObject<O extends Objectable>
-
setValue
- Specified by:
setValuein interfacePrismContainer<O extends Objectable>- Specified by:
setValuein interfacePrismContainerDelegator<O extends Objectable>- Specified by:
setValuein interfacePrismObject<O extends Objectable>- Throws:
SchemaException
-
getOid
Description copied from interface:PrismObjectReturns Object ID (OID).May return null if the object does not have an OID.
- Specified by:
getOidin interfacePrismObject<O extends Objectable>- Returns:
- Object ID (OID)
-
setOid
- Specified by:
setOidin interfacePrismObject<O extends Objectable>
-
getVersion
- Specified by:
getVersionin interfacePrismObject<O extends Objectable>
-
setVersion
- Specified by:
setVersionin interfacePrismObject<O extends Objectable>
-
getDefinition
Description copied from interface:ItemReturns applicable definition.May return null if no definition is applicable or the definition is not known.
- Specified by:
getDefinitionin interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getDefinitionin interfaceItemable- Specified by:
getDefinitionin interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getDefinitionin interfacePrismContainer<O extends Objectable>- Specified by:
getDefinitionin interfacePrismContainerable<O extends Objectable>- Specified by:
getDefinitionin interfacePrismContainerDelegator<O extends Objectable>- Specified by:
getDefinitionin interfacePrismObject<O extends Objectable>- Returns:
- applicable definition
-
asObjectable
- Specified by:
asObjectablein interfacePrismObject<O extends Objectable>
-
getName
- Specified by:
getNamein interfacePrismObject<O extends Objectable>
-
getExtension
- Specified by:
getExtensionin interfacePrismObject<O extends Objectable>
-
getOrCreateExtension
- Specified by:
getOrCreateExtensionin interfacePrismObject<O extends Objectable>- Throws:
SchemaException
-
getExtensionContainerValue
- Specified by:
getExtensionContainerValuein interfacePrismObject<O extends Objectable>
-
findExtensionItem
- Specified by:
findExtensionItemin interfacePrismObject<O extends Objectable>
-
findExtensionItem
- Specified by:
findExtensionItemin interfacePrismObject<O extends Objectable>
-
addExtensionItem
- Specified by:
addExtensionItemin interfacePrismObject<O extends Objectable>- Throws:
SchemaException
-
createExtension
- Specified by:
createExtensionin interfacePrismObject<O extends Objectable>- Throws:
SchemaException
-
removeItem
default <IV extends PrismValue,ID extends ItemDefinition<?>, void removeItemI extends Item<IV, ID>> (ItemPath path, Class<I> itemType) - Specified by:
removeItemin interfacePrismContainer<O extends Objectable>- Specified by:
removeItemin interfacePrismContainerDelegator<O extends Objectable>- Specified by:
removeItemin interfacePrismObject<O extends Objectable>
-
addReplaceExisting
- Specified by:
addReplaceExistingin interfacePrismObject<O extends Objectable>- Throws:
SchemaException
-
clone
Deprecated.Description copied from interface:ItemLiteral clone.- Specified by:
clonein interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
clonein interfacePrismContainer<O extends Objectable>- Specified by:
clonein interfacePrismContainerDelegator<O extends Objectable>- Specified by:
clonein interfacePrismObject<O extends Objectable>
-
cloneComplex
Description copied from interface:ItemComplex clone with different cloning strategies.- Specified by:
cloneComplexin interfaceComplexCopyable<O extends Objectable>- Specified by:
cloneComplexin interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
cloneComplexin interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
cloneComplexin interfacePrismContainer<O extends Objectable>- Specified by:
cloneComplexin interfacePrismContainerDelegator<O extends Objectable>- Specified by:
cloneComplexin interfacePrismObject<O extends Objectable>- See Also:
-
deepCloneDefinition
default PrismObjectDefinition<O> deepCloneDefinition(@NotNull @NotNull DeepCloneOperation operation) - Specified by:
deepCloneDefinitionin interfacePrismContainer<O extends Objectable>- Specified by:
deepCloneDefinitionin interfacePrismContainerDelegator<O extends Objectable>- Specified by:
deepCloneDefinitionin interfacePrismObject<O extends Objectable>
-
diff
- Specified by:
diffin interfacePrismObject<O extends Objectable>
-
diff
@NotNull default @NotNull ObjectDelta<O> diff(PrismObject<O> other, ParameterizedEquivalenceStrategy strategy) - Specified by:
diffin interfacePrismObject<O extends Objectable>
-
narrowModifications
default Collection<? extends ItemDelta<?,?>> narrowModifications(Collection<? extends ItemDelta<?, ?>> modifications, @NotNull @NotNull ParameterizedEquivalenceStrategy plusStrategy, @NotNull @NotNull ParameterizedEquivalenceStrategy minusStrategy, boolean assumeMissingItems) Description copied from interface:PrismObjectSee description ofItemDelta.narrow(PrismObject, Comparator, Comparator, boolean)method.- Specified by:
narrowModificationsin interfacePrismObject<O extends Objectable>
-
createDelta
- Specified by:
createDeltain interfacePrismObject<O extends Objectable>
-
createAddDelta
- Specified by:
createAddDeltain interfacePrismObject<O extends Objectable>
-
createModifyDelta
- Specified by:
createModifyDeltain interfacePrismObject<O extends Objectable>
-
createDeleteDelta
- Specified by:
createDeleteDeltain interfacePrismObject<O extends Objectable>
-
setParent
Description copied from interface:ItemSets the parent of this item.- Specified by:
setParentin interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
setParentin interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
setParentin interfacePrismObject<O extends Objectable>- Parameters:
parentValue- The new parent
-
getParent
Description copied from interface:ItemReturns the parent of this item (if exists). Currently this has to be a PrismContainerValue.- Specified by:
getParentin interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getParentin interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
getParentin interfacePrismObject<O extends Objectable>- Returns:
- The parent if exists
-
equivalent
Description 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 interfacePrismContainer<O extends Objectable>- Specified by:
equivalentin interfacePrismContainerDelegator<O extends Objectable>- Specified by:
equivalentin interfacePrismObject<O extends Objectable>
-
toDebugName
Description copied from interface:PrismObjectReturns short string representing identity of this object. It should container object type, OID and name. It should be presented in a form suitable for log and diagnostic messages (understandable for system administrator).- Specified by:
toDebugNamein interfacePrismObject<O extends Objectable>
-
toDebugType
Description copied from interface:PrismObjectReturns short string identification of object type. It should be in a form suitable for log messages. There is no requirement for the type name to be unique, but it rather has to be compact. E.g. short element names are preferred to long QNames or URIs.- Specified by:
toDebugTypein interfacePrismObject<O extends Objectable>
-
getBusinessDisplayName
Description copied from interface:PrismObjectReturn display name intended for business users of midPoint- Specified by:
getBusinessDisplayNamein interfacePrismObject<O extends Objectable>
-
cloneIfImmutable
- Specified by:
cloneIfImmutablein interfacePrismObject<O extends Objectable>
-
createImmutableClone
- Specified by:
createImmutableClonein interfaceItem<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
createImmutableClonein interfaceItemDelegator<PrismContainerValue<O extends Objectable>,PrismContainerDefinition<O extends Objectable>> - Specified by:
createImmutableClonein interfacePrismContainer<O extends Objectable>- Specified by:
createImmutableClonein interfacePrismContainerDelegator<O extends Objectable>- Specified by:
createImmutableClonein interfacePrismObject<O extends Objectable>
-
isOfType
- Specified by:
isOfTypein interfacePrismObject<O extends Objectable>
-