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,SchemaLookup.Aware,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.ValueMigratorNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.Definition
Definition.DefinitionBuilder, Definition.DefinitionMutatorNested 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.PrismPresentationDefinition
PrismPresentationDefinition.Data, PrismPresentationDefinition.Delegable, PrismPresentationDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
PrismPresentationDefinition.Mutable.DelegableNested 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, instantiationOrderFields 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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(Visitor<Definition> visitor, SmartVisitation<Definition> visitation) voidadd(DefinitionFragmentBuilder builder) Should provide and register compile time class.voidadd(ItemDefinition<?> definition) voidaddSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst) voidaddXmlAttributeDefinition(PrismPropertyDefinition<?> attributeDef) @NotNull ComplexTypeDefinitionImplclone()Does a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).protected voidcreatePropertyDefinition(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 ComplexTypeDefinitiondeepClone(@NotNull DeepCloneOperation operation) Does a deep clone of this definition.voidboolean<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 localItemDefinitioncorresponding 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 StringReturn a human readable name of this class suitable for logs.@Nullable QNameType 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.@Nullable QNameDefault target type name for references typed usingComplexTypeDefinition.getDefaultItemTypeName()set to "reference type".@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.inthashCode()booleanbooleanhasSubstitutions(QName itemName) Returns true if item has substitutions in current container definitionbooleanFlag indicating whether this type was marked as "container" in the original schema.booleanisEmpty()Returns true if there are no item definitions.booleanTrue 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].booleanFlag indicating whether this type was marked as "object" in the original schema.booleanFlag indicating whether this type was marked as "objectReference" in the original schema.booleanbooleanTrue if the complex type definition contains xsd:any (directly or indirectly).voidmerge(ComplexTypeDefinition otherComplexTypeDef) Merge provided definition into this definition.<C extends Containerable>
@NotNull PrismContainerValue<C>migrateIfNeeded(@NotNull PrismContainerValue<C> value) Similar to migration for prism references; although this one is more flexible - using pluggableComplexTypeDefinition.ValueMigratorbecause of client (midPoint) requirements.mutator()Returns an interface to mutate this definition.newContainerLikeDefinition(QName itemName, AbstractTypeDefinition ctd) newObjectLikeDefinition(QName itemName, AbstractTypeDefinition ctd) newPropertyLikeDefinition(QName itemName, QName typeName) voidvoidreplaceDefinition(@NotNull QName itemName, ItemDefinition<?> newDefinition) Replaces a definition for an item with given name.voidrevive(PrismContext prismContext) TODO: Is revive necessary if prism context is static?voidsetContainerMarker(boolean containerMarker) voidsetDefaultItemTypeName(QName defaultItemTypeName) voidsetDefaultNamespace(String defaultNamespace) voidsetDefaultReferenceTargetTypeName(QName defaultReferenceTargetTypeName) voidsetExtensionForType(QName extensionForType) voidsetIgnoredNamespaces(@NotNull List<String> ignoredNamespaces) voidsetListMarker(boolean listMarker) voidsetObjectMarker(boolean objectMarker) voidsetReferenceMarker(boolean referenceMarker) voidsetStrictAnyMarker(boolean marker) voidsetValueMigrator(ComplexTypeDefinition.ValueMigrator valueMigrator) voidsetXsdAnyMarker(boolean xsdAnyMarker) substitution(QName name) voidtrimTo(@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, writeReplaceMethods 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, toStringMethods 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.prism.AbstractTypeDefinition
getTypeNameMethods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getPropertyDefinitions, hasOperationalOnlyItems, isItemDefinitionRemoved, itemOrSubstitutionMethods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
getExtraFeaturesToParse, getTypeName, isRuntimeSchema, setAbstract, setRuntimeSchemaMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing, getAnnotation, getAnnotations, getMergerIdentifier, getMergerInstance, getMutabilityFlag, 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.LocalItemDefinitionStore
containsItemDefinition, findContainerDefinition, findItemDefinition, findLocalItemDefinitionByIteration, findPropertyDefinition, findReferenceDefinitionMethods 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, setDeprecatedSince, setExperimental, setPlannedRemoval, 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.SchemaLookup.Aware
schemaLookupMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableComplexTypeDefinition
getSuperType, getTypeNameMethods inherited from interface com.evolveum.midpoint.prism.schema.SerializableDefinition
getDisplayHint, getDisplayName, getDisplayOrder, getDocumentation, getExtraFeaturesToSerialize, getHelp, isEmphasizedMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, isAssignableFromMethods 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:
getDefinitionsin interfaceComplexTypeDefinition- Specified by:
getDefinitionsin interfaceLocalItemDefinitionStore
-
getDefinitionsToSerialize
@NotNull public @NotNull Collection<? extends SerializableItemDefinition> getDefinitionsToSerialize()- Specified by:
getDefinitionsToSerializein interfaceSerializableComplexTypeDefinition
-
add
- Specified by:
addin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
add
Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilderShould provide and register compile time class.- Specified by:
addin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getExtensionForType
Description copied from interface:ComplexTypeDefinitionIf 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:
getExtensionForTypein interfaceComplexTypeDefinition- Specified by:
getExtensionForTypein interfaceSerializableComplexTypeDefinition
-
setExtensionForType
- Specified by:
setExtensionForTypein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isReferenceMarker
public boolean isReferenceMarker()Description copied from interface:ComplexTypeDefinitionFlag indicating whether this type was marked as "objectReference" in the original schema.- Specified by:
isReferenceMarkerin interfaceComplexTypeDefinition
-
setReferenceMarker
public void setReferenceMarker(boolean referenceMarker) - Specified by:
setReferenceMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isContainerMarker
public boolean isContainerMarker()Description copied from interface:ComplexTypeDefinitionFlag 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:
isContainerMarkerin interfaceComplexTypeDefinition- Specified by:
isContainerMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder- Specified by:
isContainerMarkerin interfaceSerializableComplexTypeDefinition
-
setContainerMarker
public void setContainerMarker(boolean containerMarker) - Specified by:
setContainerMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isObjectMarker
public boolean isObjectMarker()Description copied from interface:ComplexTypeDefinitionFlag 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:
isObjectMarkerin interfaceComplexTypeDefinition- Specified by:
isObjectMarkerin interfaceSerializableComplexTypeDefinition
-
isXsdAnyMarker
public boolean isXsdAnyMarker()Description copied from interface:ComplexTypeDefinitionTrue if the complex type definition contains xsd:any (directly or indirectly).- Specified by:
isXsdAnyMarkerin interfaceComplexTypeDefinition- Specified by:
isXsdAnyMarkerin interfaceSerializableComplexTypeDefinition
-
setXsdAnyMarker
public void setXsdAnyMarker(boolean xsdAnyMarker) - Specified by:
setXsdAnyMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isListMarker
public boolean isListMarker()Description copied from interface:ComplexTypeDefinitionTrue 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_NAMEandItemDefinition.isHeterogeneousListItem().- Specified by:
isListMarkerin interfaceComplexTypeDefinition
-
setListMarker
public void setListMarker(boolean listMarker) - Specified by:
setListMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getDefaultItemTypeName
Description copied from interface:ComplexTypeDefinitionType name for items that are not explicitly defined in this CTD.- Specified by:
getDefaultItemTypeNamein interfaceComplexTypeDefinition
-
setDefaultItemTypeName
- Specified by:
setDefaultItemTypeNamein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getDefaultReferenceTargetTypeName
Description copied from interface:ComplexTypeDefinitionDefault target type name for references typed usingComplexTypeDefinition.getDefaultItemTypeName()set to "reference type".- Specified by:
getDefaultReferenceTargetTypeNamein interfaceComplexTypeDefinition
-
setDefaultReferenceTargetTypeName
- Specified by:
setDefaultReferenceTargetTypeNamein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getDefaultNamespace
Description copied from interface:ComplexTypeDefinitionWhen 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:
getDefaultNamespacein interfaceComplexTypeDefinition
-
setDefaultNamespace
- Specified by:
setDefaultNamespacein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getIgnoredNamespaces
Description copied from interface:ComplexTypeDefinitionWhen 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:
getIgnoredNamespacesin interfaceComplexTypeDefinition
-
setIgnoredNamespaces
- Specified by:
setIgnoredNamespacesin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
setObjectMarker
public void setObjectMarker(boolean objectMarker) - Specified by:
setObjectMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
createPropertyDefinition
- Specified by:
createPropertyDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
-
createPropertyDefinition
- Specified by:
createPropertyDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
-
findLocalItemDefinition
Description copied from interface:LocalItemDefinitionStoreReturns the localItemDefinitioncorresponding 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:
findLocalItemDefinitionin interfaceLocalItemDefinitionStore
-
findItemDefinition
public <ID extends ItemDefinition<?>> ID findItemDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<ID> clazz) Description copied from interface:LocalItemDefinitionStoreReturns 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:
findItemDefinitionin interfaceLocalItemDefinitionStore
-
findLocalItemDefinition
public <ID extends ItemDefinition<?>> ID findLocalItemDefinition(@NotNull @NotNull QName name, @NotNull @NotNull Class<ID> clazz, boolean caseInsensitive) Description copied from interface:LocalItemDefinitionStoreReturns 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:
findLocalItemDefinitionin interfaceLocalItemDefinitionStore
-
merge
Merge provided definition into this definition.- Specified by:
mergein interfaceComplexTypeDefinition
-
revive
Description copied from interface:RevivableTODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)- Specified by:
revivein interfaceRevivable- Specified by:
revivein classDefinitionImpl
-
isEmpty
public boolean isEmpty()Description copied from interface:ComplexTypeDefinitionReturns true if there are no item definitions.- Specified by:
isEmptyin interfaceComplexTypeDefinition
-
accept
- Specified by:
acceptin interfaceSmartVisitable<Definition>- Overrides:
acceptin classDefinitionImpl- Returns:
- false if we already was here
-
clone
Description copied from interface:ComplexTypeDefinitionDoes a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).- Specified by:
clonein interfaceComplexTypeDefinition- Specified by:
clonein interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator- Specified by:
clonein interfaceDefinition- Specified by:
clonein classDefinitionImpl
-
deepClone
-
deepClone
@NotNull public @NotNull ComplexTypeDefinition deepClone(@NotNull @NotNull DeepCloneOperation operation) Description copied from interface:ComplexTypeDefinitionDoes a deep clone of this definition.- Specified by:
deepClonein interfaceComplexTypeDefinition
-
copyDefinitionDataFrom
-
replaceDefinition
Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionMutatorReplaces a definition for an item with given name. TODO specify the behavior more precisely- Specified by:
replaceDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
hashCode
public int hashCode()- Overrides:
hashCodein classTypeDefinitionImpl
-
equals
- Overrides:
equalsin classTypeDefinitionImpl
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable- Overrides:
debugDumpin classDefinitionImpl
-
debugDump
- Specified by:
debugDumpin interfaceDefinition
-
getDebugDumpClassName
Return a human readable name of this class suitable for logs.- Specified by:
getDebugDumpClassNamein classDefinitionImpl
-
getDocClassName
Description copied from class:DefinitionImplReturns human-readable name of this class suitable for documentation. (e.g. "property")- Specified by:
getDocClassNamein classDefinitionImpl
-
trimTo
Description copied from interface:ComplexTypeDefinitionTrims 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:
trimToin interfaceComplexTypeDefinition
-
delete
- Specified by:
deletein interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
mutator
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
mutatorin interfaceComplexTypeDefinition- Specified by:
mutatorin interfaceDefinition
-
performFreeze
public void performFreeze()- Overrides:
performFreezein classSchemaRegistryStateAware
-
addSubstitution
- Specified by:
addSubstitutionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
substitution
- Specified by:
substitutionin interfaceComplexTypeDefinition
-
hasSubstitutions
public boolean hasSubstitutions()- Specified by:
hasSubstitutionsin interfaceComplexTypeDefinition
-
hasSubstitutions
Description copied from interface:ComplexTypeDefinitionReturns true if item has substitutions in current container definition- Specified by:
hasSubstitutionsin interfaceComplexTypeDefinition
-
addXmlAttributeDefinition
- Specified by:
addXmlAttributeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getXmlAttributeDefinitions
- Specified by:
getXmlAttributeDefinitionsin interfaceComplexTypeDefinition
-
isStrictAnyMarker
public boolean isStrictAnyMarker()- Specified by:
isStrictAnyMarkerin interfaceComplexTypeDefinition
-
setStrictAnyMarker
public void setStrictAnyMarker(boolean marker) - Specified by:
setStrictAnyMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getTypeClass
Description copied from interface:DefinitionReturns 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:
getTypeClassin interfaceDefinition
-
newPropertyLikeDefinition
public <T> PrismPropertyDefinition.PrismPropertyLikeDefinitionBuilder<T> newPropertyLikeDefinition(QName itemName, QName typeName) - Specified by:
newPropertyLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
newContainerLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newContainerLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newContainerLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
newObjectLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newObjectLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newObjectLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getObjectBuilt
- Specified by:
getObjectBuiltin interfaceDefinitionFragmentBuilder
-
migrateIfNeeded
@NotNull public <C extends Containerable> @NotNull PrismContainerValue<C> migrateIfNeeded(@NotNull @NotNull PrismContainerValue<C> value) Similar to migration for prism references; although this one is more flexible - using pluggableComplexTypeDefinition.ValueMigratorbecause of client (midPoint) requirements.- Specified by:
migrateIfNeededin interfaceComplexTypeDefinition
-
setValueMigrator
- Specified by:
setValueMigratorin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
getNaturalKeyConstituents
- Specified by:
getNaturalKeyConstituentsin interfaceDefinition- Overrides:
getNaturalKeyConstituentsin classDefinitionImpl
-