org.eclipse.xsd.ecore
Class XSDEcoreBuilder

java.lang.Object
  extended by org.eclipse.xsd.ecore.NameMangler
      extended by org.eclipse.xsd.ecore.MapBuilder
          extended by org.eclipse.xsd.ecore.XSDEcoreBuilder

public class XSDEcoreBuilder
extends MapBuilder


Nested Class Summary
static class XSDEcoreBuilder.Comparator
           
static class XSDEcoreBuilder.EffectiveOccurrence
           
 
Nested classes/interfaces inherited from class org.eclipse.xsd.ecore.MapBuilder
MapBuilder.Mapper
 
Field Summary
protected  java.util.List<java.lang.String> ANY_NAMESPACE_WILDCARD
           
protected  java.util.List<XSDDiagnostic> diagnostics
           
protected static java.util.Map<java.lang.String,java.lang.String> ECORE_PRIMITIVE_TYPES
           
protected static java.lang.Class<?> ecoreResourceFactoryImplClass
           
protected  java.util.Map<EReference,java.lang.String> eReferenceToOppositeNameMap
           
protected  ExtendedMetaData extendedMetaData
           
protected  java.util.List<java.lang.String> NOT_NULL_WILDCARD
           
protected static java.lang.String[] PRIMITIVE_WRAPPERS
           
protected static java.util.List<java.lang.String> PRIMITIVES
           
protected  XSDSchema rootSchema
           
protected  java.util.List<java.util.List<java.lang.String>> simpleDiagnostics
           
protected  java.util.Map<java.lang.String,EPackage> targetNamespaceToEPackageMap
           
protected  java.util.Map<EClassifier,EClassifier> typeToTypeObjectMap
           
protected  java.util.List<XSDSchema> 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
XSDEcoreBuilder()
           
XSDEcoreBuilder(ExtendedMetaData extendedMetaData)
           
 
Method Summary
static
<T extends ENamedElement>
void
addToSortedList(java.util.List<T> eNamedElements, T eNamedElement)
           
protected static boolean canSupportNull(EDataType eDataType)
           
protected  void checkForPrimitive(EDataType eDataType)
           
protected  void checkForPrimitive(XSDSimpleTypeDefinition xsdSimpleTypeDefinition, EDataType eDataType)
           
 java.util.List<XSDEcoreBuilder.EffectiveOccurrence> collectParticles(XSDParticle xsdParticle)
           
 void collectParticlesHelper(java.util.List<XSDEcoreBuilder.EffectiveOccurrence> result, XSDParticle xsdParticle, int minOccurs, int maxOccurs, XSDModelGroup target)
           
 EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition)
           
