Module: RGen::ECore::EClassifier::ClassModule

Includes:
Util::NameHelper
Defined in:
lib/rgen/ecore/ecore.rb,
lib/mmgen/mm_ext/ecore_mmgen_ext.rb

Instance Method Summary collapse

Methods included from Util::NameHelper

#camelize, #className, #firstToLower, #firstToUpper, #normalize, #saneClassName, #saneMethodName

Instance Method Details

#ancestorPackagesObject



68
69
70
71
# File 'lib/mmgen/mm_ext/ecore_mmgen_ext.rb', line 68

def ancestorPackages
  return [] unless ePackage
  [ePackage] + ePackage.ancestorPackages
end

#classifierNameObject



62
63
64
# File 'lib/mmgen/mm_ext/ecore_mmgen_ext.rb', line 62

def classifierName
  firstToUpper(name)			
end

#instanceClass_derivedObject



89
90
91
92
93
94
95
96
97
98
# File 'lib/rgen/ecore/ecore.rb', line 89

def instanceClass_derived
  map = {"java.lang.string" => "String", 
         "boolean" => "RGen::MetamodelBuilder::DataTypes::Boolean", 
         "int" => "Integer",
         "long" => "RGen::MetamodelBuilder::DataTypes::Long"}
  icn = instanceClassName
  icn = "NilClass" if icn.nil?
  icn = map[icn.downcase] if map[icn.downcase]
  eval(icn)
end

#qualifiedClassifierName(rootPackage) ⇒ Object



65
66
67
# File 'lib/mmgen/mm_ext/ecore_mmgen_ext.rb', line 65

def qualifiedClassifierName(rootPackage)
 (ePackage ? ePackage.qualifiedModuleName(rootPackage) + "::" : "") + classifierName
end

#qualifiedClassifierNameIfRequired(package) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/mmgen/mm_ext/ecore_mmgen_ext.rb', line 72

def qualifiedClassifierNameIfRequired(package)
  if ePackage != package
    commonSuper = (package.ancestorPackages & ancestorPackages).first
    qualifiedClassifierName(commonSuper)
  else
    classifierName
  end
end