Interface ComplexTypeDefinitionDelegator
-
- All Superinterfaces:
Cloneable,ComplexTypeDefinition,DebugDumpable,Definition,DefinitionDelegator,Freezable,LocalDefinitionStore,PrismContextSensitive,Revivable,Serializable,SmartVisitable<Definition>,TypeDefinition,TypeDefinitionDelegator,Visitable<Definition>
- All Known Subinterfaces:
ObjectClassTypeDefinitionDelegator
public interface ComplexTypeDefinitionDelegator extends TypeDefinitionDelegator, ComplexTypeDefinition
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default booleancontainsItemDefinition(QName itemName)ComplexTypeDefinitiondelegate()default <C extends Containerable>
PrismContainerDefinition<C>findContainerDefinition(@NotNull ItemPath path)default <C extends Containerable>
PrismContainerDefinition<C>findContainerDefinition(@NotNull String name)default <ID extends ItemDefinition>
IDfindItemDefinition(@NotNull ItemPath path)default <ID extends ItemDefinition>
IDfindItemDefinition(@NotNull ItemPath path, @NotNull Class<ID> clazz)default <ID extends ItemDefinition>
IDfindLocalItemDefinition(@NotNull QName name)default <ID extends ItemDefinition>
IDfindLocalItemDefinition(@NotNull QName name, @NotNull Class<ID> clazz, boolean caseInsensitive)default <ID extends ItemDefinition>
IDfindNamedItemDefinition(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz)default <T> PrismPropertyDefinition<T>findPropertyDefinition(@NotNull ItemPath path)default PrismReferenceDefinitionfindReferenceDefinition(@NotNull ItemName name)default PrismReferenceDefinitionfindReferenceDefinition(@NotNull ItemPath path)default @Nullable StringgetDefaultNamespace()When 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>getDefinitions()Returns definitions for all inner items.default List<ItemDiagramSpecification>getDiagrams()default @Nullable QNamegetExtensionForType()If not null, indicates that this type defines the structure of 'extension' element of a given type.default @NotNull List<String>getIgnoredNamespaces()When resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored.default booleanhasSubstitutions()default booleanisContainerMarker()Flag indicating whether this type was marked as "container" in the original schema.default booleanisEmpty()Returns true if there are no item definitions.default booleanisListMarker()default booleanisObjectMarker()Flag indicating whether this type was marked as "object" in the original schema.default booleanisReferenceMarker()Flag indicating whether this type was marked as "objectReference" in the original schema.default booleanisShared()Is this definition shared, i.e.default booleanisXsdAnyMarker()True 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, isItemDefinitionRemoved, revive, toMutable
-
Methods inherited from interface com.evolveum.midpoint.prism.deleg.DefinitionDelegator
accept, accept, debugDump, debugDump, debugDump, debugDumpLazily, debugDumpLazily, getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getMutabilityFlag, getPlannedRemoval, getPrismContext, getProcessing, getSchemaMigrations, getSchemaRegistry, getTypeClass, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
-
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
-
Methods inherited from interface com.evolveum.midpoint.prism.TypeDefinition
isAssignableFrom
-
Methods inherited from interface com.evolveum.midpoint.prism.deleg.TypeDefinitionDelegator
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType
-
-
-
-
Method Detail
-
delegate
ComplexTypeDefinition delegate()
- Specified by:
delegatein interfaceDefinitionDelegator- Specified by:
delegatein interfaceTypeDefinitionDelegator
-
findLocalItemDefinition
default <ID extends ItemDefinition> ID findLocalItemDefinition(@NotNull @NotNull QName name, @NotNull @NotNull Class<ID> clazz, boolean caseInsensitive)
- Specified by:
findLocalItemDefinitionin interfaceLocalDefinitionStore
-
findLocalItemDefinition
default <ID extends ItemDefinition> ID findLocalItemDefinition(@NotNull @NotNull QName name)
- Specified by:
findLocalItemDefinitionin interfaceLocalDefinitionStore
-
isShared
default boolean isShared()
Description copied from interface:ComplexTypeDefinitionIs this definition shared, i.e. used by more than one prism object? If so, it should not be e.g. trimmed. EXPERIMENTAL- Specified by:
isSharedin interfaceComplexTypeDefinition
-
findItemDefinition
default <ID extends ItemDefinition> ID findItemDefinition(@NotNull @NotNull ItemPath path)
- Specified by:
findItemDefinitionin interfaceLocalDefinitionStore
-
getExtensionForType
@Nullable default @Nullable QName 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
-
findReferenceDefinition
default PrismReferenceDefinition findReferenceDefinition(@NotNull @NotNull ItemName name)
- Specified by:
findReferenceDefinitionin interfaceLocalDefinitionStore
-
findContainerDefinition
default <C extends Containerable> PrismContainerDefinition<C> findContainerDefinition(@NotNull @NotNull String name)
- Specified by:
findContainerDefinitionin interfaceLocalDefinitionStore
-
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)
- Specified by:
findItemDefinitionin interfaceLocalDefinitionStore
-
findNamedItemDefinition
default <ID extends ItemDefinition> ID findNamedItemDefinition(@NotNull @NotNull QName firstName, @NotNull @NotNull ItemPath rest, @NotNull @NotNull Class<ID> clazz)
- Specified by:
findNamedItemDefinitionin interfaceLocalDefinitionStore
-
findPropertyDefinition
default <T> PrismPropertyDefinition<T> findPropertyDefinition(@NotNull @NotNull ItemPath path)
- Specified by:
findPropertyDefinitionin interfaceLocalDefinitionStore
-
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
default PrismReferenceDefinition findReferenceDefinition(@NotNull @NotNull ItemPath path)
- Specified by:
findReferenceDefinitionin interfaceLocalDefinitionStore
-
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)
- Specified by:
findContainerDefinitionin interfaceLocalDefinitionStore
-
isListMarker
default boolean isListMarker()
- Specified by:
isListMarkerin interfaceComplexTypeDefinition
-
getDefaultNamespace
@Nullable default @Nullable String 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).- Specified by:
getDefaultNamespacein interfaceComplexTypeDefinition
-
getIgnoredNamespaces
@NotNull default @NotNull List<String> 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).- Specified by:
getIgnoredNamespacesin interfaceComplexTypeDefinition
-
merge
default void merge(ComplexTypeDefinition otherComplexTypeDef)
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
default void trimTo(@NotNull @NotNull Collection<ItemPath> paths)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
-
containsItemDefinition
default boolean containsItemDefinition(QName itemName)
- Specified by:
containsItemDefinitionin interfaceComplexTypeDefinition
-
hasSubstitutions
default boolean hasSubstitutions()
- Specified by:
hasSubstitutionsin interfaceComplexTypeDefinition
-
substitution
default Optional<ItemDefinition<?>> substitution(QName name)
- Specified by:
substitutionin interfaceComplexTypeDefinition
-
itemOrSubstitution
default Optional<ItemDefinition<?>> itemOrSubstitution(QName name)
- Specified by:
itemOrSubstitutionin interfaceComplexTypeDefinition
-
getDefinitions
@NotNull default @NotNull List<? extends ItemDefinition> getDefinitions()
Description copied from interface:ComplexTypeDefinitionReturns definitions for all inner items. These are of type ItemDefinition. However, very often subtypes of this type are used, e.g. ResourceAttributeDefinition, RefinedAttributeDefinition, LayerRefinedAttributeDefinition, and so on. Although returned as a list, the order of definitions is insignificant. (TODO change to set?) The list is unmodifiable.- Specified by:
getDefinitionsin interfaceComplexTypeDefinition
-
getDiagrams
default List<ItemDiagramSpecification> getDiagrams()
- Specified by:
getDiagramsin interfaceDefinition
-
-