public interface ComplexTypeDefinition extends TypeDefinition, LocalDefinitionStore, Visitable
INDENT_STRING
Modifier and Type | Method and Description |
---|---|
ComplexTypeDefinition |
clone()
Does a shallow clone of this definition (i.e.
|
default boolean |
containsItemDefinition(QName itemName) |
ComplexTypeDefinition |
deepClone(Map<QName,ComplexTypeDefinition> ctdMap,
Map<QName,ComplexTypeDefinition> onThisPath,
Consumer<ItemDefinition> postCloneAction)
Does a deep clone of this definition.
|
String |
getDefaultNamespace()
When resolving unqualified names for items contained in this CTD, what should be the default namespace
to look into at first.
|
List<? extends ItemDefinition> |
getDefinitions()
Returns definitions for all inner items.
|
QName |
getExtensionForType()
If not null, indicates that this type defines the structure of 'extension' element of a given type.
|
List<String> |
getIgnoredNamespaces()
When resolving unqualified names for items contained in this CTD, what namespace(s) should be ignored.
|
boolean |
isContainerMarker()
Flag indicating whether this type was marked as "container"
in the original schema.
|
boolean |
isEmpty()
Returns true if there are no item definitions.
|
boolean |
isListMarker() |
boolean |
isObjectMarker()
Flag indicating whether this type was marked as "object"
in the original schema.
|
boolean |
isReferenceMarker()
Flag indicating whether this type was marked as "objectReference"
in the original schema.
|
boolean |
isShared()
Is this definition shared, i.e.
|
boolean |
isXsdAnyMarker()
True if the complex type definition contains xsd:any (directly or indirectly).
|
void |
merge(ComplexTypeDefinition otherComplexTypeDef)
Copies cloned definitions from the other type definition into this one.
|
void |
revive(PrismContext prismContext) |
void |
trimTo(Collection<ItemPath> paths)
Trims the definition (and any definitions it refers to) to contain only items related to given paths.
|
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType
debugDump, getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getSchemaRegistry, getTypeClass, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
debugDump, debugDump, debugDumpLazily, debugDumpLazily
findContainerDefinition, findContainerDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findNamedItemDefinition, findPropertyDefinition, findPropertyDefinition, findReferenceDefinition, findReferenceDefinition
@NotNull List<? extends ItemDefinition> getDefinitions()
boolean isShared()
@Nullable QName getExtensionForType()
boolean isReferenceMarker()
boolean isContainerMarker()
boolean isObjectMarker()
boolean isXsdAnyMarker()
boolean isListMarker()
@Nullable String getDefaultNamespace()
@NotNull List<String> getIgnoredNamespaces()
void merge(ComplexTypeDefinition otherComplexTypeDef)
void revive(PrismContext prismContext)
boolean isEmpty()
@NotNull ComplexTypeDefinition clone()
clone
in interface Definition
@NotNull ComplexTypeDefinition deepClone(Map<QName,ComplexTypeDefinition> ctdMap, Map<QName,ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction)
ctdMap
- Keeps already cloned definitions when 'ultra deep cloning' is not requested.
Each definition is then cloned only once.onThisPath
- Keeps already cloned definitions on the path from root to current node;
in order to prevent infinite loops when doing ultra deep cloning.void trimTo(@NotNull Collection<ItemPath> paths)
default boolean containsItemDefinition(QName itemName)
Copyright © 2019 Evolveum. All rights reserved.