Interface ComplexTypeDefinitionDelegator
- All Superinterfaces:
Cloneable,ComplexTypeDefinition,DebugDumpable,Definition,DefinitionDelegator,Freezable,LocalItemDefinitionStore,PrismContextSensitive,Revivable,Serializable,SmartVisitable<Definition>,TypeDefinition,TypeDefinitionDelegator,Visitable<Definition>
- All Known Subinterfaces:
CompositeObjectDefinitionDelegator,ResourceObjectClassDefinitionDelegator,ResourceObjectDefinitionDelegator,ResourceObjectTypeDefinitionDelegator
public interface ComplexTypeDefinitionDelegator
extends TypeDefinitionDelegator, ComplexTypeDefinition
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptiondelegate()default <C extends Containerable>
PrismContainerDefinition<C>findContainerDefinition(@NotNull ItemPath path) ReturnsPrismContainerDefinitioncorresponding to given path (rooted at this store).default <ID extends ItemDefinition<?>>
IDfindItemDefinition(@NotNull ItemPath path) ReturnsItemDefinitioncorresponding to given path (rooted at this store).default <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).default PrismReferenceDefinitionfindReferenceDefinition(@NotNull ItemPath path) ReturnsPrismReferenceDefinitioncorresponding to given path (rooted at this store).default @Nullable StringWhen resolving unqualified names for items contained in this CTD, what should be the default namespace to look into at first.default @NotNull List<? extends ItemDefinition<?>>Returns definitions for all inner items.default List<ItemDiagramSpecification>default @Nullable QNameIf 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.default booleandefault booleandefault booleanFlag indicating whether this type was marked as "container" in the original schema.default booleanisEmpty()Returns true if there are no item definitions.default 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].default booleanFlag indicating whether this type was marked as "object" in the original schema.default booleanFlag indicating whether this type was marked as "objectReference" in the original schema.default booleanTrue if the complex type definition contains xsd:any (directly or indirectly).default Optional<ItemDefinition<?>>itemOrSubstitution(QName name) default voidmerge(ComplexTypeDefinition otherComplexTypeDef) Copies cloned definitions from the other type definition into this one.default Optional<ItemDefinition<?>>substitution(QName name) default 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 interface com.evolveum.midpoint.prism.ComplexTypeDefinition
clone, deepClone, getXmlAttributeDefinitions, hasSubstitutions, isItemDefinitionRemoved, isStrictAnyMarker, toMutableMethods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getAnnotations, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getPrismContext, getProcessing, getRemovedSince, getSchemaMigrations, getSchemaRegistry, getTypeClass, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRemoved, isRuntimeSchema, setAnnotationMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutableMethods inherited from interface com.evolveum.midpoint.prism.LocalItemDefinitionStore
containsItemDefinition, findLocalItemDefinition, findLocalItemDefinition, findPropertyDefinitionMethods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFromMethods inherited from interface com.evolveum.midpoint.prism.deleg.TypeDefinitionDelegator
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType
-
Method Details
-
delegate
ComplexTypeDefinition delegate()- Specified by:
delegatein interfaceDefinitionDelegator- Specified by:
delegatein interfaceTypeDefinitionDelegator
-
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
-
isReferenceMarker
default boolean isReferenceMarker()Description copied from interface:ComplexTypeDefinitionFlag indicating whether this type was marked as "objectReference" in the original schema.- Specified by:
isReferenceMarkerin interfaceComplexTypeDefinition
-
isContainerMarker
default 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
-
findItemDefinition
default <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
-
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 interfaceLocalItemDefinitionStore
-
isObjectMarker
default 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
-
findReferenceDefinition
Description copied from interface:LocalItemDefinitionStoreReturnsPrismReferenceDefinitioncorresponding to given path (rooted at this store). Tries the global resolution in the case of "any" content.- Specified by:
findReferenceDefinitionin interfaceLocalItemDefinitionStore
-
isXsdAnyMarker
default boolean isXsdAnyMarker()Description copied from interface:ComplexTypeDefinitionTrue if the complex type definition contains xsd:any (directly or indirectly).- Specified by:
isXsdAnyMarkerin interfaceComplexTypeDefinition
-
findContainerDefinition
default <C extends Containerable> PrismContainerDefinition<C> findContainerDefinition(@NotNull @NotNull ItemPath path) Description copied from interface:LocalItemDefinitionStoreReturnsPrismContainerDefinitioncorresponding to given path (rooted at this store). Tries the global resolution in the case of "any" content.- Specified by:
findContainerDefinitionin interfaceLocalItemDefinitionStore
-
isListMarker
default 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
-
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
-
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
-
merge
Description copied from interface:ComplexTypeDefinitionCopies cloned definitions from the other type definition into this one. (TODO remove from the interface?)- Specified by:
mergein interfaceComplexTypeDefinition
-
isEmpty
default boolean isEmpty()Description copied from interface:ComplexTypeDefinitionReturns true if there are no item definitions.- Specified by:
isEmptyin interfaceComplexTypeDefinition
-
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
-
hasSubstitutions
default boolean hasSubstitutions()- Specified by:
hasSubstitutionsin interfaceComplexTypeDefinition
-
substitution
- Specified by:
substitutionin interfaceComplexTypeDefinition
-
itemOrSubstitution
- Specified by:
itemOrSubstitutionin interfaceComplexTypeDefinition
-
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 interfaceLocalItemDefinitionStore
-
getDiagrams
- Specified by:
getDiagramsin interfaceDefinition
-
hasOperationalOnlyItems
default boolean hasOperationalOnlyItems()- Specified by:
hasOperationalOnlyItemsin interfaceComplexTypeDefinition
-