Package com.evolveum.midpoint.prism.impl
Class ComplexTypeDefinitionImpl
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.TypeDefinitionImpl
com.evolveum.midpoint.prism.impl.ComplexTypeDefinitionImpl
- All Implemented Interfaces:
AbstractTypeDefinition
,ComplexTypeDefinition
,ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
,ComplexTypeDefinition.ComplexTypeDefinitionMutator
,Definition
,Definition.DefinitionBuilder
,Definition.DefinitionMutator
,DefinitionFragmentBuilder
,Freezable
,LocalItemDefinitionStore
,PrismLifecycleDefinition
,PrismLifecycleDefinition.Mutable
,PrismPresentationDefinition
,PrismPresentationDefinition.Mutable
,Revivable
,SerializableComplexTypeDefinition
,SerializableDefinition
,SmartVisitable<Definition>
,TypeDefinition
,TypeDefinition.TypeDefinitionLikeBuilder
,TypeDefinition.TypeDefinitionMutator
,Visitable<Definition>
,DebugDumpable
,Serializable
,Cloneable
public class ComplexTypeDefinitionImpl
extends TypeDefinitionImpl
implements ComplexTypeDefinition, ComplexTypeDefinition.ComplexTypeDefinitionMutator, ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder, SerializableComplexTypeDefinition
Direct implementation of
ComplexTypeDefinition
.- Author:
- Radovan Semancik
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder, ComplexTypeDefinition.ComplexTypeDefinitionMutator, ComplexTypeDefinition.ValueMigrator
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.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.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.Mutable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
PrismPresentationDefinition.Mutable.Delegable
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.TypeDefinition
TypeDefinition.TypeDefinitionLikeBuilder, TypeDefinition.TypeDefinitionMutator
-
Field Summary
Fields inherited from class com.evolveum.midpoint.prism.impl.TypeDefinitionImpl
compileTimeClass, instantiationOrder
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
accept
(Visitor<Definition> visitor, SmartVisitation<Definition> visitation) void
add
(DefinitionFragmentBuilder builder) Should provide and register compile time class.void
add
(ItemDefinition<?> definition) void
addSubstitution
(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst) void
addXmlAttributeDefinition
(PrismPropertyDefinition<?> attributeDef) @NotNull ComplexTypeDefinitionImpl
clone()
Does a shallow clone of this definition (i.e.protected void
createPropertyDefinition
(String localName, String localTypeName) createPropertyDefinition
(String localName, QName typeName) createPropertyDefinition
(QName name, QName typeName) debugDump
(int indent) debugDump
(int indent, IdentityHashMap<Definition, Object> seen) @NotNull ComplexTypeDefinition
deepClone
(@NotNull DeepCloneOperation operation) Does a deep clone of this definition.void
boolean
<ID extends ItemDefinition<?>>
IDfindItemDefinition
(@NotNull ItemPath path, @NotNull Class<ID> clazz) Returns a definition of given type corresponding to given path (rooted at this store).<ID extends ItemDefinition<?>>
IDfindLocalItemDefinition
(@NotNull QName name) Returns the localItemDefinition
corresponding to given item name (in case-sensitive manner).<ID extends ItemDefinition<?>>
IDfindLocalItemDefinition
(@NotNull QName name, @NotNull Class<ID> clazz, boolean caseInsensitive) Returns the local item definition corresponding to given item name (optionally case-insensitive) and definition class.protected String
Return a human readable name of this class suitable for logs.@Nullable QName
Type name for items that are not explicitly defined in this CTD.When resolving unqualified names for items contained in this CTD, what should be the default namespace to look into at first.@NotNull List<? extends ItemDefinition<?>>
Returns item definitions.@NotNull Collection<? extends SerializableItemDefinition>
Returns human-readable name of this class suitable for documentation.If not null, indicates that this type defines the structure of `extension` element of a given type.When resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored.Class<?>
Returns a compile-time class that is used to represent items.int
hashCode()
boolean
boolean
hasSubstitutions
(QName itemName) Returns true if item has substitutions in current container definitionboolean
Flag indicating whether this type was marked as "container" in the original schema.boolean
isEmpty()
Returns true if there are no item definitions.boolean
True if the complex type definition is a type dedicated to hold so-called https://docs.evolveum.com/midpoint/devel/design/xml-json-yaml-vs-xnode-vs-internal-data/heterogeneous-lists/[heterogeneous lists].boolean
Flag indicating whether this type was marked as "object" in the original schema.boolean
Flag indicating whether this type was marked as "objectReference" in the original schema.boolean
boolean
True if the complex type definition contains xsd:any (directly or indirectly).void
merge
(ComplexTypeDefinition otherComplexTypeDef) Merge provided definition into this definition.<C extends Containerable>
@NotNull PrismContainerValue<C>migrateIfNeeded
(@NotNull PrismContainerValue<C> value) A hook to migrate the value after this definition was applied to it.mutator()
Returns an interface to mutate this definition.newContainerLikeDefinition
(QName itemName, AbstractTypeDefinition ctd) newObjectLikeDefinition
(QName itemName, AbstractTypeDefinition ctd) newPropertyLikeDefinition
(QName itemName, QName typeName) void
void
replaceDefinition
(@NotNull QName itemName, ItemDefinition<?> newDefinition) Replaces a definition for an item with given name.void
revive
(PrismContext prismContext) TODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)void
setContainerMarker
(boolean containerMarker) void
setDefaultItemTypeName
(QName defaultItemTypeName) void
setDefaultNamespace
(String defaultNamespace) void
setExtensionForType
(QName extensionForType) void
setIgnoredNamespaces
(@NotNull List<String> ignoredNamespaces) void
setListMarker
(boolean listMarker) void
setObjectMarker
(boolean objectMarker) void
setReferenceMarker
(boolean referenceMarker) void
setStrictAnyMarker
(boolean marker) void
setValueMigrator
(ComplexTypeDefinition.ValueMigrator valueMigrator) void
setXsdAnyMarker
(boolean xsdAnyMarker) substitution
(QName name) void
trimTo
(@NotNull Collection<ItemPath> paths) Trims the definition (and any definitions it refers to) to contain only items related to given paths.Methods inherited from class com.evolveum.midpoint.prism.impl.TypeDefinitionImpl
addStaticSubType, canRepresent, copyDefinitionDataFrom, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, isAssignableFrom, setCompileTimeClass, setInstantiationOrder, setSuperType, writeReplace
Methods inherited from class com.evolveum.midpoint.prism.impl.DefinitionImpl
accept, addSchemaMigration, copyDefinitionDataFrom, extendDumpHeader, getAnnotation, getAnnotation, getAnnotations, getDeprecatedSince, getDiagrams, getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMergerIdentifier, getMergerInstance, getNaturalKeyInstance, getPlannedRemoval, getRemovedSince, getSchemaContextDefinition, getSchemaMigrations, getTypeName, isAbstract, 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, toString
Methods inherited from class com.evolveum.midpoint.prism.impl.schema.SchemaRegistryStateAware
getSchemaLookup, getSchemaRegistryState, setSchemaRegistryState
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.prism.AbstractTypeDefinition
getTypeName
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getPropertyDefinitions, hasOperationalOnlyItems, isItemDefinitionRemoved, itemOrSubstitution
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
getExtraFeaturesToParse, getTypeName, isRuntimeSchema, setAbstract, setRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, 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.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findPropertyDefinition, findReferenceDefinition
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, setDeprecatedSince, setExperimental, setPlannedRemoval, 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.SerializableComplexTypeDefinition
getSuperType, getTypeName
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.TypeDefinition
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, isAssignableFrom
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition.TypeDefinitionLikeBuilder
setInstantiationOrder, setSuperType
-
Constructor Details
-
ComplexTypeDefinitionImpl
-
-
Method Details
-
getDefinitions
Returns item definitions. The set contains all item definitions of all types that were parsed. Order of definitions is insignificant.- Specified by:
getDefinitions
in interfaceComplexTypeDefinition
- Specified by:
getDefinitions
in interfaceLocalItemDefinitionStore
-
getDefinitionsToSerialize
@NotNull public @NotNull Collection<? extends SerializableItemDefinition> getDefinitionsToSerialize()- Specified by:
getDefinitionsToSerialize
in interfaceSerializableComplexTypeDefinition
-
add
- Specified by:
add
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
add
Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
Should provide and register compile time class.- Specified by:
add
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getExtensionForType
Description copied from interface:ComplexTypeDefinition
If not null, indicates that this type defines the structure of `extension` element of a given type. E.g. `getExtensionForType()` == `c:UserType` means that this complex type defines structure of `extension` elements of `UserType` objects.- Specified by:
getExtensionForType
in interfaceComplexTypeDefinition
- Specified by:
getExtensionForType
in interfaceSerializableComplexTypeDefinition
-
setExtensionForType
- Specified by:
setExtensionForType
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isReferenceMarker
public boolean isReferenceMarker()Description copied from interface:ComplexTypeDefinition
Flag indicating whether this type was marked as "objectReference" in the original schema.- Specified by:
isReferenceMarker
in interfaceComplexTypeDefinition
-
setReferenceMarker
public void setReferenceMarker(boolean referenceMarker) - Specified by:
setReferenceMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isContainerMarker
public boolean isContainerMarker()Description copied from interface:ComplexTypeDefinition
Flag indicating whether this type was marked as "container" in the original schema. Does not provide any information to schema processing logic, just conveys the marker from original schema so we can serialize and deserialize the schema without loss of information.- Specified by:
isContainerMarker
in interfaceComplexTypeDefinition
- Specified by:
isContainerMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
- Specified by:
isContainerMarker
in interfaceSerializableComplexTypeDefinition
-
setContainerMarker
public void setContainerMarker(boolean containerMarker) - Specified by:
setContainerMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isObjectMarker
public boolean isObjectMarker()Description copied from interface:ComplexTypeDefinition
Flag indicating whether this type was marked as "object" in the original schema. Does not provide any information to schema processing logic, just conveys the marker from original schema so we can serialized and deserialize the schema without loss of information.- Specified by:
isObjectMarker
in interfaceComplexTypeDefinition
- Specified by:
isObjectMarker
in interfaceSerializableComplexTypeDefinition
-
isXsdAnyMarker
public boolean isXsdAnyMarker()Description copied from interface:ComplexTypeDefinition
True if the complex type definition contains xsd:any (directly or indirectly).- Specified by:
isXsdAnyMarker
in interfaceComplexTypeDefinition
- Specified by:
isXsdAnyMarker
in interfaceSerializableComplexTypeDefinition
-
setXsdAnyMarker
public void setXsdAnyMarker(boolean xsdAnyMarker) - Specified by:
setXsdAnyMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isListMarker
public boolean isListMarker()Description copied from interface:ComplexTypeDefinition
True if the complex type definition is a type dedicated to hold so-called https://docs.evolveum.com/midpoint/devel/design/xml-json-yaml-vs-xnode-vs-internal-data/heterogeneous-lists/[heterogeneous lists]. See alsoDOMUtil.IS_LIST_ATTRIBUTE_NAME
andItemDefinition.isHeterogeneousListItem()
.- Specified by:
isListMarker
in interfaceComplexTypeDefinition
-
setListMarker
public void setListMarker(boolean listMarker) - Specified by:
setListMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getDefaultItemTypeName
Description copied from interface:ComplexTypeDefinition
Type name for items that are not explicitly defined in this CTD.- Specified by:
getDefaultItemTypeName
in interfaceComplexTypeDefinition
-
setDefaultItemTypeName
- Specified by:
setDefaultItemTypeName
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getDefaultNamespace
Description copied from interface:ComplexTypeDefinition
When resolving unqualified names for items contained in this CTD, what should be the default namespace to look into at first. Currently does NOT apply recursively (to inner CTDs). Set by parsing `defaultNamespace` XSD annotation.- Specified by:
getDefaultNamespace
in interfaceComplexTypeDefinition
-
setDefaultNamespace
- Specified by:
setDefaultNamespace
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getIgnoredNamespaces
Description copied from interface:ComplexTypeDefinition
When resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored. Names in this list are interpreted as a namespace prefixes. Currently does NOT apply recursively (to inner CTDs). Set by parsing `ignoredNamespace` XSD annotations.- Specified by:
getIgnoredNamespaces
in interfaceComplexTypeDefinition
-
setIgnoredNamespaces
- Specified by:
setIgnoredNamespaces
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
setObjectMarker
public void setObjectMarker(boolean objectMarker) - Specified by:
setObjectMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
createPropertyDefinition
- Specified by:
createPropertyDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
-
createPropertyDefinition
- Specified by:
createPropertyDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
-
findLocalItemDefinition
Description copied from interface:LocalItemDefinitionStore
Returns the localItemDefinition
corresponding to given item name (in case-sensitive manner). Does not try to resolve items globally (in the case of "any" content). Note: some implementors provide optimized implementations of this method.- Specified by:
findLocalItemDefinition
in interfaceLocalItemDefinitionStore
-
findItemDefinition
public <ID extends ItemDefinition<?>> ID findItemDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<ID> clazz) Description copied from interface:LocalItemDefinitionStore
Returns a definition of given type corresponding to given path (rooted at this store). Tries the global resolution in the case of "any" content.- Specified by:
findItemDefinition
in interfaceLocalItemDefinitionStore
-
findLocalItemDefinition
public <ID extends ItemDefinition<?>> ID findLocalItemDefinition(@NotNull @NotNull QName name, @NotNull @NotNull Class<ID> clazz, boolean caseInsensitive) Description copied from interface:LocalItemDefinitionStore
Returns the local item definition corresponding to given item name (optionally case-insensitive) and definition class. Does not try to resolve items globally (in the case of "any" content). BEWARE: In the case of ambiguities, returns any suitable definition. (This may change.)- Specified by:
findLocalItemDefinition
in interfaceLocalItemDefinitionStore
-
merge
Merge provided definition into this definition.- Specified by:
merge
in interfaceComplexTypeDefinition
-
revive
Description copied from interface:Revivable
TODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)- Specified by:
revive
in interfaceRevivable
- Specified by:
revive
in classDefinitionImpl
-
isEmpty
public boolean isEmpty()Description copied from interface:ComplexTypeDefinition
Returns true if there are no item definitions.- Specified by:
isEmpty
in interfaceComplexTypeDefinition
-
accept
- Specified by:
accept
in interfaceSmartVisitable<Definition>
- Overrides:
accept
in classDefinitionImpl
- Returns:
- false if we already was here
-
clone
Description copied from interface:ComplexTypeDefinition
Does a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).- Specified by:
clone
in interfaceComplexTypeDefinition
- Specified by:
clone
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
- Specified by:
clone
in interfaceDefinition
- Specified by:
clone
in classDefinitionImpl
-
deepClone
-
deepClone
@NotNull public @NotNull ComplexTypeDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation) Description copied from interface:ComplexTypeDefinition
Does a deep clone of this definition.- Specified by:
deepClone
in interfaceComplexTypeDefinition
-
copyDefinitionDataFrom
-
replaceDefinition
Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionMutator
Replaces a definition for an item with given name. TODO specify the behavior more precisely- Specified by:
replaceDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
hashCode
public int hashCode()- Overrides:
hashCode
in classTypeDefinitionImpl
-
equals
- Overrides:
equals
in classTypeDefinitionImpl
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
- Overrides:
debugDump
in classDefinitionImpl
-
debugDump
- Specified by:
debugDump
in interfaceDefinition
-
getDebugDumpClassName
Return a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassName
in classDefinitionImpl
-
getDocClassName
Description copied from class:DefinitionImpl
Returns human-readable name of this class suitable for documentation. (e.g. "property")- Specified by:
getDocClassName
in classDefinitionImpl
-
trimTo
Description copied from interface:ComplexTypeDefinition
Trims the definition (and any definitions it refers to) to contain only items related to given paths. USE WITH CARE. Be sure no shared definitions would be affected by this operation!- Specified by:
trimTo
in interfaceComplexTypeDefinition
-
delete
- Specified by:
delete
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
mutator
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
mutator
in interfaceComplexTypeDefinition
- Specified by:
mutator
in interfaceDefinition
-
performFreeze
public void performFreeze()- Overrides:
performFreeze
in classSchemaRegistryStateAware
-
addSubstitution
- Specified by:
addSubstitution
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
substitution
- Specified by:
substitution
in interfaceComplexTypeDefinition
-
hasSubstitutions
public boolean hasSubstitutions()- Specified by:
hasSubstitutions
in interfaceComplexTypeDefinition
-
hasSubstitutions
Description copied from interface:ComplexTypeDefinition
Returns true if item has substitutions in current container definition- Specified by:
hasSubstitutions
in interfaceComplexTypeDefinition
-
addXmlAttributeDefinition
- Specified by:
addXmlAttributeDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getXmlAttributeDefinitions
- Specified by:
getXmlAttributeDefinitions
in interfaceComplexTypeDefinition
-
isStrictAnyMarker
public boolean isStrictAnyMarker()- Specified by:
isStrictAnyMarker
in interfaceComplexTypeDefinition
-
setStrictAnyMarker
public void setStrictAnyMarker(boolean marker) - Specified by:
setStrictAnyMarker
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getTypeClass
Description copied from interface:Definition
Returns a compile-time class that is used to represent items. E.g. returns String, Integer, subclasses of Objectable and Containerable and so on.- Specified by:
getTypeClass
in interfaceDefinition
-
newPropertyLikeDefinition
public <T> PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T> newPropertyLikeDefinition(QName itemName, QName typeName) - Specified by:
newPropertyLikeDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
newContainerLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newContainerLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newContainerLikeDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
newObjectLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newObjectLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newObjectLikeDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getObjectBuilt
- Specified by:
getObjectBuilt
in interfaceDefinitionFragmentBuilder
-
migrateIfNeeded
@NotNull public <C extends Containerable> @NotNull PrismContainerValue<C> migrateIfNeeded(@NotNull @NotNull PrismContainerValue<C> value) Description copied from interface:ComplexTypeDefinition
A hook to migrate the value after this definition was applied to it.- Specified by:
migrateIfNeeded
in interfaceComplexTypeDefinition
-
setValueMigrator
- Specified by:
setValueMigrator
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
getNaturalKeyConstituents
- Specified by:
getNaturalKeyConstituents
in interfaceDefinition
- Overrides:
getNaturalKeyConstituents
in classDefinitionImpl
-