com.evolveum.midpoint.prism
Class ComplexTypeDefinition

java.lang.Object
  extended by com.evolveum.midpoint.prism.Definition
      extended by com.evolveum.midpoint.prism.ComplexTypeDefinition
All Implemented Interfaces:
DebugDumpable, Dumpable, java.io.Serializable
Direct Known Subclasses:
ObjectClassComplexTypeDefinition

public class ComplexTypeDefinition
extends Definition

TODO

Author:
Radovan Semancik
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.evolveum.midpoint.prism.Definition
defaultName, displayName, displayOrder, help, ignored, prismContext, typeName
 
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
 
Constructor Summary
ComplexTypeDefinition(javax.xml.namespace.QName defaultName, javax.xml.namespace.QName typeName, PrismContext prismContext)
           
ComplexTypeDefinition(javax.xml.namespace.QName defaultName, javax.xml.namespace.QName typeName, PrismContext prismContext, java.lang.Class<?> compileTimeClass)
           
 
Method Summary
 void add(ItemDefinition definition)
           
 ComplexTypeDefinition clone()
          Shallow clone.
protected  void copyDefinitionData(ComplexTypeDefinition clone)
           
 PrismPropertyDefinition createPropertyDefinifion(javax.xml.namespace.QName name)
           
 PrismPropertyDefinition createPropertyDefinifion(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName)
           
 PrismPropertyDefinition createPropertyDefinifion(java.lang.String localName, java.lang.String localTypeName)
           
 PrismPropertyDefinition createPropertyDefinition(java.lang.String localName, javax.xml.namespace.QName typeName)
           
 java.lang.String debugDump(int indent)
           
 PrismContainerDefinition findContainerDefinition(javax.xml.namespace.QName name)
           
<T extends ItemDefinition>
T
findItemDefinition(javax.xml.namespace.QName name, java.lang.Class<T> clazz)
           
 PrismPropertyDefinition findPropertyDefinition(javax.xml.namespace.QName name)
          Finds a PropertyDefinition by looking at the property name.
 java.lang.Class<?> getCompileTimeClass()
           
protected  java.lang.String getDebugDumpClassName()
          Return a human readable name of this class suitable for logs.
 java.util.List<ItemDefinition> getDefinitions()
          Returns set of property definitions.
 javax.xml.namespace.QName getExtensionForType()
           
protected  java.lang.String getSchemaNamespace()
           
 javax.xml.namespace.QName getSuperType()
           
 boolean isContainerMarker()
          Flag indicating whether this type was marked as "container" in the original schema.
 boolean isEmpty()
           
 boolean isObjectMarker()
          Flag indicating whether this type was marked as "object" in the original schema.
 boolean isXsdAnyMarker()
           
 void replaceDefinition(javax.xml.namespace.QName propertyName, ItemDefinition newDefinition)
           
 void setCompileTimeClass(java.lang.Class<?> compileTimeClass)
           
 void setContainerMarker(boolean containerMarker)
           
 void setExtensionForType(javax.xml.namespace.QName extensionForType)
           
 void setObjectMarker(boolean objectMarker)
           
 void setSuperType(javax.xml.namespace.QName superType)
           
 void setXsdAnyMarker(boolean xsdAnyMarker)
           
 
Methods inherited from class com.evolveum.midpoint.prism.Definition
copyDefinitionData, debugDump, dump, equals, getDefaultName, getDisplayName, getDisplayOrder, getHelp, getPrismContext, getSchemaRegistry, getTypeClass, getTypeName, hashCode, isIgnored, setDisplayName, setDisplayOrder, setHelp, setIgnored, setTypeName, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ComplexTypeDefinition

public ComplexTypeDefinition(javax.xml.namespace.QName defaultName,
                             javax.xml.namespace.QName typeName,
                             PrismContext prismContext)

ComplexTypeDefinition

public ComplexTypeDefinition(javax.xml.namespace.QName defaultName,
                             javax.xml.namespace.QName typeName,
                             PrismContext prismContext,
                             java.lang.Class<?> compileTimeClass)
Method Detail

getSchemaNamespace

protected java.lang.String getSchemaNamespace()

getDefinitions

public java.util.List<ItemDefinition> getDefinitions()
Returns set of property definitions. The set contains all property definitions of all types that were parsed. Order of definitions is insignificant.

Returns:
set of definitions

getCompileTimeClass

public java.lang.Class<?> getCompileTimeClass()

setCompileTimeClass

public void setCompileTimeClass(java.lang.Class<?> compileTimeClass)

getExtensionForType

public javax.xml.namespace.QName getExtensionForType()

setExtensionForType

public void setExtensionForType(javax.xml.namespace.QName extensionForType)

isContainerMarker

public boolean isContainerMarker()
Flag 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 oginal schema so we can serialized and deserialize the schema without loss of information.


setContainerMarker

public void setContainerMarker(boolean containerMarker)

isObjectMarker

public boolean isObjectMarker()
Flag 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.


isXsdAnyMarker

public boolean isXsdAnyMarker()

setXsdAnyMarker

public void setXsdAnyMarker(boolean xsdAnyMarker)

getSuperType

public javax.xml.namespace.QName getSuperType()

setSuperType

public void setSuperType(javax.xml.namespace.QName superType)

setObjectMarker

public void setObjectMarker(boolean objectMarker)

add

public void add(ItemDefinition definition)

createPropertyDefinifion

public PrismPropertyDefinition createPropertyDefinifion(javax.xml.namespace.QName name,
                                                        javax.xml.namespace.QName typeName)

createPropertyDefinifion

public PrismPropertyDefinition createPropertyDefinifion(javax.xml.namespace.QName name)

createPropertyDefinition

public PrismPropertyDefinition createPropertyDefinition(java.lang.String localName,
                                                        javax.xml.namespace.QName typeName)

createPropertyDefinifion

public PrismPropertyDefinition createPropertyDefinifion(java.lang.String localName,
                                                        java.lang.String localTypeName)

findPropertyDefinition

public PrismPropertyDefinition findPropertyDefinition(javax.xml.namespace.QName name)
Finds a PropertyDefinition by looking at the property name.

Returns null if nothing is found.

Parameters:
name - property definition name
Returns:
found property definition or null

findContainerDefinition

public PrismContainerDefinition findContainerDefinition(javax.xml.namespace.QName name)

findItemDefinition

public <T extends ItemDefinition> T findItemDefinition(javax.xml.namespace.QName name,
                                                       java.lang.Class<T> clazz)

isEmpty

public boolean isEmpty()

clone

public ComplexTypeDefinition clone()
Shallow clone.

Overrides:
clone in class java.lang.Object

copyDefinitionData

protected void copyDefinitionData(ComplexTypeDefinition clone)

replaceDefinition

public void replaceDefinition(javax.xml.namespace.QName propertyName,
                              ItemDefinition newDefinition)

debugDump

public java.lang.String debugDump(int indent)
Specified by:
debugDump in interface DebugDumpable
Overrides:
debugDump in class Definition

getDebugDumpClassName

protected java.lang.String getDebugDumpClassName()
Return a human readable name of this class suitable for logs.

Specified by:
getDebugDumpClassName in class Definition


Copyright © 2012 evolveum. All Rights Reserved.