Package com.evolveum.midpoint.prism.impl
Class PrismObjectDefinitionImpl<O extends Objectable>
- java.lang.Object
-
- 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
,ItemDefinition<PrismContainer<O>>
,LocalDefinitionStore
,MutableDefinition
,MutableItemDefinition<PrismContainer<O>>
,MutablePrismContainerDefinition<O>
,PrismContainerDefinition<O>
,PrismObjectDefinition<O>
,Revivable
,Visitable
,DebugDumpable
,Serializable
,Cloneable
public class PrismObjectDefinitionImpl<O extends Objectable> extends PrismContainerDefinitionImpl<O> implements PrismObjectDefinition<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. SeeDefinition
for more details. "Instance" class of this class is MidPointObject, not Object - to avoid confusion with java.lang.Object.- Author:
- Radovan Semancik
- See Also:
- Serialized Form
-
-
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, substitutionHead
-
Fields inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
deprecated, deprecatedSince, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, isAbstract, isRuntimeSchema, plannedRemoval, prismContext, processing, typeName
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Constructor Summary
Constructors Constructor Description PrismObjectDefinitionImpl(QName elementName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, Class<O> compileTimeClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PrismObjectDefinitionImpl<O>
clone()
Shallow clonePrismObjectDefinition<O>
cloneWithReplacedDefinition(QName itemName, ItemDefinition newDefinition)
PrismObjectValue<O>
createValue()
PrismObjectDefinition<O>
deepClone(boolean ultraDeep, Consumer<ItemDefinition> postCloneAction)
Make a deep clone, cloning all the sub-items and definitions.String
getDebugDumpClassName()
Return a human readable name of this class suitable for logs.String
getDocClassName()
Returns human-readable name of this class suitable for documentation.PrismContainerDefinition<?>
getExtensionDefinition()
PrismObject<O>
instantiate()
Create an item instance.PrismObject<O>
instantiate(QName name)
Create an item instance.-
Methods inherited from class com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl
accept, canBeDefinitionOf, canRepresent, copyDefinitionData, createContainerDefinition, createContainerDefinition, createContainerDefinition, createEmptyDelta, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, createPropertyDefinition, debugDump, debugDump, deepClone, findItemDefinition, findLocalItemDefinition, findNamedItemDefinition, getCompileTimeClass, getComplexTypeDefinition, getDefaultNamespace, getDefinitions, getIgnoredNamespaces, getPropertyDefinitions, getSchemaNamespace, getTypeClass, isAbstract, isEmpty, replaceDefinition, revive, setCompileTimeClass, setComplexTypeDefinition, toMutable
-
Methods inherited from class com.evolveum.midpoint.prism.impl.ItemDefinitionImpl
adoptElementDefinitionFrom, canAdd, canBeDefinitionOf, canModify, canRead, copyDefinitionData, debugDumpShortToString, debugFlags, debugMultiplicity, equals, extendToString, getItemName, getMaxOccurs, getMinOccurs, getNamespace, getSubstitutionHead, getValueEnumerationRef, hashCode, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isMandatory, isMultiValue, isOperational, isOptional, isSingleValue, isValidFor, isValidFor, setCanAdd, setCanModify, setCanRead, setDynamic, setHeterogeneousListItem, setIndexOnly, setInherited, setItemName, setMaxOccurs, setMinOccurs, setOperational, setReadOnly, setSubstitutionHead, setValueEnumerationRef, toString
-
Methods inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
addSchemaMigration, copyDefinitionData, extendDumpHeader, getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getSchemaMigrations, getTypeClassIfKnown, getTypeName, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAbstract, setAnnotation, setDeprecated, setDeprecatedSince, setDisplayName, setDisplayOrder, setDocumentation, setElaborate, setEmphasized, setExperimental, setHelp, setPlannedRemoval, setProcessing, setRuntimeSchema, setTypeName
-
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
debugDump, getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getSchemaMigrations, getSchemaRegistry, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
-
Methods inherited from interface com.evolveum.midpoint.prism.ItemDefinition
adoptElementDefinitionFrom, canAdd, canBeDefinitionOf, canBeDefinitionOf, canModify, canRead, debugDumpShortToString, deepClone, findItemDefinition, getItemName, getMaxOccurs, getMinOccurs, getNamespace, getSubstitutionHead, getValueEnumerationRef, isDynamic, isHeterogeneousListItem, isIndexOnly, isInherited, isMandatory, isMultiValue, isOperational, isOptional, isSingleValue, isValidFor, isValidFor
-
Methods inherited from interface com.evolveum.midpoint.prism.LocalDefinitionStore
findContainerDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findNamedItemDefinition, findPropertyDefinition, findReferenceDefinition, findReferenceDefinition
-
Methods inherited from interface com.evolveum.midpoint.prism.MutableDefinition
addSchemaMigration, setDeprecated, setDisplayName, setDisplayOrder, setDocumentation, setEmphasized, setExperimental, setHelp, setProcessing, setRuntimeSchema, setTypeName
-
Methods inherited from interface com.evolveum.midpoint.prism.MutableItemDefinition
setCanAdd, setCanModify, setCanRead, setDeprecatedSince, setDynamic, setElaborate, setHeterogeneousListItem, setIndexOnly, setItemName, setMaxOccurs, setMinOccurs, setOperational, setPlannedRemoval, setReadOnly, setSubstitutionHead, setValueEnumerationRef
-
Methods inherited from interface com.evolveum.midpoint.prism.MutablePrismContainerDefinition
setInherited
-
Methods inherited from interface com.evolveum.midpoint.prism.PrismContainerDefinition
canRepresent, createEmptyDelta, getCompileTimeClass, getComplexTypeDefinition, getDefaultNamespace, getDefinitions, getIgnoredNamespaces, getPropertyDefinitions, getTypeClass, isEmpty, replaceDefinition, revive, toMutable
-
-
-
-
Constructor Detail
-
PrismObjectDefinitionImpl
public PrismObjectDefinitionImpl(QName elementName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, Class<O> compileTimeClass)
-
-
Method Detail
-
instantiate
@NotNull public PrismObject<O> instantiate() throws SchemaException
Description copied from interface:ItemDefinition
Create an item instance. Definition name or default name will 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>
- Returns:
- created item instance
- Throws:
SchemaException
-
instantiate
@NotNull public PrismObject<O> instantiate(QName name) throws SchemaException
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>
- Returns:
- created item instance
- Throws:
SchemaException
-
clone
@NotNull public PrismObjectDefinitionImpl<O> 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>
-
deepClone
public PrismObjectDefinition<O> deepClone(boolean ultraDeep, Consumer<ItemDefinition> postCloneAction)
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 classItemDefinitionImpl<PrismContainer<O extends Objectable>>
- Parameters:
ultraDeep
- if set to true then even the objects that were same instance in the original will be cloned as separate instances in the clone.
-
cloneWithReplacedDefinition
public PrismObjectDefinition<O> cloneWithReplacedDefinition(QName itemName, ItemDefinition newDefinition)
- Specified by:
cloneWithReplacedDefinition
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
cloneWithReplacedDefinition
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
cloneWithReplacedDefinition
in classPrismContainerDefinitionImpl<O extends Objectable>
-
getExtensionDefinition
public PrismContainerDefinition<?> getExtensionDefinition()
- Specified by:
getExtensionDefinition
in interfacePrismObjectDefinition<O extends Objectable>
-
createValue
public PrismObjectValue<O> createValue()
- Specified by:
createValue
in interfacePrismContainerDefinition<O extends Objectable>
- Specified by:
createValue
in interfacePrismObjectDefinition<O extends Objectable>
- Overrides:
createValue
in classPrismContainerDefinitionImpl<O extends Objectable>
-
getDebugDumpClassName
public String 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
public String 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>
-
-