org.apache.tuscany.sdo.helper
Class SDOXSDEcoreBuilder
java.lang.Object
org.eclipse.xsd.ecore.NameMangler
org.eclipse.xsd.ecore.MapBuilder
org.eclipse.xsd.ecore.XSDEcoreBuilder
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 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 |
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 |
SDOXSDEcoreBuilder
public SDOXSDEcoreBuilder(org.eclipse.emf.ecore.util.ExtendedMetaData extendedMetaData)
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.