org.eclipse.emf.importer.rose.builder
Class RoseEcoreBuilder

java.lang.Object
  extended byorg.eclipse.emf.importer.rose.builder.RoseEcoreBuilder
All Implemented Interfaces:
RoseVisitor

public class RoseEcoreBuilder
extends Object
implements RoseVisitor

Traverses the Rose file and create eCore object in memory.


Field Summary
protected static Pattern ANNOTATION_DETAIL_PATTERN
           
protected static Pattern ANNOTATION_PATTERN
           
protected  Set bounded
           
protected static Comparator eClassComparator
           
protected  Map eEnums
           
protected  Comparator eStructuralFeatureComparator
           
protected  List eStructuralFeatures
           
protected  Map eStructuralFeatureToXMLNamespaceMap
           
protected  Map idToParentMap
           
 boolean noQualify
           
protected  EReference ref1
           
protected  EReference ref2
           
protected  RoseNode role1
           
protected  RoseNode role2
           
protected  RoseUtil roseUtil
           
 boolean unsettablePrimitive
           
 
Constructor Summary
RoseEcoreBuilder(RoseUtil roseUtil)
           
 
Method Summary
protected  void build(RoseNode roseNode, Object parent, ENamedElement eNamedElement)
           
 void createEPackageForRootClasses(EList extent, RoseNode roseNode, String packageName)
           
protected  void error(String message)
           
protected  EClassifier getBasicType(String value)
           
protected  EList getExtentFromTableObject(RoseNode roseNode)
           
protected  String getQualifiedTypeName(ETypedElement typedElement, String type)
           
protected  void populateEEnumFromDocumentation(EEnum eEnum, String documentation)
           
protected  void setEAttributeProperties(RoseNode roseNode, EAttribute eAttribute)
           
protected  void setEClassProperties(RoseNode roseNode, EClass eClass)
           
protected  void setEDataTypeProperties(RoseNode roseNode, EDataType eDataType)
           
protected  boolean setEEnumLiteralProperties(RoseNode roseNode, EEnumLiteral eEnumLiteral)
           
protected  void setEEnumProperties(RoseNode roseNode, EEnum eEnum)
           
 void setEEnums()
           
protected  void setEModelElementProperties(RoseNode roseNode, EModelElement eModelElement)
           
protected  void setEOperationProperties(RoseNode roseNode, EOperation eOperation)
           
protected  void setEPackageProperties(RoseNode roseNode, EPackage ePackage, String tentativeName)
           
protected  void setEParameterProperties(RoseNode roseNode, EParameter eParameter)
           
protected  void setEReferenceDefaultMultiplicity(EReference eReference)
           
protected  void setEReferenceIsContainment(EReference ref, RoseNode role1, RoseNode role2)
           
protected  void setEReferenceProperties(RoseNode roseNode, EReference eReference)
           
 void setEReferences()
           
protected  void setEStructuralFeatureProperties(RoseNode roseNode, EStructuralFeature eStructuralFeature)
           
protected  void setEStructuralFeatureVisibility(RoseNode roseNode, EStructuralFeature eStructuralFeature)
          Maps the single, user-friendly Rose setting into accessor method suppression, via EcoreUtil.
 void setETypeClassifier()
           
protected  void setETypedElementProperties(RoseNode roseNode, ETypedElement eTypedElement)
           
 void setIDs(EObject parent, EObject child)
           
protected  void setResultType(RoseNode roseNode, EOperation eOperation)
           
 void setSuper()
           
protected  void sortSuper(Map superMap)
           
protected  String upperCaseName(String name)
           
 void validate(EObject object)
           
protected  Object validateEClass(EClass eClass)
           
protected  Object validateEDataType(EDataType eDataType)
           
protected  Object validateEEnum(EEnum eEnum)
           
protected  String validName(String name)
           
