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

    java.lang.Object
      org.eclipse.emf.importer.rose.builder.RoseEcoreBuilder

All Implemented Interfaces:
  RoseVisitor

    public class RoseEcoreBuilder

extends java.lang.Object
implements RoseVisitor

Traverses the Rose file and create eCore object in memory.

Field Summary
`protected static java.util.regex.Pattern` `ANNOTATION_DETAIL_PATTERN`
`protected static java.util.regex.Pattern` `ANNOTATION_PATTERN`
`protected java.util.Set<EAttribute>` `attributesToConvert`
`protected java.util.Set<EModelElement>` `bounded`
`protected static java.util.Comparator<java.lang.Object>` `eClassComparator`
`protected java.util.Map<EEnum,java.lang.String>` `eEnums`
`protected EGenericType` `eGenericType1`
`protected EGenericType` `eGenericType2`
`protected java.util.Map<EModelElement,RoseNode>` `eModelElementToRoseNodeMap`
`protected java.util.Comparator<EStructuralFeature>` `eStructuralFeatureComparator`
`protected java.util.List<EStructuralFeature>` `eStructuralFeatures`
`protected java.util.Map<EStructuralFeature,java.lang.String>` `eStructuralFeatureToXMLNamespaceMap`
`protected java.util.Map<java.lang.String,java.lang.Object>` `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, java.lang.Object parent, ENamedElement eNamedElement)`
`void` `createEPackageForRootClasses(EList<EObject> extent, RoseNode roseNode, java.lang.String packageName)`
`protected void` `error(java.lang.String message)`
`protected EClassifier` `getBasicType(java.lang.String value)`
`protected EList<EObject>` `getExtentFromTableObject(RoseNode roseNode)`
`protected java.lang.String` `getQualifiedTypeName(EModelElement eModelElement, java.lang.String type)`
`protected java.lang.String` `getQualifiedTypeName(ETypedElement typedElement, java.lang.String type)`
`protected java.util.List<EGenericType>` `parseTemplateArguments(java.lang.String templateArguments)`
`protected java.util.List<ETypeParameter>` `parseTemplateParameters(java.lang.String templateParameters)`
`protected void` `populateEEnumFromDocumentation(EEnum eEnum, java.lang.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, java.lang.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(java.util.Map<EClass,java.util.List<EGenericType>[]> superMap)`
`protected java.lang.String` `upperCaseName(java.lang.String name)`
`void` `validate(EObject object)`
`protected java.lang.Object` `validateEClass(EClass eClass)`
`protected java.lang.Object` `validateEDataType(EDataType eDataType)`
`protected java.lang.Object` `validateEEnum(EEnum eEnum)`
`protected java.lang.String` `validName(java.lang.String name)`
`protected void` `visitAssociation(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitClass(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitClassattribute(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitClassCategory(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitInheritanceRelationship(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`void` `visitList(RoseNode roseNode)`
`void` `visitObject(RoseNode roseNode)`
`protected void` `visitObject(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectType, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitOperation(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitParameter(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `visitRole(RoseNode roseNode, java.lang.String roseNodeValue, java.lang.String objectKey, java.lang.String objectName, java.lang.Object parent)`
`protected void` `warning(java.lang.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 java.util.Set<EModelElement> bounded

### eStructuralFeatureToXMLNamespaceMap

    protected java.util.Map<EStructuralFeature,java.lang.String> eStructuralFeatureToXMLNamespaceMap

### eStructuralFeatures

    protected java.util.List<EStructuralFeature> eStructuralFeatures

### eEnums

    protected java.util.Map<EEnum,java.lang.String> eEnums

### idToParentMap

    protected java.util.Map<java.lang.String,java.lang.Object> idToParentMap

### ref1

    protected EReference ref1

### ref2

    protected EReference ref2

### role1

    protected RoseNode role1

### role2

    protected RoseNode role2

### eGenericType1

    protected EGenericType eGenericType1

### eGenericType2

    protected EGenericType eGenericType2

### attributesToConvert

    protected java.util.Set<EAttribute> attributesToConvert

### eModelElementToRoseNodeMap

    protected java.util.Map<EModelElement,RoseNode> eModelElementToRoseNodeMap

### ANNOTATION_PATTERN

    protected static final java.util.regex.Pattern ANNOTATION_PATTERN

### ANNOTATION_DETAIL_PATTERN

    protected static final java.util.regex.Pattern ANNOTATION_DETAIL_PATTERN

### eClassComparator

    protected static java.util.Comparator<java.lang.Object> eClassComparator

### eStructuralFeatureComparator

    protected java.util.Comparator<EStructuralFeature> 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,
                               java.lang.String roseNodeValue,
                               java.lang.String objectKey,
                               java.lang.String objectType,
                               java.lang.String objectName,
                               java.lang.Object parent)

### visitClassCategory

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

### visitClass

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

### visitOperation

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

### visitParameter

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

### visitInheritanceRelationship

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

### visitClassattribute

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

### visitAssociation

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

### visitRole

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

### getExtentFromTableObject

    protected EList<EObject> 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,
                                         java.lang.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,
                                                  java.lang.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(java.util.Map<EClass,java.util.List<EGenericType>[]> superMap)

### parseTemplateParameters

    protected java.util.List<ETypeParameter> parseTemplateParameters(java.lang.String templateParameters)

### parseTemplateArguments

    protected java.util.List<EGenericType> parseTemplateArguments(java.lang.String templateArguments)

### setIDs

    public void setIDs(EObject parent,
                       EObject child)

### validate

    public void validate(EObject object)

### validateEDataType

    protected java.lang.Object validateEDataType(EDataType eDataType)

### validateEEnum

    protected java.lang.Object validateEEnum(EEnum eEnum)

### validateEClass

    protected java.lang.Object validateEClass(EClass eClass)

### setEReferences

    public void setEReferences()

### setETypeClassifier

    public void setETypeClassifier()

### getBasicType

    protected EClassifier getBasicType(java.lang.String value)

### createEPackageForRootClasses

    public void createEPackageForRootClasses(EList<EObject> extent,
                                             RoseNode roseNode,
                                             java.lang.String packageName)

### build

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

### upperCaseName

    protected java.lang.String upperCaseName(java.lang.String name)

### validName

    protected java.lang.String validName(java.lang.String name)

### warning

    protected void warning(java.lang.String message)

### error

    protected void error(java.lang.String message)

### getQualifiedTypeName

    protected java.lang.String getQualifiedTypeName(ETypedElement typedElement,
                                                    java.lang.String type)

### getQualifiedTypeName

    protected java.lang.String getQualifiedTypeName(EModelElement eModelElement,
                                                    java.lang.String type)

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