Package com.evolveum.midpoint.prism.impl
Class PrismObjectDefinitionImpl<O extends Objectable>
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.prism.impl.schema.SchemaRegistryStateAware
com.evolveum.midpoint.prism.impl.DefinitionImpl
com.evolveum.midpoint.prism.impl.ItemDefinitionImpl<PrismContainer<C>>
com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl<O>
com.evolveum.midpoint.prism.impl.PrismObjectDefinitionImpl<O>
- All Implemented Interfaces:
Definition,Definition.DefinitionBuilder,Definition.DefinitionMutator,DefinitionFragmentBuilder,Freezable,ItemDefinition<PrismContainer<O>>,ItemDefinition.ItemDefinitionLikeBuilder,ItemDefinition.ItemDefinitionMutator,LivePrismItemDefinition,LocalItemDefinitionStore,PrismContainerDefinition<O>,PrismContainerDefinition.PrismContainerDefinitionMutator<O>,PrismItemAccessDefinition,PrismItemAccessDefinition.Mutable,PrismItemBasicDefinition,PrismItemBasicDefinition.Mutable,PrismItemStorageDefinition,PrismItemStorageDefinition.Mutable,PrismLifecycleDefinition,PrismLifecycleDefinition.Mutable,PrismObjectDefinition<O>,PrismObjectDefinition.PrismObjectDefinitionMutator<O>,PrismPresentationDefinition,PrismPresentationDefinition.Mutable,Revivable,SchemaLookup.Aware,SerializableContainerDefinition,SerializableDefinition,SerializableItemDefinition,SmartVisitable<Definition>,Visitable<Definition>,DebugDumpable,Serializable,Cloneable
public class PrismObjectDefinitionImpl<O extends Objectable>
extends PrismContainerDefinitionImpl<O>
implements PrismObjectDefinition<O>, PrismObjectDefinition.PrismObjectDefinitionMutator<O>
MidPoint Object Definition.
Objects are storable entities in midPoint.
This is mostly just a marker class to identify object boundaries in schema.
This class represents schema definition for objects. See
Definition
for more details.
"Instance" class of this class is MidPointObject, not Object - to avoid
confusion with java.lang.Object.
*Do not call constructors on this object.* Use DefinitionFactory instead.- Author:
- Radovan Semancik
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.ItemDefinition
ItemDefinition.ItemDefinitionLikeBuilder, ItemDefinition.ItemDefinitionMutatorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition
PrismContainerDefinition.PrismContainerDefinitionMutator<C extends Containerable>Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
PrismItemAccessDefinition.Data, PrismItemAccessDefinition.Delegable, PrismItemAccessDefinition.Info, PrismItemAccessDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
PrismItemAccessDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
PrismItemBasicDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
PrismLifecycleDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismObjectDefinition
PrismObjectDefinition.PrismObjectDefinitionMutator<O extends Objectable>Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
PrismPresentationDefinition.Mutable.Delegable -
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl
compileTimeClass, complexTypeDefinitionFields inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
heterogeneousListItem, itemName, processing, substitutionHeadFields inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
deprecated, deprecatedSince, displayHint, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, isAbstract, isRuntimeSchema, plannedRemoval, removed, removedSince, typeNameFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescription@NotNull PrismObjectDefinitionImpl<O>clone()Shallow clone@NotNull PrismObjectDefinition<O>cloneWithNewDefinition(QName newItemName, ItemDefinition<?> newDefinition) TODO@NotNull PrismObjectDefinition<O>cloneWithNewName(@NotNull ItemName newItemName) Returns a clone of this definition, but with name changed to the provided one.@NotNull PrismObjectDefinition<?>cloneWithNewType(@NotNull QName newTypeName, @NotNull ComplexTypeDefinition newCtd) Changes the type name and definition for this PCD.TODOdeepClone(@NotNull DeepCloneOperation operation) Make a deep clone, cloning all the sub-items and definitions.Return a human readable name of this class suitable for logs.Returns human-readable name of this class suitable for documentation.@NotNull PrismObject<O>Create an item instance.@NotNull PrismObject<O>instantiate(QName name) Create an item instance.mutator()Returns an interface to mutate this definition.Methods inherited from class com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl
accept, canRepresent, checkMutable, copyDefinitionDataFrom, createContainerDefinition, createContainerDefinition, createContainerDefinition, createEmptyDelta, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, debugDump, debugDump, findItemDefinition, findLocalItemDefinition, getAlwaysUseForEquals, getCompileTimeClass, getComplexTypeDefinition, getComplexTypeDefinitionToSerialize, getDefinitions, getDiagrams, getNaturalKeyConstituents, getPropertyDefinitions, getSchemaContextDefinition, getSchemaNamespace, getTypeClass, isAbstract, isEmpty, performFreeze, replaceDefinition, setAlwaysUseForEquals, setCompileTimeClass, setComplexTypeDefinitionMethods inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
canAdd, canModify, canRead, copyDefinitionDataFrom, debugDisplayOrder, debugDumpShortToString, debugFlags, debugMultiplicity, equals, extendToString, getItemName, getMaxOccurs, getMergerInstance, getMinOccurs, getObjectBuilt, getProcessing, getSubstitutionHead, getValueEnumerationRef, hashCode, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIndexed, isIndexOnly, isInherited, isOperational, isSearchable, isValidFor, revive, setAlwaysUseForEquals, setCanAdd, setCanModify, setCanRead, setDynamic, setHeterogeneousListItem, setIndexed, setIndexOnly, setInherited, setMaxOccurs, setMinOccurs, setOperational, setProcessing, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRef, toString, useSerializationProxy, writeReplaceMethods inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
accept, addSchemaMigration, copyDefinitionDataFrom, extendDumpHeader, getAnnotation, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMergerIdentifier, getNaturalKeyInstance, getPlannedRemoval, getRemovedSince, getSchemaMigrations, getTypeName, isDeprecated, isElaborate, isEmphasized, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchema, setAbstract, setAnnotation, setDeprecated, setDeprecatedSince, setDiagrams, setDisplayHint, setDisplayName, setDisplayOrder, setDocumentation, setElaborate, setEmphasized, setExperimental, setHelp, setMergerIdentifier, setNaturalKeyConstituents, setOptionalCleanup, setPlannedRemoval, setRemoved, setRemovedSince, setRuntimeSchema, setSchemaContextDefinition, setSchemaMigrationsMethods inherited from class com.evolveum.midpoint.prism.impl.schema.SchemaRegistryStateAware
schemaLookup, setSchemaLookupMethods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchemaMethods inherited from interface com.evolveum.midpoint.prism.Definition.DefinitionMutator
setAnnotation, setMergerIdentifier, setNaturalKeyConstituents, setOptionalCleanup, setRuntimeSchema, setSchemaContextDefinitionMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
debugDumpShortToString, getProcessing, getSubstitutionHead, getValueEnumerationRef, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperationalMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionLikeBuilder
getExtraFeaturesToParseMethods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionMutator
setAlwaysUseForEquals, setDeprecatedSince, setDynamic, setElaborate, setHeterogeneousListItem, setIgnored, setIndexOnly, setInherited, setOperational, setPlannedRemoval, setProcessing, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRefMethods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
findItemDefinition, isValidForMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findLocalItemDefinitionByIteration, findPropertyDefinition, findReferenceDefinitionMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition
canRepresent, createEmptyDelta, getAlwaysUseForEquals, getCompileTimeClass, getComplexTypeDefinition, getDefinitions, getItemNames, getPropertyDefinitions, getTypeClass, isAlwaysUseForEquals, isCompletelyDefined, isEmpty, replaceDefinition, schemaLookup, structuredTypeMethods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition.PrismContainerDefinitionMutator
createContainerDefinition, createContainerDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, setAlwaysUseForEquals, setCompileTimeClass, setComplexTypeDefinitionMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
setCanAdd, setCanModify, setCanRead, setInfoMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValueMethods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
setMaxOccurs, setMinOccursMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchableMethods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition.Mutable
setIndexedMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemovedMethods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
addSchemaMigration, setDeprecated, setExperimental, setRemoved, setRemovedSince, setSchemaMigrationsMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
setDiagrams, setDisplayHint, setDisplayName, setDisplayOrder, setDocumentation, setEmphasized, setHelpMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableDefinition
getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getExtraFeaturesToSerialize, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableItemDefinition
getItemName, getMaxOccurs, getMinOccurs, getProcessing, getTypeName, isIndexed, isOperationalMethods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Method Details
-
instantiate
Description copied from interface:ItemDefinitionCreate an item instance. Definition name or default name will be used as an element name for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<O extends Objectable>- Specified by:
instantiatein interfacePrismObjectDefinition<O extends Objectable>- Overrides:
instantiatein classPrismContainerDefinitionImpl<O extends Objectable>- Throws:
SchemaException
-
instantiate
Description copied from interface:ItemDefinitionCreate an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiatein interfaceItemDefinition<O extends Objectable>- Specified by:
instantiatein interfacePrismObjectDefinition<O extends Objectable>- Overrides:
instantiatein classPrismContainerDefinitionImpl<O extends Objectable>- Throws:
SchemaException
-
clone
Description copied from class:PrismContainerDefinitionImplShallow clone- Specified by:
clonein interfaceDefinition- Specified by:
clonein interfaceItemDefinition<O extends Objectable>- Specified by:
clonein interfacePrismContainerDefinition<O extends Objectable>- Specified by:
clonein interfacePrismObjectDefinition<O extends Objectable>- Overrides:
clonein classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewType
@NotNull public @NotNull PrismObjectDefinition<?> cloneWithNewType(@NotNull @NotNull QName newTypeName, @NotNull @NotNull ComplexTypeDefinition newCtd) Description copied from interface:PrismContainerDefinitionChanges the type name and definition for this PCD. Use only in special cases.- Specified by:
cloneWithNewTypein interfacePrismContainerDefinition<O extends Objectable>- Overrides:
cloneWithNewTypein classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewName
@NotNull public @NotNull PrismObjectDefinition<O> cloneWithNewName(@NotNull @NotNull ItemName newItemName) Description copied from interface:ItemDefinitionReturns a clone of this definition, but with name changed to the provided one.- Specified by:
cloneWithNewNamein interfaceItemDefinition<O extends Objectable>- Overrides:
cloneWithNewNamein classPrismContainerDefinitionImpl<O extends Objectable>- See Also:
-
deepClone
Description copied from class:ItemDefinitionImplMake a deep clone, cloning all the sub-items and definitions.- Specified by:
deepClonein interfaceItemDefinition<O extends Objectable>- Specified by:
deepClonein interfacePrismObjectDefinition<O extends Objectable>- Overrides:
deepClonein classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewDefinition
@NotNull public @NotNull PrismObjectDefinition<O> cloneWithNewDefinition(QName newItemName, ItemDefinition<?> newDefinition) Description copied from interface:PrismContainerDefinitionTODO- Specified by:
cloneWithNewDefinitionin interfacePrismContainerDefinition<O extends Objectable>- Specified by:
cloneWithNewDefinitionin interfacePrismObjectDefinition<O extends Objectable>- Overrides:
cloneWithNewDefinitionin classPrismContainerDefinitionImpl<O extends Objectable>
-
getExtensionDefinition
- Specified by:
getExtensionDefinitionin interfacePrismObjectDefinition<O extends Objectable>
-
createValue
Description copied from interface:PrismContainerDefinitionTODO- Specified by:
createValuein interfacePrismContainerDefinition<O extends Objectable>- Specified by:
createValuein interfacePrismObjectDefinition<O extends Objectable>- Overrides:
createValuein classPrismContainerDefinitionImpl<O extends Objectable>
-
getDebugDumpClassName
Description copied from class:PrismContainerDefinitionImplReturn a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassNamein classPrismContainerDefinitionImpl<O extends Objectable>
-
getDocClassName
Description copied from class:DefinitionImplReturns human-readable name of this class suitable for documentation. (e.g. "property")- Overrides:
getDocClassNamein classPrismContainerDefinitionImpl<O extends Objectable>
-
mutator
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
mutatorin interfaceDefinition- Specified by:
mutatorin interfaceItemDefinition<O extends Objectable>- Specified by:
mutatorin interfacePrismContainerDefinition<O extends Objectable>- Specified by:
mutatorin interfacePrismObjectDefinition<O extends Objectable>- Overrides:
mutatorin classPrismContainerDefinitionImpl<O extends Objectable>
-