protected  EDataType computeEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  EEnum computeEEnum(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  EStructuralFeature createFeature(EClass eClass, java.lang.String name, EClassifier type, XSDComponent xsdComponent)
           
protected  EStructuralFeature createFeature(EClass eClass, java.lang.String name, EClassifier type, XSDComponent xsdComponent, int minOccurs, int maxOccurs)
           
protected  EStructuralFeature createFeature(EClass eClass, XSDAttributeDeclaration xsdAttributeDeclaration, java.lang.String name, XSDComponent xsdComponent, boolean isRequired)
           
protected  EStructuralFeature createFeature(EClass eClass, XSDElementDeclaration xsdElementDeclaration, java.lang.String name, XSDComponent xsdComponent, int minOccurs, int maxOccurs)
           
protected  ResourceSet createResourceSet()
           
protected  void fixXMLName(EClassifier eClassifier)
           
 java.util.Collection<java.lang.Object> generate(java.util.Collection<URI> uris)
           
 java.util.Collection<EObject> generate(URI uri)
           
 void generate(XSDSchema xsdSchema)
           
 java.util.Collection<Resource> generateResources(java.util.Collection<URI> uris)
           
 java.util.Collection<Resource> generateResources(URI uri)
           
protected  java.util.List<XSDAttributeUse> getAttributeUses(XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  EClassifier getBuiltInEClassifier(java.lang.String namespace, java.lang.String name)
           
 java.util.List<XSDDiagnostic> getDiagnostics()
           
 EClass getEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
 EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition)
           
protected  java.lang.String getEcoreAttribute(org.w3c.dom.Element element, java.lang.String attribute)
           
protected  java.lang.String getEcoreAttribute(XSDConcreteComponent xsdConcreteComponent, java.lang.String attribute)
           
protected  java.lang.String getEcoreAttribute(XSDConcreteComponent xsdConcreteComponent1, XSDConcreteComponent xsdConcreteComponent2, java.lang.String attribute)
           
protected  XSDTypeDefinition getEcoreTypeQNameAttribute(XSDConcreteComponent xsdConcreteComponent, org.w3c.dom.Element element, java.lang.String namespace, java.lang.String attribute)
           
protected  XSDTypeDefinition getEcoreTypeQNameAttribute(XSDConcreteComponent xsdConcreteComponent, java.lang.String attribute)
           
protected  java.util.List<XSDTypeDefinition> getEcoreTypeQNamesAttribute(XSDConcreteComponent xsdConcreteComponent, org.w3c.dom.Element element, java.lang.String namespace, java.lang.String attribute)
           
protected  java.util.List<XSDTypeDefinition> getEcoreTypeQNamesAttribute(XSDConcreteComponent xsdConcreteComponent, java.lang.String attribute)
           
 EDataType getEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  XSDTypeDefinition getEffectiveTypeDefinition(XSDComponent xsdComponent, XSDFeature xsdFeature)
           
 EPackage getEPackage(XSDNamedComponent xsdNamedComponent)
           
 EStructuralFeature getEStructuralFeature(XSDFeature xsdFeature)
           
protected  java.lang.String getInstanceClassName(XSDTypeDefinition xsdTypeDefinition, EDataType baseEDataType)
           
 XSDSchema getRootSchema()
           
 XSDSchema getSchema()
           
 java.util.Map<java.lang.String,EPackage> getTargetNamespaceToEPackageMap()
           
protected  java.util.List<java.lang.String> getWildcards(XSDWildcard xsdWildcard)
           
 java.util.Map<XSDComponent,EModelElement> getXSDComponentToEModelElementMap()
           
protected  void handleFacets(XSDSimpleTypeDefinition xsdSimpleTypeDefinition, EDataType eDataType)
           
protected  boolean ignore(org.w3c.dom.Attr attribute)
           
protected  boolean ignore(org.w3c.dom.Element element)
           
protected  void initialize(EAttribute eAttribute, XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  void initialize(EStructuralFeature eStructuralFeature, XSDFeature xsdFeature, XSDComponent xsdComponent)
           
static boolean isLocalReferenceType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)
           
protected  void populateETypedElement(ETypedElement eTypedElement, org.w3c.dom.Element element)
           
protected  void populateTypeToTypeObjectMap(EPackage ePackage)
           
protected  void reorderAttributeUses(java.util.List<XSDAttributeUse> attributeUses, java.util.List<XSDAttributeGroupContent> attributeContents)
           
protected  void resolveNameConflict(java.util.Map<java.lang.String,? extends ENamedElement> map, ENamedElement eNamedElement, java.lang.String suffix)
           
protected  void resolveNameConflicts()
           
protected  void setAnnotations(EModelElement eModelElement, XSDConcreteComponent xsdComponent)
           
 void setValidate(boolean validate)
           
static
<T extends ENamedElement>
java.util.List<T>
sortNamedComponents(java.util.Collection<T> eNamedElements)
           
protected  boolean useSortedAttributes()
           
protected  java.lang.String validAliasName(XSDTypeDefinition xsdTypeDefinition, boolean isUpperCase)
           
protected  void validate(XSDSchema xsdSchema)
           
 
Methods inherited from class org.eclipse.xsd.ecore.MapBuilder
addInput, addOutput, map, setMapper
 
Methods inherited from class org.eclipse.xsd.ecore.NameMangler
parseName, qualifiedPackageName, uncapName, validName, validName, validName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rootSchema

protected XSDSchema rootSchema

simpleDiagnostics

protected java.util.List<java.util.List<java.lang.String>> simpleDiagnostics

diagnostics

protected java.util.List<XSDDiagnostic> diagnostics

xsdSchemas

protected java.util.List<XSDSchema> xsdSchemas

targetNamespaceToEPackageMap

protected java.util.Map<java.lang.String,EPackage> targetNamespaceToEPackageMap

extendedMetaData

protected ExtendedMetaData extendedMetaData

eReferenceToOppositeNameMap

protected java.util.Map<EReference,java.lang.String> eReferenceToOppositeNameMap

typeToTypeObjectMap

protected java.util.Map<EClassifier,EClassifier> typeToTypeObjectMap

PRIMITIVES

protected static final java.util.List<java.lang.String> PRIMITIVES

PRIMITIVE_WRAPPERS

protected static final java.lang.String[] PRIMITIVE_WRAPPERS

ECORE_PRIMITIVE_TYPES

protected static final java.util.Map<java.lang.String,java.lang.String> ECORE_PRIMITIVE_TYPES

ANY_NAMESPACE_WILDCARD

protected final java.util.List<java.lang.String> ANY_NAMESPACE_WILDCARD

NOT_NULL_WILDCARD

protected final java.util.List<java.lang.String> NOT_NULL_WILDCARD

ecoreResourceFactoryImplClass

protected static final java.lang.Class<?> ecoreResourceFactoryImplClass
Constructor Detail

XSDEcoreBuilder

public XSDEcoreBuilder()

XSDEcoreBuilder

public XSDEcoreBuilder(ExtendedMetaData extendedMetaData)
Method Detail

populateTypeToTypeObjectMap

protected void populateTypeToTypeObjectMap(EPackage ePackage)

getSchema

public XSDSchema getSchema()

setValidate

public void setValidate(boolean validate)

getDiagnostics

public java.util.List<XSDDiagnostic> getDiagnostics()

getRootSchema

public XSDSchema getRootSchema()

getTargetNamespaceToEPackageMap

public java.util.Map<java.lang.String,EPackage> getTargetNamespaceToEPackageMap()

getXSDComponentToEModelElementMap

public java.util.Map<XSDComponent,EModelElement> getXSDComponentToEModelElementMap()

getEPackage

public EPackage getEPackage(XSDNamedComponent xsdNamedComponent)

getEClassifier

public EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition)

