Skip navigation links
org.eclipse.persistence.sdo.helper
Class SDOSchemaGenerator
java.lang.Object
org.eclipse.persistence.sdo.helper.SDOSchemaGenerator
-
public class SDOSchemaGenerator
- extends java.lang.Object
Purpose SDOSchemaGenerator generates an XSD (returned as a String) from a list of SDO Type objects. Populates an org.eclipse.persistence.internal.oxm.schema.model.Schema object and makes use of org.eclipse.persistence.internal.oxm.schema.SchemaModelProject to marshal the Schema Object to XML.
- See Also:
commonj.sdo.XSDHelper
Method Summary |
private void |
addSimpleComponentAnnotations(org.eclipse.persistence.internal.oxm.schema.model.SimpleComponent sc, Property property, boolean element)
|
private void |
addTypeToListIfNeeded(Type sourceType, Type targetType)
|
private java.lang.String |
buildAliasNameString(java.util.List<java.lang.String> aliasNames)
|
private org.eclipse.persistence.internal.oxm.schema.model.Attribute |
buildAttribute(Property property)
|
private org.eclipse.persistence.internal.oxm.schema.model.Element |
buildElement(Property property, org.eclipse.persistence.internal.oxm.schema.model.NestedParticle nestedParticle)
|
private org.eclipse.persistence.internal.oxm.schema.model.Element |
buildElementForComplexType(org.eclipse.persistence.internal.oxm.schema.model.Schema schema, org.eclipse.persistence.internal.oxm.schema.model.ComplexType type)
|
private void |
buildElementsAndAttributes(java.lang.Object owner, Type type)
|
java.lang.String |
generate(java.util.List types, java.util.Map aNamespaceToSchemaLocation)
Method to generate an XSD. |
java.lang.String |
generate(java.util.List types, SchemaLocationResolver aSchemaLocationResolver)
Method to generate an XSD. |
private org.eclipse.persistence.internal.oxm.schema.model.ComplexType |
generateComplexType(Type type)
|
private void |
generateSchema(java.lang.String uri, java.util.List typesWithSameUri)
|
private org.eclipse.persistence.internal.oxm.schema.model.SimpleType |
generateSimpleType(Type type)
|
private Type |
getAutomaticDataTypeForType(Type theType)
|
private java.lang.String |
getPrefixForURI(java.lang.String uri)
|
private java.lang.String |
getPrefixStringForURI(java.lang.String uri)
|
private boolean |
importExists(java.util.List imports, java.lang.String schemaName)
|
private boolean |
shouldSuppressDataType(SDOProperty prop, Type dataType)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
namespaceToSchemaLocation
private java.util.Map namespaceToSchemaLocation
schemaLocationResolver
private SchemaLocationResolver schemaLocationResolver
allTypes
private java.util.List allTypes
generatedSchema
private org.eclipse.persistence.internal.oxm.schema.model.Schema generatedSchema
aHelperContext
private HelperContext aHelperContext
SDOSchemaGenerator
public SDOSchemaGenerator(HelperContext aContext)
generate
public java.lang.String generate(java.util.List types,
SchemaLocationResolver aSchemaLocationResolver)
-
Method to generate an XSD. Note the following:
- All types must have same URI
- Referenced types in same URI will also be generated in schema
- Includes will never be generated
- Imports will be generated for referenced types in other URIs
-
- Parameters:
types
- The list of commonj.sdo.Type objects to generate the XSD from
aSchemaLocationResolver
- implementation of the org.eclipse.persistence.sdo.helper.SchemaLocationResolver interface used for getting the value of the schemaLocation attribute of generated imports and includes
- Returns:
- String The generated XSD.
generate
public java.lang.String generate(java.util.List types,
java.util.Map aNamespaceToSchemaLocation)
-
Method to generate an XSD. Note the following:
- All types must have same URI
- Referenced types in same URI will also be generated in schema
- Includes will never be generated
- Imports will be generated for referenced types in other URIs
-
- Parameters:
types
- The list of commonj.sdo.Type objects to generate the XSD from
aNamespaceToSchemaLocation
- map of namespaces to schemaLocations used for getting the value of the schemaLocation attribute of generated imports and includes
- Returns:
- String The generated XSD.
generateSchema
private void generateSchema(java.lang.String uri,
java.util.List typesWithSameUri)
generateSimpleType
private org.eclipse.persistence.internal.oxm.schema.model.SimpleType generateSimpleType(Type type)
generateComplexType
private org.eclipse.persistence.internal.oxm.schema.model.ComplexType generateComplexType(Type type)
buildElementsAndAttributes
private void buildElementsAndAttributes(java.lang.Object owner,
Type type)
addSimpleComponentAnnotations
private void addSimpleComponentAnnotations(org.eclipse.persistence.internal.oxm.schema.model.SimpleComponent sc,
Property property,
boolean element)
shouldSuppressDataType
private boolean shouldSuppressDataType(SDOProperty prop,
Type dataType)
buildAliasNameString
private java.lang.String buildAliasNameString(java.util.List<java.lang.String> aliasNames)
buildElement
private org.eclipse.persistence.internal.oxm.schema.model.Element buildElement(Property property,
org.eclipse.persistence.internal.oxm.schema.model.NestedParticle nestedParticle)
buildAttribute
private org.eclipse.persistence.internal.oxm.schema.model.Attribute buildAttribute(Property property)
addTypeToListIfNeeded
private void addTypeToListIfNeeded(Type sourceType,
Type targetType)
buildElementForComplexType
private org.eclipse.persistence.internal.oxm.schema.model.Element buildElementForComplexType(org.eclipse.persistence.internal.oxm.schema.model.Schema schema,
org.eclipse.persistence.internal.oxm.schema.model.ComplexType type)
getPrefixStringForURI
private java.lang.String getPrefixStringForURI(java.lang.String uri)
getPrefixForURI
private java.lang.String getPrefixForURI(java.lang.String uri)
getAutomaticDataTypeForType
private Type getAutomaticDataTypeForType(Type theType)
importExists
private boolean importExists(java.util.List imports,
java.lang.String schemaName)
Skip navigation links