org.apache.tuscany.sdo.helper
Class SDOXSDEcoreBuilder

java.lang.Object
  extended by org.eclipse.xsd.ecore.NameMangler
      extended by org.eclipse.xsd.ecore.MapBuilder
          extended by org.eclipse.xsd.ecore.XSDEcoreBuilder
              extended by org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder

public class SDOXSDEcoreBuilder
extends org.eclipse.xsd.ecore.XSDEcoreBuilder

TODO: - Implement support for the SDO XSD Schema annotations - Override the default ecore type mappings DONE: - Override the default XSDEcoreBuilder name mangling


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.xsd.ecore.XSDEcoreBuilder
org.eclipse.xsd.ecore.XSDEcoreBuilder.Comparator, org.eclipse.xsd.ecore.XSDEcoreBuilder.EffectiveOccurrence
 
Nested classes/interfaces inherited from class org.eclipse.xsd.ecore.MapBuilder
org.eclipse.xsd.ecore.MapBuilder.Mapper
 
Field Summary
 
Fields inherited from class org.eclipse.xsd.ecore.XSDEcoreBuilder
ANY_NAMESPACE_WILDCARD, diagnostics, ECORE_PRIMITIVE_TYPES, ecoreResourceFactoryImplClass, eReferenceToOppositeNameMap, extendedMetaData, NOT_NULL_WILDCARD, PRIMITIVE_WRAPPERS, PRIMITIVES, rootSchema, simpleDiagnostics, targetNamespaceToEPackageMap, typeToTypeObjectMap, xsdSchemas
 
Fields inherited from class org.eclipse.xsd.ecore.MapBuilder
mapper, xsdComponentToEModelElementMap
 
Fields inherited from class org.eclipse.xsd.ecore.NameMangler
DOMAINS, LOWER_CASE, UNCHANGED_CASE, UPPER_CASE
 
