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.
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 |
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
RoseEcoreBuilder
public RoseEcoreBuilder(RoseUtil roseUtil)
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)