getEDataType

public EDataType getEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)

getEClass

public EClass getEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition)

getBuiltInEClassifier

protected EClassifier getBuiltInEClassifier(java.lang.String namespace,
                                            java.lang.String name)

computeEClassifier

protected EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition)

computeEDataType

protected EDataType computeEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)

getInstanceClassName

protected java.lang.String getInstanceClassName(XSDTypeDefinition xsdTypeDefinition,
                                                EDataType baseEDataType)

validAliasName

protected java.lang.String validAliasName(XSDTypeDefinition xsdTypeDefinition,
                                          boolean isUpperCase)

canSupportNull

protected static boolean canSupportNull(EDataType eDataType)

checkForPrimitive

protected void checkForPrimitive(XSDSimpleTypeDefinition xsdSimpleTypeDefinition,
                                 EDataType eDataType)

checkForPrimitive

protected void checkForPrimitive(EDataType eDataType)

handleFacets

protected void handleFacets(XSDSimpleTypeDefinition xsdSimpleTypeDefinition,
                            EDataType eDataType)

computeEEnum

protected EEnum computeEEnum(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)

computeEClass

public EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition)

populateETypedElement

protected void populateETypedElement(ETypedElement eTypedElement,
                                     org.w3c.dom.Element element)

useSortedAttributes

protected boolean useSortedAttributes()

getAttributeUses

protected java.util.List<XSDAttributeUse> getAttributeUses(XSDComplexTypeDefinition xsdComplexTypeDefinition)

reorderAttributeUses

protected void reorderAttributeUses(java.util.List<XSDAttributeUse> attributeUses,
                                    java.util.List<XSDAttributeGroupContent> attributeContents)

getWildcards

protected java.util.List<java.lang.String> getWildcards(XSDWildcard xsdWildcard)

createFeature

protected EStructuralFeature createFeature(EClass eClass,
                                           java.lang.String name,
                                           EClassifier type,
                                           XSDComponent xsdComponent)

createFeature

protected EStructuralFeature createFeature(EClass eClass,
                                           java.lang.String name,
                                           EClassifier type,
                                           XSDComponent xsdComponent,
                                           int minOccurs,
                                           int maxOccurs)

getEffectiveTypeDefinition

protected XSDTypeDefinition getEffectiveTypeDefinition(XSDComponent xsdComponent,
                                                       XSDFeature xsdFeature)

createFeature