Constructor Summary
SDOXSDEcoreBuilder(org.eclipse.emf.ecore.util.ExtendedMetaData extendedMetaData)
           
 
Method Summary
 org.eclipse.emf.ecore.EClass computeEClass(org.eclipse.xsd.XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  org.eclipse.emf.ecore.EClassifier computeEClassifier(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition)
           
protected  org.eclipse.emf.ecore.EDataType computeEDataType(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  org.eclipse.emf.ecore.EEnum computeEEnum(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  org.eclipse.emf.ecore.EStructuralFeature createFeature(org.eclipse.emf.ecore.EClass eClass, java.lang.String name, org.eclipse.emf.ecore.EClassifier type, org.eclipse.xsd.XSDComponent xsdComponent, int minOccurs, int maxOccurs)
           
protected  java.lang.String getAliasName(org.eclipse.xsd.XSDNamedComponent xsdNamedComponent)
           
protected  org.eclipse.emf.ecore.EClassifier getBuiltInEClassifier(java.lang.String namespace, java.lang.String name)
           
static java.lang.String getDefaultPackageName(java.lang.String targetNamespace)
           
 org.eclipse.emf.ecore.EClassifier getEClassifier(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition)
           
protected  java.lang.String getEcoreAttribute(org.w3c.dom.Element element, java.lang.String attribute)
           
protected  org.eclipse.xsd.XSDTypeDefinition getEcoreTypeQNameAttribute(org.eclipse.xsd.XSDConcreteComponent xsdConcreteComponent, java.lang.String attribute)
           
 org.eclipse.emf.ecore.EDataType getEDataType(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  org.eclipse.xsd.XSDTypeDefinition getEffectiveTypeDefinition(org.eclipse.xsd.XSDComponent xsdComponent, org.eclipse.xsd.XSDFeature xsdFeature)
           
protected  java.lang.String getInstanceClassName(org.eclipse.xsd.XSDTypeDefinition typeDefinition, org.eclipse.emf.ecore.EDataType baseEDataType)
           
protected static java.util.List parseNameStatic(java.lang.String sourceName, char separator)
           
 java.lang.String qualifiedPackageName(java.lang.String namespace)
          Override EMF algorithm.
static java.lang.String uncapNameStatic(java.lang.String name)
           
protected  boolean useSortedAttributes()
          Overrides method in EMF.
protected  java.lang.String validAliasName(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition, boolean isUpperCase)
          Override default EMF name mangling for anonymous types (simple and complex)
protected  java.lang.String validName(java.lang.String name, int casing, java.lang.String prefix)
          Override default EMF behavior so that the name is not mangled.
protected static java.lang.String validNameStatic(java.lang.String name, int casing, java.lang.String prefix)
           
 
Methods inherited from class org.eclipse.xsd.ecore.XSDEcoreBuilder
addToSortedList, canSupportNull, checkForPrimitive, checkForPrimitive, collectParticles, collectParticlesHelper, createFeature, createFeature, createFeature, createResourceSet, fixXMLName, generate, generate, generate, generateResources, generateResources, getAttributeUses, getDiagnostics, getEClass, getEcoreAttribute, getEcoreAttribute, getEcoreTypeQNameAttribute, getEcoreTypeQNamesAttribute, getEcoreTypeQNamesAttribute, getEPackage, getEStructuralFeature, getRootSchema, getSchema, getTargetNamespaceToEPackageMap, getWildcards, getXSDComponentToEModelElementMap, handleFacets, ignore, ignore, initialize, initialize, isLocalReferenceType, populateETypedElement, populateTypeToTypeObjectMap, reorderAttributeUses, resolveNameConflict, resolveNameConflicts, setAnnotations, setValidate, sortNamedComponents, validate
 
Methods inherited from class org.eclipse.xsd.ecore.MapBuilder
addInput, addOutput, map, setMapper
 
Methods inherited from class org.eclipse.xsd.ecore.NameMangler
parseName, uncapName, validName, validName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SDOXSDEcoreBuilder

public SDOXSDEcoreBuilder(org.eclipse.emf.ecore.util.ExtendedMetaData extendedMetaData)
Method Detail

useSortedAttributes

protected boolean useSortedAttributes()
Overrides method in EMF. This will cause the SDO Properties to be in the order in which the Attributes appeared in the XSD.

Overrides:
useSortedAttributes in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getEClassifier

public org.eclipse.emf.ecore.EClassifier getEClassifier(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition)
Overrides:
getEClassifier in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getEDataType

public org.eclipse.emf.ecore.EDataType getEDataType(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
Overrides:
getEDataType in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getBuiltInEClassifier

protected org.eclipse.emf.ecore.EClassifier getBuiltInEClassifier(java.lang.String namespace,
                                                                  java.lang.String name)
Overrides:
getBuiltInEClassifier in class org.eclipse.xsd.ecore.XSDEcoreBuilder

computeEClass

public org.eclipse.emf.ecore.EClass computeEClass(org.eclipse.xsd.XSDComplexTypeDefinition xsdComplexTypeDefinition)
Overrides:
computeEClass in class org.eclipse.xsd.ecore.XSDEcoreBuilder

computeEClassifier

protected org.eclipse.emf.ecore.EClassifier computeEClassifier(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition)
Overrides:
computeEClassifier in class org.eclipse.xsd.ecore.XSDEcoreBuilder

computeEDataType

protected org.eclipse.emf.ecore.EDataType computeEDataType(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
Overrides:
computeEDataType in class org.eclipse.xsd.ecore.XSDEcoreBuilder

computeEEnum

protected org.eclipse.emf.ecore.EEnum computeEEnum(org.eclipse.xsd.XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
Overrides:
computeEEnum in class org.eclipse.xsd.ecore.XSDEcoreBuilder

createFeature

protected org.eclipse.emf.ecore.EStructuralFeature createFeature(org.eclipse.emf.ecore.EClass eClass,
                                                                 java.lang.String name,
                                                                 org.eclipse.emf.ecore.EClassifier type,
                                                                 org.eclipse.xsd.XSDComponent xsdComponent,
                                                                 int minOccurs,
                                                                 int maxOccurs)
Overrides:
createFeature in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getInstanceClassName

protected java.lang.String getInstanceClassName(org.eclipse.xsd.XSDTypeDefinition typeDefinition,
                                                org.eclipse.emf.ecore.EDataType baseEDataType)
Overrides:
getInstanceClassName in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getEcoreAttribute

protected java.lang.String getEcoreAttribute(org.w3c.dom.Element element,
                                             java.lang.String attribute)
Overrides:
getEcoreAttribute in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getEcoreTypeQNameAttribute

protected org.eclipse.xsd.XSDTypeDefinition getEcoreTypeQNameAttribute(org.eclipse.xsd.XSDConcreteComponent xsdConcreteComponent,
                                                                       java.lang.String attribute)
Overrides:
getEcoreTypeQNameAttribute in class org.eclipse.xsd.ecore.XSDEcoreBuilder

validName

protected java.lang.String validName(java.lang.String name,
                                     int casing,
                                     java.lang.String prefix)
Override default EMF behavior so that the name is not mangled.

Overrides:
validName in class org.eclipse.xsd.ecore.NameMangler

validAliasName

protected java.lang.String validAliasName(org.eclipse.xsd.XSDTypeDefinition xsdTypeDefinition,
                                          boolean isUpperCase)
Override default EMF name mangling for anonymous types (simple and complex)

Overrides:
validAliasName in class org.eclipse.xsd.ecore.XSDEcoreBuilder

getAliasName

protected java.lang.String getAliasName(org.eclipse.xsd.XSDNamedComponent xsdNamedComponent)

getEffectiveTypeDefinition

protected org.eclipse.xsd.XSDTypeDefinition getEffectiveTypeDefinition(org.eclipse.xsd.XSDComponent xsdComponent,
                                                                       org.eclipse.xsd.XSDFeature xsdFeature)
Overrides:
getEffectiveTypeDefinition in class org.eclipse.xsd.ecore.XSDEcoreBuilder

qualifiedPackageName

public java.lang.String qualifiedPackageName(java.lang.String namespace)
Override EMF algorithm.

Overrides:
qualifiedPackageName in class org.eclipse.xsd.ecore.NameMangler

uncapNameStatic

public static java.lang.String uncapNameStatic(java.lang.String name)

validNameStatic

protected static java.lang.String validNameStatic(java.lang.String name,
                                                  int casing,
                                                  java.lang.String prefix)

parseNameStatic

protected static java.util.List parseNameStatic(java.lang.String sourceName,
                                                char separator)

getDefaultPackageName

public static java.lang.String getDefaultPackageName(java.lang.String targetNamespace)


Copyright © 2006 Apache Software Foundation. All Rights Reserved.