|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.evolveum.midpoint.schema.processor.Schema
public class Schema
Schema as a collection of definitions. This is a midPoint-specific view of schema definition. It is just a collection of definitions grouped under a specific namespace. The schema and all the public classes in this package define a schema meta-model. It is supposed to be used for run-time schema interpretation. It will not be a convenient tool to work with static data model objects such as user or role. But it is needed for interpreting dynamic schemas for resource objects, extensions and so on. Schema is immutable.
Field Summary | |
---|---|
protected java.util.Set<Definition> |
definitions
|
protected java.lang.String |
namespace
|
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable |
---|
INDENT_STRING |
Constructor Summary | |
---|---|
Schema(java.lang.String namespace)
|
Method Summary | ||
---|---|---|
static ItemDefinition |
createDefaultItemDefinition(ItemDefinition parentDefinition,
java.util.List<java.lang.Object> valueElements)
Create default ItemDefinition. |
|
PropertyContainerDefinition |
createPropertyContainerDefinition(java.lang.String localTypeName)
Creates a new property container definition and adds it to the schema. |
|
PropertyDefinition |
createPropertyDefinition(javax.xml.namespace.QName name,
javax.xml.namespace.QName typeName)
Creates a top-level property definition and adds it to the schema. |
|
PropertyDefinition |
createPropertyDefinition(java.lang.String localName,
javax.xml.namespace.QName typeName)
Creates a top-level property definition and adds it to the schema. |
|
PropertyDefinition |
createPropertyDefinition(java.lang.String localName,
java.lang.String localTypeName)
Creates a top-level property definition and adds it to the schema. |
|
ResourceObjectDefinition |
createResourceObjectDefinition(javax.xml.namespace.QName typeName)
Creates a new resource object definition and adds it to the schema. |
|
ResourceObjectDefinition |
createResourceObjectDefinition(java.lang.String localTypeName)
Creates a new resource object definition and adds it to the schema. |
|
java.lang.String |
debugDump()
Show the content of the object intended for diagnostics by system administrator. |
|
java.lang.String |
debugDump(int indent)
|
|
java.lang.String |
dump()
Show the content of the object intended for diagnostics by developer. |
|
ResourceObjectDefinition |
findAccountDefinition()
Looks for a default account ObjectClass. |
|
ResourceObjectDefinition |
findAccountDefinition(java.lang.String accountType)
Looks for a specific account ObjectClass. |
|
ComplexTypeDefinition |
findComplexTypeDefinition(javax.xml.namespace.QName typeName)
Finds complex type definition by type name. |
|
PropertyContainerDefinition |
findContainerDefinition(java.lang.Class<? extends ObjectType> type,
PropertyPath path)
|
|
PropertyContainerDefinition |
findContainerDefinitionByType(javax.xml.namespace.QName typeName)
Finds a PropertyContainerDefinition by the type name. |
|
|
findItemDefinition(javax.xml.namespace.QName definitionName,
java.lang.Class<T> definitionType)
Finds item definition by name. |
|
|
findItemDefinition(java.lang.String localName,
java.lang.Class<T> definitionType)
Finds item definition by local name |
|
|
findItemDefinitionByType(javax.xml.namespace.QName typeName,
java.lang.Class<T> definitionType)
Finds item definition by type. |
|
|
findObjectDefinition(java.lang.Class<T> type)
|
|
|
findObjectDefinition(ObjectTypes objectType,
java.lang.Class<T> type)
|
|
ObjectDefinition |
findObjectDefinitionByType(javax.xml.namespace.QName typeName)
|
|
|
findObjectDefinitionByType(javax.xml.namespace.QName typeName,
java.lang.Class<T> type)
|
|
ResourceObjectDefinition |
findResourceObjectDefinitionByType(javax.xml.namespace.QName typeName)
|
|
java.util.Collection<? extends ResourceObjectDefinition> |
getAccountDefinitions()
|
|
java.util.Collection<Definition> |
getDefinitions()
Returns set of definitions. |
|
|
getDefinitions(java.lang.Class<T> type)
|
|
java.lang.String |
getNamespace()
Returns schema namespace. |
|
boolean |
isEmpty()
|
|
static Schema |
parse(org.w3c.dom.Element element)
|
|
static Schema |
parse(org.w3c.dom.Element element,
org.xml.sax.EntityResolver resolver)
|
|
|
parseObject(java.io.File xmlFile,
java.lang.Class<T> type)
|
|
|
parseObject(java.lang.String stringXml,
java.lang.Class<T> type)
|
|
|
parseObjectType(T objectType)
|
|
PropertyContainer |
parsePropertyContainer(org.w3c.dom.Element domElement)
|
|
static ItemDefinition |
resolveDynamicItemDefinition(ItemDefinition parentDefinition,
java.util.List<java.lang.Object> valueElements)
Try to locate xsi:type definition in the elements and return appropriate ItemDefinition. |
|
org.w3c.dom.Document |
serializeToXsd()
|
|
static org.w3c.dom.Document |
serializeToXsd(Schema schema)
|
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.lang.String namespace
protected java.util.Set<Definition> definitions
Constructor Detail |
---|
public Schema(java.lang.String namespace)
Method Detail |
---|
public java.lang.String getNamespace()
public java.util.Collection<Definition> getDefinitions()
public <T extends Definition> java.util.Collection<T> getDefinitions(java.lang.Class<T> type)
public static Schema parse(org.w3c.dom.Element element) throws SchemaException
SchemaException
public static Schema parse(org.w3c.dom.Element element, org.xml.sax.EntityResolver resolver) throws SchemaException
SchemaException
public org.w3c.dom.Document serializeToXsd() throws SchemaException
SchemaException
public static org.w3c.dom.Document serializeToXsd(Schema schema) throws SchemaException
SchemaException
public PropertyContainer parsePropertyContainer(org.w3c.dom.Element domElement) throws SchemaException
SchemaException
public PropertyContainerDefinition findContainerDefinitionByType(javax.xml.namespace.QName typeName)
typeName
- property container type name
java.lang.IllegalStateException
- if more than one definition is foundpublic ObjectDefinition findObjectDefinitionByType(javax.xml.namespace.QName typeName)
public <T extends ObjectType> ObjectDefinition<T> findObjectDefinitionByType(javax.xml.namespace.QName typeName, java.lang.Class<T> type)
public <T extends ObjectType> ObjectDefinition<T> findObjectDefinition(ObjectTypes objectType, java.lang.Class<T> type)
public <T extends ObjectType> ObjectDefinition<T> findObjectDefinition(java.lang.Class<T> type)
public PropertyContainerDefinition findContainerDefinition(java.lang.Class<? extends ObjectType> type, PropertyPath path)
public ComplexTypeDefinition findComplexTypeDefinition(javax.xml.namespace.QName typeName)
public <T extends ItemDefinition> T findItemDefinition(javax.xml.namespace.QName definitionName, java.lang.Class<T> definitionType)
public <T extends ItemDefinition> T findItemDefinition(java.lang.String localName, java.lang.Class<T> definitionType)
public <T extends ItemDefinition> T findItemDefinitionByType(javax.xml.namespace.QName typeName, java.lang.Class<T> definitionType)
public boolean isEmpty()
public PropertyContainerDefinition createPropertyContainerDefinition(java.lang.String localTypeName)
localTypeName
- type name "relative" to schema namespace
public ResourceObjectDefinition createResourceObjectDefinition(java.lang.String localTypeName)
localTypeName
- type name "relative" to schema namespace
public ResourceObjectDefinition createResourceObjectDefinition(javax.xml.namespace.QName typeName)
localTypeName
- type QName
public PropertyDefinition createPropertyDefinition(java.lang.String localName, javax.xml.namespace.QName typeName)
localName
- element name "relative" to schema namespacetypeName
- XSD type name of the element
public PropertyDefinition createPropertyDefinition(java.lang.String localName, java.lang.String localTypeName)
localName
- element name "relative" to schema namespacelocalTypeName
- XSD type name "relative" to schema namespace
public PropertyDefinition createPropertyDefinition(javax.xml.namespace.QName name, javax.xml.namespace.QName typeName)
localName
- element nametypeName
- XSD type name of the element
public ResourceObjectDefinition findAccountDefinition()
public ResourceObjectDefinition findAccountDefinition(java.lang.String accountType)
public ResourceObjectDefinition findResourceObjectDefinitionByType(javax.xml.namespace.QName typeName)
public java.util.Collection<? extends ResourceObjectDefinition> getAccountDefinitions()
public static ItemDefinition resolveDynamicItemDefinition(ItemDefinition parentDefinition, java.util.List<java.lang.Object> valueElements)
public static ItemDefinition createDefaultItemDefinition(ItemDefinition parentDefinition, java.util.List<java.lang.Object> valueElements)
public <T extends ObjectType> MidPointObject<T> parseObjectType(T objectType) throws SchemaException
SchemaException
public <T extends ObjectType> MidPointObject<T> parseObject(java.lang.String stringXml, java.lang.Class<T> type) throws SchemaException
SchemaException
public <T extends ObjectType> MidPointObject<T> parseObject(java.io.File xmlFile, java.lang.Class<T> type) throws SchemaException
SchemaException
public java.lang.String debugDump()
DebugDumpable
debugDump
in interface DebugDumpable
public java.lang.String debugDump(int indent)
debugDump
in interface DebugDumpable
public java.lang.String dump()
Dumpable
dump
in interface Dumpable
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |