Class TransformableComplexTypeDefinition
java.lang.Object
com.evolveum.midpoint.model.impl.schema.transform.TransformableDefinition
com.evolveum.midpoint.model.impl.schema.transform.TransformableComplexTypeDefinition
- All Implemented Interfaces:
AbstractTypeDefinition
,ComplexTypeDefinition
,ComplexTypeDefinition.ComplexTypeDefinitionMutator
,Definition
,Definition.DefinitionMutator
,ComplexTypeDefinitionDelegator
,DefinitionDelegator
,TypeDefinitionDelegator
,Freezable
,LocalItemDefinitionStore
,PrismLifecycleDefinition
,PrismLifecycleDefinition.Mutable
,PrismPresentationDefinition
,PrismPresentationDefinition.Mutable
,Revivable
,SmartVisitable<Definition>
,TypeDefinition
,TypeDefinition.TypeDefinitionMutator
,Visitable<Definition>
,DebugDumpable
,Serializable
,Cloneable
public class TransformableComplexTypeDefinition
extends TransformableDefinition
implements ComplexTypeDefinitionDelegator
- 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 interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
add
(ItemDefinition<?> definition) default void
addSchemaMigration
(SchemaMigration schemaMigration) default void
addSubstitution
(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst) @NotNull ComplexTypeDefinition
clone()
Does a shallow clone of this definition (i.e.copy()
createPropertyDefinition
(String name, QName typeName) createPropertyDefinition
(QName name, QName typeName) @NotNull ComplexTypeDefinition
deepClone
(@NotNull DeepCloneOperation operation) Does a deep clone of this definition.delegate()
void
<ID extends ItemDefinition<?>>
IDfindItemDefinition
(@NotNull ItemPath path) ReturnsItemDefinition
corresponding to given path (rooted at this store).<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.<ID extends ItemDefinition>
IDfindNamedItemDefinition
(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz) void
freeze()
from
(ComplexTypeDefinition complexTypeDefinition) @Nullable QName
Type name for items that are not explicitly defined in this CTD.@NotNull List<? extends ItemDefinition<?>>
Returns definitions for all inner items.boolean
isEmpty()
Returns true if there are no item definitions.boolean
boolean
isItemDefinitionRemoved
(QName itemName) This allows to distinguish between missing and explicitly removed definitions.itemOrSubstitution
(QName name) mutator()
Returns an interface to mutate this definition.void
replaceDefinition
(@NotNull QName name, ItemDefinition definition) Currently used only to replace Refined* with LayerRefined*void
revive
(PrismContext prismContext) TODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary)default void
setAbstract
(boolean value) default void
setCompileTimeClass
(Class<?> compileTimeClass) default void
setContainerMarker
(boolean value) void
setDefaultItemTypeName
(QName value) default void
setDefaultNamespace
(String namespace) default void
setDeprecated
(boolean deprecated) default void
setDeprecatedSince
(String deprecatedSince) default void
setDiagrams
(List<ItemDiagramSpecification> value) default void
setDisplayHint
(DisplayHint displayHint) default void
setDisplayName
(String displayName) default void
setDisplayOrder
(Integer displayOrder) default void
setDocumentation
(String value) default void
setEmphasized
(boolean emphasized) default void
setExperimental
(boolean experimental) default void
setExtensionForType
(QName type) default void
default void
setIgnoredNamespaces
(@NotNull List<String> ignoredNamespaces) default void
setInstantiationOrder
(Integer order) default void
setListMarker
(boolean value) default void
setMergerIdentifier
(String mergerIdentifier) default void
setNaturalKeyConstituents
(List<QName> naturalKeyConstituents) default void
setObjectMarker
(boolean value) default void
setOptionalCleanup
(boolean optionalCleanup) default void
setPlannedRemoval
(String plannedRemoval) default void
setReferenceMarker
(boolean value) default void
setRemoved
(boolean removed) default void
setRemovedSince
(String removedSince) default void
setRuntimeSchema
(boolean value) default void
setSchemaMigrations
(List<SchemaMigration> value) default void
setSuperType
(QName superType) default void
setXsdAnyMarker
(boolean value) 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.model.impl.schema.transform.TransformableDefinition
annotationsOverrides, getAnnotation, setAnnotation
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getPropertyDefinitions, getXmlAttributeDefinitions, hasSubstitutions, isStrictAnyMarker, migrateIfNeeded
Methods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition.ComplexTypeDefinitionMutator
setValueMigrator
Methods inherited from interface com.evolveum.midpoint.prism.deleg.ComplexTypeDefinitionDelegator
findContainerDefinition, findReferenceDefinition, getDefaultNamespace, getDiagrams, getDisplayName, getDisplayOrder, getExtensionForType, getHelp, getIgnoredNamespaces, getSuperType, getTypeName, hasOperationalOnlyItems, hasSubstitutions, isContainerMarker, isEmphasized, isListMarker, isObjectMarker, isReferenceMarker, isXsdAnyMarker, merge
Methods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposing
Methods inherited from interface com.evolveum.midpoint.prism.Definition.DefinitionMutator
setAnnotation
Methods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayHint, getDocumentation, getDocumentationPreview, getMergerIdentifier, getMergerInstance, getMutabilityFlag, getNaturalKeyConstituents, getNaturalKeyInstance, getPlannedRemoval, getRemovedSince, getSchemaMigrations, getTypeClass, isAbstract, isDeprecated, isElaborate, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchema
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable
Methods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findPropertyDefinition
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFrom
Methods inherited from interface com.evolveum.midpoint.prism.deleg.TypeDefinitionDelegator
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes
-
Field Details
-
delegate
-
-
Constructor Details
-
TransformableComplexTypeDefinition
-
-
Method Details
-
delegate
- Specified by:
delegate
in interfaceComplexTypeDefinitionDelegator
- Specified by:
delegate
in interfaceDefinitionDelegator
- Specified by:
delegate
in interfaceTypeDefinitionDelegator
-
from
-
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
-
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
-
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 interfaceComplexTypeDefinitionDelegator
- Specified by:
findItemDefinition
in interfaceLocalItemDefinitionStore
-
findItemDefinition
Description copied from interface:LocalItemDefinitionStore
ReturnsItemDefinition
corresponding to given path (rooted at this store). Tries the global resolution in the case of "any" content.- Specified by:
findItemDefinition
in interfaceComplexTypeDefinitionDelegator
- Specified by:
findItemDefinition
in interfaceLocalItemDefinitionStore
-
findNamedItemDefinition
public <ID extends ItemDefinition> ID findNamedItemDefinition(@NotNull @NotNull QName firstName, @NotNull @NotNull ItemPath rest, @NotNull @NotNull Class<ID> clazz) -
getDefinitions
Description copied from interface:ComplexTypeDefinition
Returns definitions for all inner items. These are of typeItemDefinition
. However, very often subtypes of this type are used, e.g. ResourceAttributeDefinition, RefinedAttributeDefinition, LayerRefinedAttributeDefinition, and so on. The returned structure is aList
because the ordering is significant, e.g. for serialization purposes. The list is unmodifiable.- Specified by:
getDefinitions
in interfaceComplexTypeDefinition
- Specified by:
getDefinitions
in interfaceComplexTypeDefinitionDelegator
- Specified by:
getDefinitions
in interfaceLocalItemDefinitionStore
-
getDefaultItemTypeName
Description copied from interface:ComplexTypeDefinition
Type name for items that are not explicitly defined in this CTD.- Specified by:
getDefaultItemTypeName
in interfaceComplexTypeDefinition
-
isEmpty
public boolean isEmpty()Description copied from interface:ComplexTypeDefinition
Returns true if there are no item definitions.- Specified by:
isEmpty
in interfaceComplexTypeDefinition
- Specified by:
isEmpty
in interfaceComplexTypeDefinitionDelegator
-
substitution
- Specified by:
substitution
in interfaceComplexTypeDefinition
- Specified by:
substitution
in interfaceComplexTypeDefinitionDelegator
-
itemOrSubstitution
- Specified by:
itemOrSubstitution
in interfaceComplexTypeDefinition
- Specified by:
itemOrSubstitution
in interfaceComplexTypeDefinitionDelegator
-
revive
Description copied from interface:Revivable
TODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary) -
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
- Overrides:
clone
in classTransformableDefinition
-
setDefaultItemTypeName
-
isImmutable
public boolean isImmutable()- Specified by:
isImmutable
in interfaceFreezable
-
freeze
public void freeze() -
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
-
mutator
Description copied from interface:Definition
Returns an interface to mutate this definition.- Specified by:
mutator
in interfaceComplexTypeDefinition
- Specified by:
mutator
in interfaceDefinition
-
isItemDefinitionRemoved
Description copied from interface:ComplexTypeDefinition
This allows to distinguish between missing and explicitly removed definitions.- Specified by:
isItemDefinitionRemoved
in interfaceComplexTypeDefinition
-
replaceDefinition
Currently used only to replace Refined* with LayerRefined*- Specified by:
replaceDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
delete
- Specified by:
delete
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
copy
-
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
- Specified by:
trimTo
in interfaceComplexTypeDefinitionDelegator
-
setOptionalCleanup
default void setOptionalCleanup(boolean optionalCleanup) - Specified by:
setOptionalCleanup
in interfaceDefinition.DefinitionMutator
-
setInstantiationOrder
-
setDeprecated
default void setDeprecated(boolean deprecated) - Specified by:
setDeprecated
in interfacePrismLifecycleDefinition.Mutable
-
setRemoved
default void setRemoved(boolean removed) - Specified by:
setRemoved
in interfacePrismLifecycleDefinition.Mutable
-
setRemovedSince
- Specified by:
setRemovedSince
in interfacePrismLifecycleDefinition.Mutable
-
setPlannedRemoval
- Specified by:
setPlannedRemoval
in interfacePrismLifecycleDefinition.Mutable
-
setDeprecatedSince
- Specified by:
setDeprecatedSince
in interfacePrismLifecycleDefinition.Mutable
-
setExperimental
default void setExperimental(boolean experimental) - Specified by:
setExperimental
in interfacePrismLifecycleDefinition.Mutable
-
setDisplayHint
- Specified by:
setDisplayHint
in interfacePrismPresentationDefinition.Mutable
-
setMergerIdentifier
- Specified by:
setMergerIdentifier
in interfaceDefinition.DefinitionMutator
-
setNaturalKeyConstituents
- Specified by:
setNaturalKeyConstituents
in interfaceDefinition.DefinitionMutator
-
setEmphasized
default void setEmphasized(boolean emphasized) - Specified by:
setEmphasized
in interfacePrismPresentationDefinition.Mutable
-
setDisplayName
- Specified by:
setDisplayName
in interfacePrismPresentationDefinition.Mutable
-
setDisplayOrder
- Specified by:
setDisplayOrder
in interfacePrismPresentationDefinition.Mutable
-
setHelp
- Specified by:
setHelp
in interfacePrismPresentationDefinition.Mutable
-
setRuntimeSchema
default void setRuntimeSchema(boolean value) - Specified by:
setRuntimeSchema
in interfaceDefinition.DefinitionMutator
-
setDocumentation
- Specified by:
setDocumentation
in interfacePrismPresentationDefinition.Mutable
-
addSchemaMigration
- Specified by:
addSchemaMigration
in interfacePrismLifecycleDefinition.Mutable
-
setSchemaMigrations
- Specified by:
setSchemaMigrations
in interfacePrismLifecycleDefinition.Mutable
-
add
- Specified by:
add
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
default PrismPropertyDefinition.PrismPropertyDefinitionMutator<?> createPropertyDefinition(QName name, QName typeName) - Specified by:
createPropertyDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
default PrismPropertyDefinition.PrismPropertyDefinitionMutator<?> createPropertyDefinition(String name, QName typeName) - Specified by:
createPropertyDefinition
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
setExtensionForType
-
setAbstract
default void setAbstract(boolean value) -
setSuperType
-
setObjectMarker
default void setObjectMarker(boolean value) -
setContainerMarker
default void setContainerMarker(boolean value) -
setReferenceMarker
default void setReferenceMarker(boolean value) -
setDefaultNamespace
-
setIgnoredNamespaces
-
setXsdAnyMarker
default void setXsdAnyMarker(boolean value) -
setListMarker
default void setListMarker(boolean value) -
setCompileTimeClass
-
addSubstitution
- Specified by:
addSubstitution
in interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
setDiagrams
- Specified by:
setDiagrams
in interfacePrismPresentationDefinition.Mutable
-