protected  void visitAssociation(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitClass(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitClassattribute(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitClassCategory(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitInheritanceRelationship(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
 void visitList(RoseNode roseNode)
           
 void visitObject(RoseNode roseNode)
           
protected  void visitObject(RoseNode roseNode, String roseNodeValue, String objectKey, String objectType, String objectName, Object parent)
           
protected  void visitOperation(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitParameter(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void visitRole(RoseNode roseNode, String roseNodeValue, String objectKey, String objectName, Object parent)
           
protected  void warning(String message)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

noQualify

public boolean noQualify

unsettablePrimitive

public boolean unsettablePrimitive

roseUtil

protected RoseUtil roseUtil

bounded

protected Set bounded

eStructuralFeatureToXMLNamespaceMap

protected Map eStructuralFeatureToXMLNamespaceMap

eStructuralFeatures

protected List eStructuralFeatures

eEnums

protected Map eEnums

idToParentMap

protected Map idToParentMap

ref1

protected EReference ref1

ref2

protected EReference ref2

role1

protected RoseNode role1

role2

protected RoseNode role2

ANNOTATION_PATTERN

protected static final Pattern ANNOTATION_PATTERN

ANNOTATION_DETAIL_PATTERN

protected static final Pattern ANNOTATION_DETAIL_PATTERN

eClassComparator

protected static Comparator eClassComparator

eStructuralFeatureComparator

protected Comparator eStructuralFeatureComparator
Constructor Detail

RoseEcoreBuilder

public RoseEcoreBuilder(RoseUtil roseUtil)
Method Detail

visitList

public void visitList(RoseNode roseNode)
Specified by:
visitList in interface RoseVisitor

visitObject

public void visitObject(RoseNode roseNode)
Specified by:
visitObject in interface RoseVisitor

visitObject

protected void visitObject(RoseNode roseNode,
                           String roseNodeValue,
                           String objectKey,
                           String objectType,
                           String objectName,
                           Object parent)

visitClassCategory

protected void visitClassCategory(RoseNode roseNode,
                                  String roseNodeValue,
                                  String objectKey,
                                  String objectName,
                                  Object parent)

visitClass

protected void visitClass(RoseNode roseNode,
                          String roseNodeValue,
                          String objectKey,
                          String objectName,
                          Object parent)

visitOperation

protected void visitOperation(RoseNode roseNode,
                              String roseNodeValue,
                              String objectKey,
                              String objectName,
                              Object parent)

visitParameter

protected void visitParameter(RoseNode roseNode,
                              String roseNodeValue,
                              String objectKey,
                              String objectName,
                              Object parent)

visitInheritanceRelationship

protected void visitInheritanceRelationship(RoseNode roseNode,
                                            String roseNodeValue,
                                            String objectKey,
                                            String objectName,
                                            Object parent)

visitClassattribute

protected void visitClassattribute(RoseNode roseNode,
                                   String roseNodeValue,
                                   String objectKey,
                                   String objectName,
                                   Object parent)

visitAssociation

protected void visitAssociation(RoseNode roseNode,
                                String roseNodeValue,
                                String objectKey,
                                String objectName,
                                Object parent)

visitRole

protected void visitRole(RoseNode roseNode,
                         String roseNodeValue,
                         String objectKey,
                         String objectName,
                         Object parent)

getExtentFromTableObject

protected EList getExtentFromTableObject(RoseNode roseNode)

setEReferenceIsContainment

protected void setEReferenceIsContainment(EReference ref,
                                          RoseNode role1,
                                          RoseNode role2)

setResultType

protected void setResultType(RoseNode roseNode,
                             EOperation eOperation)

setEModelElementProperties

protected void setEModelElementProperties(RoseNode roseNode,
                                          EModelElement eModelElement)

setEPackageProperties

protected void setEPackageProperties(RoseNode roseNode,
                                     EPackage ePackage,
                                     String tentativeName)

setEClassProperties

protected void setEClassProperties(RoseNode roseNode,
                                   EClass eClass)

setEDataTypeProperties

protected void setEDataTypeProperties(RoseNode roseNode,
                                      EDataType eDataType)

setEEnumProperties

protected void setEEnumProperties(RoseNode roseNode,
                                  EEnum eEnum)

populateEEnumFromDocumentation

protected void populateEEnumFromDocumentation(EEnum eEnum,
                                              String documentation)

setEOperationProperties

protected void setEOperationProperties(RoseNode roseNode,
                                       EOperation eOperation)

setEAttributeProperties

protected void setEAttributeProperties(RoseNode roseNode,
                                       EAttribute eAttribute)

setEReferenceProperties

protected void setEReferenceProperties(RoseNode roseNode,
                                       EReference eReference)

setEStructuralFeatureProperties

protected void setEStructuralFeatureProperties(RoseNode roseNode,
                                               EStructuralFeature eStructuralFeature)

setETypedElementProperties

protected void setETypedElementProperties(RoseNode roseNode,
                                          ETypedElement eTypedElement)

setEStructuralFeatureVisibility

protected void setEStructuralFeatureVisibility(RoseNode roseNode,
                                               EStructuralFeature eStructuralFeature)
Maps the single, user-friendly Rose setting into accessor method suppression, via EcoreUtil.


setEEnumLiteralProperties

protected boolean setEEnumLiteralProperties(RoseNode roseNode,
                                            EEnumLiteral eEnumLiteral)

setEParameterProperties

protected void setEParameterProperties(RoseNode roseNode,
                                       EParameter eParameter)

setEReferenceDefaultMultiplicity

protected void setEReferenceDefaultMultiplicity(EReference eReference)

setEEnums

public void setEEnums()

setSuper

public void setSuper()

sortSuper

protected void sortSuper(Map superMap)

setIDs

public void setIDs(EObject parent,
                   EObject child)

validate

public void validate(EObject object)

validateEDataType

protected Object validateEDataType(EDataType eDataType)

validateEEnum

protected Object validateEEnum(EEnum eEnum)

validateEClass

protected Object validateEClass(EClass eClass)

setEReferences

public void setEReferences()

setETypeClassifier

public void setETypeClassifier()

getBasicType

protected EClassifier getBasicType(String value)

createEPackageForRootClasses

public void createEPackageForRootClasses(EList extent,
                                         RoseNode roseNode,
                                         String packageName)

build

protected void build(RoseNode roseNode,
                     Object parent,
                     ENamedElement eNamedElement)

upperCaseName

protected String upperCaseName(String name)

validName

protected String validName(String name)

warning

protected void warning(String message)

error

protected void error(String message)

getQualifiedTypeName

protected String getQualifiedTypeName(ETypedElement typedElement,
                                      String type)

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