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.DefinitionMutator
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.ItemDefinition
ItemDefinition.ItemDefinitionLikeBuilder, ItemDefinition.ItemDefinitionMutator
Nested 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.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
PrismItemAccessDefinition.Mutable.Delegable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
PrismItemBasicDefinition.Data, PrismItemBasicDefinition.Delegable, PrismItemBasicDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
PrismItemBasicDefinition.Mutable.Delegable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
PrismItemStorageDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
PrismLifecycleDefinition.Data, PrismLifecycleDefinition.Delegable, PrismLifecycleDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
PrismLifecycleDefinition.Mutable.Delegable
Nested 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.Mutable
Nested 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, complexTypeDefinition
Fields inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
heterogeneousListItem, itemName, processing, substitutionHead
Fields inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
deprecated, deprecatedSince, displayHint, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, isAbstract, isRuntimeSchema, plannedRemoval, removed, removedSince, typeName
Fields 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, getAlwaysUseForEquals, getCompileTimeClass, getComplexTypeDefinition, getComplexTypeDefinitionToSerialize, getDefinitions, getDiagrams, getNaturalKeyConstituents, getPropertyDefinitions, getSchemaContextDefinition, getSchemaNamespace, getTypeClass, isAbstract, isEmpty, performFreeze, replaceDefinition, setAlwaysUseForEquals, setCompileTimeClass, setComplexTypeDefinition
Methods inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
canAdd, canModify, canRead, copyDefinitionDataFrom, 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, writeReplace
Methods 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, setSchemaMigrations
Methods inherited from class com.evolveum.midpoint.prism.impl.schema.SchemaRegistryStateAware
schemaLookup, setSchemaLookup
Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, debugDump, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getSchemaContextDefinition, getTypeName, isAbstract, isElaborate, isOptionalCleanup, isRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.prism.Definition.DefinitionMutator
setAnnotation, setMergerIdentifier, setNaturalKeyConstituents, setOptionalCleanup, setRuntimeSchema, setSchemaContextDefinition
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
debugDumpShortToString, getProcessing, getSubstitutionHead, getValueEnumerationRef, isAlwaysUseForEquals, isDynamic, isHeterogeneousListItem, isIgnored, isInherited, isOperational
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionLikeBuilder
getExtraFeaturesToParse
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition.ItemDefinitionMutator
setAlwaysUseForEquals, setDeprecatedSince, setDynamic, setElaborate, setHeterogeneousListItem, setIgnored, setIndexOnly, setInherited, setOperational, setPlannedRemoval, setProcessing, setReadOnly, setSearchable, setSubstitutionHead, setValueEnumerationRef
Methods inherited from interface com.evolveum.midpoint.prism.LivePrismItemDefinition
findItemDefinition, isValidFor
Methods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinition, findReferenceDefinition
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition
canRepresent, createEmptyDelta, getAlwaysUseForEquals, getCompileTimeClass, getComplexTypeDefinition, getDefinitions, getItemNames, getPropertyDefinitions, getTypeClass, isAlwaysUseForEquals, isCompletelyDefined, isEmpty, replaceDefinition, schemaLookup, structuredType
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition.PrismContainerDefinitionMutator
createContainerDefinition, createContainerDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, setAlwaysUseForEquals, setCompileTimeClass, setComplexTypeDefinition
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition
canAdd, canModify, canRead, getInfo
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemAccessDefinition.Mutable
setCanAdd, setCanModify, setCanRead, setInfo
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition
getItemName, getMaxOccurs, getMinOccurs, getTypeName, isMandatory, isMultiValue, isOptional, isSingleValue
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemBasicDefinition.Mutable
setMaxOccurs, setMinOccurs
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition
isIndexed, isIndexOnly, isSearchable
Methods inherited from interface com.evolveum.midpoint.prism.PrismItemStorageDefinition.Mutable
setIndexed
Methods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition
getDeprecatedSince, getPlannedRemoval, getRemovedSince, getSchemaMigrations, isDeprecated, isExperimental, isRemoved
Methods inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
addSchemaMigration, setDeprecated, setExperimental, setRemoved, setRemovedSince, setSchemaMigrations
Methods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition
getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, isEmphasized
Methods inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
setDiagrams, setDisplayHint, setDisplayName, setDisplayOrder, setDocumentation, setEmphasized, setHelp
Methods inherited from interface com.evolveum.midpoint.prism.schema.SerializableDefinition
getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getExtraFeaturesToSerialize, getHelp, isEmphasized
Methods inherited from interface com.evolveum.midpoint.prism.schema.SerializableItemDefinition
getItemName, getMaxOccurs, getMinOccurs, getProcessing, getTypeName, isIndexed, isOperational
Methods inherited from interface com.evolveum.midpoint.prism.SmartVisitable
accept
-
Method Details
-
instantiate
Description copied from interface:ItemDefinition
Create 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:
instantiate
in interfaceItemDefinition<O extends Objectable>
- Specified by:
instantiate
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
instantiate
in classPrismContainerDefinitionImpl<O extends Objectable>
- Throws:
SchemaException
-
instantiate
Description copied from interface:ItemDefinition
Create an item instance. Definition name will use provided name. for the instance. The instance will otherwise be empty.- Specified by:
instantiate
in interfaceItemDefinition<O extends Objectable>
- Specified by:
instantiate
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
instantiate
in classPrismContainerDefinitionImpl<O extends Objectable>
- Throws:
SchemaException
-
clone
Description copied from class:PrismContainerDefinitionImpl
Shallow clone- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in interfaceItemDefinition<O extends Objectable>
- Specified by:
clone
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
clone
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
clone
in classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewType
@NotNull public @NotNull PrismObjectDefinition<?> cloneWithNewType(@NotNull @NotNull QName newTypeName, @NotNull @NotNull ComplexTypeDefinition newCtd) Description copied from interface:PrismContainerDefinition
Changes the type name and definition for this PCD. Use only in special cases.- Specified by:
cloneWithNewType
in interfacePrismContainerDefinition<O extends Objectable>
- Overrides:
cloneWithNewType
in classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewName
@NotNull public @NotNull PrismObjectDefinition<O> cloneWithNewName(@NotNull @NotNull ItemName newItemName) Description copied from interface:ItemDefinition
Returns a clone of this definition, but with name changed to the provided one.- Specified by:
cloneWithNewName
in interfaceItemDefinition<O extends Objectable>
- Overrides:
cloneWithNewName
in classPrismContainerDefinitionImpl<O extends Objectable>
- See Also:
-
deepClone
Description copied from class:ItemDefinitionImpl
Make a deep clone, cloning all the sub-items and definitions.- Specified by:
deepClone
in interfaceItemDefinition<O extends Objectable>
- Specified by:
deepClone
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
deepClone
in classPrismContainerDefinitionImpl<O extends Objectable>
-
cloneWithNewDefinition
@NotNull public @NotNull PrismObjectDefinition<O> cloneWithNewDefinition(QName newItemName, ItemDefinition<?> newDefinition) Description copied from interface:PrismContainerDefinition
TODO- Specified by:
cloneWithNewDefinition
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
cloneWithNewDefinition
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
cloneWithNewDefinition
in classPrismContainerDefinitionImpl<O extends Objectable>
-
getExtensionDefinition
- Specified by:
getExtensionDefinition
in interfacePrismObjectDefinition<O extends Objectable>
-
createValue
Description copied from interface:PrismContainerDefinition
TODO- Specified by:
createValue
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
createValue
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
createValue
in classPrismContainerDefinitionImpl<O extends Objectable>
-
getDebugDumpClassName
Description copied from class:PrismContainerDefinitionImpl
Return a human readable name of this class suitable for logs.- Overrides:
getDebugDumpClassName
in classPrismContainerDefinitionImpl<O extends Objectable>
-
getDocClassName
Description copied from class:DefinitionImpl
Returns human-readable name of this class suitable for documentation. (e.g. "property")- Overrides:
getDocClassName
in classPrismContainerDefinitionImpl<O extends Objectable>
-
mutator
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
mutator
in interfaceDefinition
- Specified by:
mutator
in interfaceItemDefinition<O extends Objectable>
- Specified by:
mutator
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
mutator
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
mutator
in classPrismContainerDefinitionImpl<O extends Objectable>
-