protected EStructuralFeature createFeature(EClass eClass,
                                           XSDElementDeclaration xsdElementDeclaration,
                                           java.lang.String name,
                                           XSDComponent xsdComponent,
                                           int minOccurs,
                                           int maxOccurs)

createFeature

protected EStructuralFeature createFeature(EClass eClass,
                                           XSDAttributeDeclaration xsdAttributeDeclaration,
                                           java.lang.String name,
                                           XSDComponent xsdComponent,
                                           boolean isRequired)

initialize

protected void initialize(EStructuralFeature eStructuralFeature,
                          XSDFeature xsdFeature,
                          XSDComponent xsdComponent)

initialize

protected void initialize(EAttribute eAttribute,
                          XSDSimpleTypeDefinition xsdSimpleTypeDefinition)

collectParticles

public java.util.List<XSDEcoreBuilder.EffectiveOccurrence> collectParticles(XSDParticle xsdParticle)

collectParticlesHelper

public void collectParticlesHelper(java.util.List<XSDEcoreBuilder.EffectiveOccurrence> result,
                                   XSDParticle xsdParticle,
                                   int minOccurs,
                                   int maxOccurs,
                                   XSDModelGroup target)

fixXMLName

protected void fixXMLName(EClassifier eClassifier)

resolveNameConflicts

protected void resolveNameConflicts()

resolveNameConflict

protected void resolveNameConflict(java.util.Map<java.lang.String,? extends ENamedElement> map,
                                   ENamedElement eNamedElement,
                                   java.lang.String suffix)

createResourceSet

protected ResourceSet createResourceSet()

generateResources

public java.util.Collection<Resource> generateResources(URI uri)

generateResources

public java.util.Collection<Resource> generateResources(java.util.Collection<URI> uris)

getEStructuralFeature

public EStructuralFeature getEStructuralFeature(XSDFeature xsdFeature)

generate

public java.util.Collection<EObject> generate(URI uri)

generate

public java.util.Collection<java.lang.Object> generate(java.util.Collection<URI> uris)

generate

public void generate(XSDSchema xsdSchema)

getEcoreAttribute

protected java.lang.String getEcoreAttribute(XSDConcreteComponent xsdConcreteComponent1,
                                             XSDConcreteComponent xsdConcreteComponent2,
                                             java.lang.String attribute)

getEcoreAttribute

protected java.lang.String getEcoreAttribute(XSDConcreteComponent xsdConcreteComponent,
                                             java.lang.String attribute)

getEcoreAttribute

protected java.lang.String getEcoreAttribute(org.w3c.dom.Element element,
                                             java.lang.String attribute)

getEcoreTypeQNameAttribute

protected XSDTypeDefinition getEcoreTypeQNameAttribute(XSDConcreteComponent xsdConcreteComponent,
                                                       java.lang.String attribute)

getEcoreTypeQNameAttribute

protected XSDTypeDefinition getEcoreTypeQNameAttribute(XSDConcreteComponent xsdConcreteComponent,
                                                       org.w3c.dom.Element element,
                                                       java.lang.String namespace,
                                                       java.lang.String attribute)

getEcoreTypeQNamesAttribute

protected java.util.List<XSDTypeDefinition> getEcoreTypeQNamesAttribute(XSDConcreteComponent xsdConcreteComponent,
                                                                        java.lang.String attribute)

getEcoreTypeQNamesAttribute

protected java.util.List<XSDTypeDefinition> getEcoreTypeQNamesAttribute(XSDConcreteComponent xsdConcreteComponent,
                                                                        org.w3c.dom.Element element,
                                                                        java.lang.String namespace,
                                                                        java.lang.String attribute)

sortNamedComponents

public static <T extends ENamedElement> java.util.List<T> sortNamedComponents(java.util.Collection<T> eNamedElements)

addToSortedList

public static <T extends ENamedElement> void addToSortedList(java.util.List<T> eNamedElements,
                                                             T eNamedElement)

isLocalReferenceType

public static boolean isLocalReferenceType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition)

setAnnotations

protected void setAnnotations(EModelElement eModelElement,
                              XSDConcreteComponent xsdComponent)

ignore

protected boolean ignore(org.w3c.dom.Element element)

ignore

protected boolean ignore(org.w3c.dom.Attr attribute)

validate

protected void validate(XSDSchema xsdSchema)

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.