public class ComplexTypeDefinitionImpl extends TypeDefinitionImpl implements ComplexTypeDefinition
Modifier and Type | Field and Description |
---|---|
protected boolean |
shared |
compileTimeClass, instantiationOrder, staticSubTypes, superType
deprecated, deprecatedSince, displayName, displayOrder, documentation, elaborate, emphasized, experimental, help, inherited, isAbstract, isRuntimeSchema, plannedRemoval, prismContext, processing, typeName
INDENT_STRING
Constructor and Description |
---|
ComplexTypeDefinitionImpl(QName typeName,
PrismContext prismContext) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor visitor) |
void |
add(ItemDefinition<?> definition) |
ComplexTypeDefinitionImpl |
clone()
Does a shallow clone of this definition (i.e.
|
protected void |
copyDefinitionData(ComplexTypeDefinitionImpl clone) |
PrismPropertyDefinition |
createPropertyDefinition(QName name) |
PrismPropertyDefinitionImpl |
createPropertyDefinition(QName name,
QName typeName) |
PrismPropertyDefinitionImpl |
createPropertyDefinition(String localName,
QName typeName) |
PrismPropertyDefinition |
createPropertyDefinition(String localName,
String localTypeName) |
String |
debugDump(int indent) |
String |
debugDump(int indent,
IdentityHashMap<Definition,Object> seen) |
ComplexTypeDefinition |
deepClone() |
ComplexTypeDefinition |
deepClone(Map<QName,ComplexTypeDefinition> ctdMap,
Map<QName,ComplexTypeDefinition> onThisPath,
Consumer<ItemDefinition> postCloneAction)
Does a deep clone of this definition.
|
boolean |
equals(Object obj) |
protected void |
extendDumpDefinition(StringBuilder sb,
ItemDefinition<?> def) |
protected void |
extendDumpHeader(StringBuilder sb) |
<ID extends ItemDefinition> |
findItemDefinition(ItemPath path,
Class<ID> clazz) |
<T extends ItemDefinition> |
findItemDefinition(QName name,
Class<T> clazz,
boolean caseInsensitive) |
<ID extends ItemDefinition> |
findNamedItemDefinition(QName firstName,
ItemPath rest,
Class<ID> clazz) |
protected String |
getDebugDumpClassName()
Return a human readable name of this class suitable for logs.
|
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 set of item definitions.
|
String |
getDocClassName()
Returns human-readable name of this class suitable for documentation.
|
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.
|
protected String |
getSchemaNamespace() |
int |
hashCode() |
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)
Merge provided definition into this definition.
|
void |
replaceDefinition(QName propertyName,
ItemDefinition newDefinition) |
void |
revive(PrismContext prismContext) |
void |
setContainerMarker(boolean containerMarker) |
void |
setDefaultNamespace(String defaultNamespace) |
void |
setExtensionForType(QName extensionForType) |
void |
setIgnoredNamespaces(List<String> ignoredNamespaces) |
void |
setListMarker(boolean listMarker) |
void |
setObjectMarker(boolean objectMarker) |
void |
setReferenceMarker(boolean referenceMarker) |
void |
setXsdAnyMarker(boolean xsdAnyMarker) |
void |
trimTo(Collection<ItemPath> paths)
Trims the definition (and any definitions it refers to) to contain only items related to given paths.
|
addStaticSubType, canRepresent, copyDefinitionData, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType, setCompileTimeClass, setInstantiationOrder, setSuperType
copyDefinitionData, getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getTypeClass, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAbstract, setAnnotation, setDeprecated, setDeprecatedSince, setDisplayName, setDisplayOrder, setDocumentation, setElaborate, setEmphasized, setExperimental, setHelp, setInherited, setPlannedRemoval, setProcessing, setRuntimeSchema, setTypeName, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
containsItemDefinition
canRepresent, getCompileTimeClass, getInstantiationOrder, getStaticSubTypes, getSuperType
getAnnotation, getDeprecatedSince, getDisplayName, getDisplayOrder, getDocumentation, getDocumentationPreview, getHelp, getPlannedRemoval, getPrismContext, getProcessing, getSchemaRegistry, getTypeClass, getTypeClassIfKnown, getTypeName, isAbstract, isDeprecated, isElaborate, isEmphasized, isExperimental, isIgnored, isRuntimeSchema, setAnnotation
debugDump, debugDumpLazily, debugDumpLazily
findContainerDefinition, findContainerDefinition, findContainerDefinition, findItemDefinition, findItemDefinition, findItemDefinition, findPropertyDefinition, findPropertyDefinition, findReferenceDefinition, findReferenceDefinition
public ComplexTypeDefinitionImpl(@NotNull QName typeName, @NotNull PrismContext prismContext)
protected String getSchemaNamespace()
@NotNull public List<? extends ItemDefinition> getDefinitions()
getDefinitions
in interface ComplexTypeDefinition
public void add(ItemDefinition<?> definition)
public boolean isShared()
ComplexTypeDefinition
isShared
in interface ComplexTypeDefinition
public QName getExtensionForType()
ComplexTypeDefinition
getExtensionForType
in interface ComplexTypeDefinition
public void setExtensionForType(QName extensionForType)
public boolean isReferenceMarker()
ComplexTypeDefinition
isReferenceMarker
in interface ComplexTypeDefinition
public void setReferenceMarker(boolean referenceMarker)
public boolean isContainerMarker()
ComplexTypeDefinition
isContainerMarker
in interface ComplexTypeDefinition
public void setContainerMarker(boolean containerMarker)
public boolean isObjectMarker()
ComplexTypeDefinition
isObjectMarker
in interface ComplexTypeDefinition
public boolean isXsdAnyMarker()
ComplexTypeDefinition
isXsdAnyMarker
in interface ComplexTypeDefinition
public void setXsdAnyMarker(boolean xsdAnyMarker)
public boolean isListMarker()
isListMarker
in interface ComplexTypeDefinition
public void setListMarker(boolean listMarker)
public String getDefaultNamespace()
ComplexTypeDefinition
getDefaultNamespace
in interface ComplexTypeDefinition
public void setDefaultNamespace(String defaultNamespace)
@NotNull public List<String> getIgnoredNamespaces()
ComplexTypeDefinition
getIgnoredNamespaces
in interface ComplexTypeDefinition
public void setObjectMarker(boolean objectMarker)
public PrismPropertyDefinitionImpl createPropertyDefinition(QName name, QName typeName)
public PrismPropertyDefinition createPropertyDefinition(QName name)
public PrismPropertyDefinitionImpl createPropertyDefinition(String localName, QName typeName)
public PrismPropertyDefinition createPropertyDefinition(String localName, String localTypeName)
public <T extends ItemDefinition> T findItemDefinition(@NotNull QName name, @NotNull Class<T> clazz, boolean caseInsensitive)
findItemDefinition
in interface LocalDefinitionStore
public <ID extends ItemDefinition> ID findItemDefinition(@NotNull ItemPath path, @NotNull Class<ID> clazz)
findItemDefinition
in interface LocalDefinitionStore
public <ID extends ItemDefinition> ID findNamedItemDefinition(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz)
findNamedItemDefinition
in interface LocalDefinitionStore
public void merge(ComplexTypeDefinition otherComplexTypeDef)
merge
in interface ComplexTypeDefinition
public void revive(PrismContext prismContext)
revive
in interface ComplexTypeDefinition
revive
in interface Revivable
revive
in class DefinitionImpl
public boolean isEmpty()
ComplexTypeDefinition
isEmpty
in interface ComplexTypeDefinition
@NotNull public ComplexTypeDefinitionImpl clone()
ComplexTypeDefinition
clone
in interface ComplexTypeDefinition
clone
in interface Definition
clone
in class DefinitionImpl
public ComplexTypeDefinition deepClone()
@NotNull public ComplexTypeDefinition deepClone(Map<QName,ComplexTypeDefinition> ctdMap, Map<QName,ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction)
ComplexTypeDefinition
deepClone
in interface ComplexTypeDefinition
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.protected void copyDefinitionData(ComplexTypeDefinitionImpl clone)
public void replaceDefinition(QName propertyName, ItemDefinition newDefinition)
public int hashCode()
hashCode
in class TypeDefinitionImpl
public boolean equals(Object obj)
equals
in class TypeDefinitionImpl
public String debugDump(int indent)
debugDump
in interface DebugDumpable
debugDump
in class DefinitionImpl
public String debugDump(int indent, IdentityHashMap<Definition,Object> seen)
debugDump
in interface Definition
protected void extendDumpHeader(StringBuilder sb)
protected void extendDumpDefinition(StringBuilder sb, ItemDefinition<?> def)
protected String getDebugDumpClassName()
getDebugDumpClassName
in class DefinitionImpl
public String getDocClassName()
DefinitionImpl
getDocClassName
in class DefinitionImpl
public void trimTo(@NotNull Collection<ItemPath> paths)
ComplexTypeDefinition
trimTo
in interface ComplexTypeDefinition
Copyright © 2019 Evolveum. All rights reserved.