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,SchemaLookup.Aware,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.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
FieldsFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondefault voidadd(ItemDefinition<?> definition) default voidaddSchemaMigration(SchemaMigration schemaMigration) default voidaddSubstitution(ItemDefinition<?> itemDef, ItemDefinition<?> maybeSubst) @NotNull TransformableComplexTypeDefinitionclone()Does a shallow clone of this definition (i.e. item definitions themselves are NOT cloned).copy()createPropertyDefinition(String name, QName typeName) createPropertyDefinition(QName name, QName typeName) @NotNull ComplexTypeDefinitiondeepClone(@NotNull DeepCloneOperation operation) Does a deep clone of this definition.delegate()void<ID extends ItemDefinition<?>>
IDfindItemDefinition(@NotNull ItemPath path) ReturnsItemDefinitioncorresponding 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 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.<ID extends ItemDefinition>
IDfindNamedItemDefinition(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz) voidfreeze()Should be no-op (or very quick) if the object is already immutable.from(ComplexTypeDefinition complexTypeDefinition) @Nullable QNameType name for items that are not explicitly defined in this CTD.@Nullable QNameDefault target type name for references typed usingComplexTypeDefinition.getDefaultItemTypeName()set to "reference type".@NotNull List<? extends ItemDefinition<?>>Returns definitions for all inner items.booleanisEmpty()Returns true if there are no item definitions.booleanbooleanisItemDefinitionRemoved(QName itemName) This allows to distinguish between missing and explicitly removed definitions.itemOrSubstitution(QName name) mutator()Returns an interface to mutate this definition.voidreplaceDefinition(@NotNull QName name, ItemDefinition definition) Currently used only to replace Refined* with LayerRefined*voidrevive(PrismContext prismContext) TODO: Is revive necessary if prism context is static?default voidsetAbstract(boolean value) default voidsetCompileTimeClass(Class<?> compileTimeClass) default voidsetContainerMarker(boolean value) voidsetDefaultItemTypeName(QName value) default voidsetDefaultNamespace(String namespace) default voidsetDeprecated(boolean deprecated) default voidsetDeprecatedSince(String deprecatedSince) default voidsetDiagrams(List<ItemDiagramSpecification> value) default voidsetDisplayHint(DisplayHint displayHint) default voidsetDisplayName(String displayName) default voidsetDisplayOrder(Integer displayOrder) default voidsetDocumentation(String value) default voidsetEmphasized(boolean emphasized) default voidsetExperimental(boolean experimental) default voidsetExtensionForType(QName type) default voiddefault voidsetIgnoredNamespaces(@NotNull List<String> ignoredNamespaces) default voidsetInstantiationOrder(Integer order) default voidsetListMarker(boolean value) default voidsetMergerIdentifier(String mergerIdentifier) default voidsetNaturalKeyConstituents(List<QName> naturalKeyConstituents) default voidsetObjectMarker(boolean value) default voidsetOptionalCleanup(boolean optionalCleanup) default voidsetPlannedRemoval(String plannedRemoval) default voidsetReferenceMarker(boolean value) default voidsetRemoved(boolean removed) default voidsetRemovedSince(String removedSince) default voidsetRuntimeSchema(boolean value) voidsetSchemaContextDefinition(SchemaContextDefinition schemaContextDefinition) default voidsetSchemaMigrations(List<SchemaMigration> value) default voidsetSuperType(QName superType) default voidsetXsdAnyMarker(boolean value) 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.model.impl.schema.transform.TransformableDefinition
annotationsOverrides, getAnnotation, setAnnotationMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition
getPropertyDefinitions, getXmlAttributeDefinitions, hasSubstitutions, isStrictAnyMarker, migrateIfNeededMethods inherited from interface com.evolveum.midpoint.prism.ComplexTypeDefinition.ComplexTypeDefinitionMutator
setValueMigratorMethods 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, mergeMethods inherited from interface com.evolveum.midpoint.prism.Definition
checkMutableOnExposingMethods inherited from interface com.evolveum.midpoint.prism.Definition.DefinitionMutator
setAnnotationMethods 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, getSchemaContextDefinition, getSchemaMigrations, getTypeClass, isAbstract, isDeprecated, isElaborate, isExperimental, isOptionalCleanup, isRemoved, isRuntimeSchemaMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutableMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findLocalItemDefinitionByIteration, findPropertyDefinitionMethods inherited from interface com.evolveum.midpoint.prism.schema.SchemaLookup.Aware
schemaLookupMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFromMethods inherited from interface com.evolveum.midpoint.prism.deleg.TypeDefinitionDelegator
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes
-
Field Details
-
delegate
-
-
Constructor Details
-
TransformableComplexTypeDefinition
-
-
Method Details
-
delegate
- Specified by:
delegatein interfaceComplexTypeDefinitionDelegator- Specified by:
delegatein interfaceDefinitionDelegator- Specified by:
delegatein interfaceTypeDefinitionDelegator
-
from
-
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
-
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
-
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 interfaceComplexTypeDefinitionDelegator- Specified by:
findItemDefinitionin interfaceLocalItemDefinitionStore
-
findItemDefinition
Description copied from interface:LocalItemDefinitionStoreReturnsItemDefinitioncorresponding to given path (rooted at this store). Tries the global resolution in the case of "any" content.- Specified by:
findItemDefinitionin interfaceComplexTypeDefinitionDelegator- Specified by:
findItemDefinitionin 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:ComplexTypeDefinitionReturns 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 aListbecause the ordering is significant, e.g. for serialization purposes. The list is unmodifiable.- Specified by:
getDefinitionsin interfaceComplexTypeDefinition- Specified by:
getDefinitionsin interfaceComplexTypeDefinitionDelegator- Specified by:
getDefinitionsin interfaceLocalItemDefinitionStore
-
getDefaultItemTypeName
Description copied from interface:ComplexTypeDefinitionType name for items that are not explicitly defined in this CTD.- Specified by:
getDefaultItemTypeNamein interfaceComplexTypeDefinition
-
getDefaultReferenceTargetTypeName
Description copied from interface:ComplexTypeDefinitionDefault target type name for references typed usingComplexTypeDefinition.getDefaultItemTypeName()set to "reference type".- Specified by:
getDefaultReferenceTargetTypeNamein interfaceComplexTypeDefinition
-
isEmpty
public boolean isEmpty()Description copied from interface:ComplexTypeDefinitionReturns true if there are no item definitions.- Specified by:
isEmptyin interfaceComplexTypeDefinition- Specified by:
isEmptyin interfaceComplexTypeDefinitionDelegator
-
substitution
- Specified by:
substitutionin interfaceComplexTypeDefinition- Specified by:
substitutionin interfaceComplexTypeDefinitionDelegator
-
itemOrSubstitution
- Specified by:
itemOrSubstitutionin interfaceComplexTypeDefinition- Specified by:
itemOrSubstitutionin interfaceComplexTypeDefinitionDelegator
-
revive
Description copied from interface:RevivableTODO: Is revive necessary if prism context is static? TODO document (if it's found to be necessary) -
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- Overrides:
clonein classTransformableDefinition
-
setDefaultItemTypeName
-
isImmutable
public boolean isImmutable()- Specified by:
isImmutablein interfaceFreezable
-
freeze
public void freeze()Description copied from interface:FreezableShould be no-op (or very quick) if the object is already immutable. -
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
-
mutator
Description copied from interface:DefinitionReturns an interface to mutate this definition.- Specified by:
mutatorin interfaceComplexTypeDefinition- Specified by:
mutatorin interfaceDefinition
-
isItemDefinitionRemoved
Description copied from interface:ComplexTypeDefinitionThis allows to distinguish between missing and explicitly removed definitions.- Specified by:
isItemDefinitionRemovedin interfaceComplexTypeDefinition
-
replaceDefinition
Currently used only to replace Refined* with LayerRefined*- Specified by:
replaceDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
delete
- Specified by:
deletein interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
copy
-
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- Specified by:
trimToin interfaceComplexTypeDefinitionDelegator
-
setSchemaContextDefinition
- Specified by:
setSchemaContextDefinitionin interfaceDefinition.DefinitionMutator
-
setOptionalCleanup
default void setOptionalCleanup(boolean optionalCleanup) - Specified by:
setOptionalCleanupin interfaceDefinition.DefinitionMutator
-
setInstantiationOrder
-
setDeprecated
default void setDeprecated(boolean deprecated) - Specified by:
setDeprecatedin interfacePrismLifecycleDefinition.Mutable
-
setRemoved
default void setRemoved(boolean removed) - Specified by:
setRemovedin interfacePrismLifecycleDefinition.Mutable
-
setRemovedSince
- Specified by:
setRemovedSincein interfacePrismLifecycleDefinition.Mutable
-
setPlannedRemoval
- Specified by:
setPlannedRemovalin interfacePrismLifecycleDefinition.Mutable
-
setDeprecatedSince
- Specified by:
setDeprecatedSincein interfacePrismLifecycleDefinition.Mutable
-
setExperimental
default void setExperimental(boolean experimental) - Specified by:
setExperimentalin interfacePrismLifecycleDefinition.Mutable
-
setDisplayHint
- Specified by:
setDisplayHintin interfacePrismPresentationDefinition.Mutable
-
setMergerIdentifier
- Specified by:
setMergerIdentifierin interfaceDefinition.DefinitionMutator
-
setNaturalKeyConstituents
- Specified by:
setNaturalKeyConstituentsin interfaceDefinition.DefinitionMutator
-
setEmphasized
default void setEmphasized(boolean emphasized) - Specified by:
setEmphasizedin interfacePrismPresentationDefinition.Mutable
-
setDisplayName
- Specified by:
setDisplayNamein interfacePrismPresentationDefinition.Mutable
-
setDisplayOrder
- Specified by:
setDisplayOrderin interfacePrismPresentationDefinition.Mutable
-
setHelp
- Specified by:
setHelpin interfacePrismPresentationDefinition.Mutable
-
setRuntimeSchema
default void setRuntimeSchema(boolean value) - Specified by:
setRuntimeSchemain interfaceDefinition.DefinitionMutator
-
setDocumentation
- Specified by:
setDocumentationin interfacePrismPresentationDefinition.Mutable
-
addSchemaMigration
- Specified by:
addSchemaMigrationin interfacePrismLifecycleDefinition.Mutable
-
setSchemaMigrations
- Specified by:
setSchemaMigrationsin interfacePrismLifecycleDefinition.Mutable
-
add
- Specified by:
addin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
default PrismPropertyDefinition.PrismPropertyDefinitionMutator<?> createPropertyDefinition(QName name, QName typeName) - Specified by:
createPropertyDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
createPropertyDefinition
default PrismPropertyDefinition.PrismPropertyDefinitionMutator<?> createPropertyDefinition(String name, QName typeName) - Specified by:
createPropertyDefinitionin 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:
addSubstitutionin interfaceComplexTypeDefinition.ComplexTypeDefinitionMutator
-
setDiagrams
- Specified by:
setDiagramsin interfacePrismPresentationDefinition.Mutable
-