module RGen::MetamodelBuilder::BuilderRuntime
This module is mixed into MetamodelBuilder::MMBase. The methods provided by this module are used by the methods generated by the class methods of MetamodelBuilder::BuilderExtensions
Public Instance Methods
_assignmentTypeError(target, value, expected)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 81 def _assignmentTypeError(target, value, expected) text = "" if target targetId = target.class.name targetId += "(" + target.name + ")" if target.respond_to?(:name) and target.name text += "In #{targetId} : " end valueId = value.class.name valueId += "(" + value.name + ")" if value.respond_to?(:name) and value.name valueId += "(:" + value.to_s + ")" if value.is_a?(Symbol) text += "Can not use a #{valueId} where a #{expected} is expected" StandardError.new(text) end
_set_container(container, containing_feature_name)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 76 def _set_container(container, containing_feature_name) @_container = container @_containing_feature_name = containing_feature_name end
addGeneric(role, value, index=-1)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 21 def addGeneric(role, value, index=-1) send("add#{firstToUpper(role.to_s)}",value, index) end
eContainer()
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 68 def eContainer @_container end
eContainingFeature()
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 72 def eContainingFeature @_containing_feature_name end
eIsSet(role)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 55 def eIsSet(role) eval("defined? @#{role}") != nil end
eUnset(role)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 59 def eUnset(role) if respond_to?("add#{firstToUpper(role.to_s)}") setGeneric(role, []) else setGeneric(role, nil) end remove_instance_variable("@#{role}") end
getGeneric(role)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 45 def getGeneric(role) send("get#{firstToUpper(role.to_s)}") end
getGenericAsArray(role)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 49 def getGenericAsArray(role) result = getGeneric(role) result = [result].compact unless result.is_a?(Array) result end
hasManyMethods(role)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 33 def hasManyMethods(role) respond_to?("add#{firstToUpper(role.to_s)}") end
is_a?(c)
click to toggle source
Calls superclass method
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 16 def is_a?(c) return super unless c.const_defined?(:ClassModule) kind_of?(c::ClassModule) end
removeGeneric(role, value)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 25 def removeGeneric(role, value) send("remove#{firstToUpper(role.to_s)}",value) end
setGeneric(role, value)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 29 def setGeneric(role, value) send("set#{firstToUpper(role.to_s)}",value) end
setOrAddGeneric(role, value)
click to toggle source
# File lib/rgen/metamodel_builder/builder_runtime.rb, line 37 def setOrAddGeneric(role, value) if hasManyMethods(role) addGeneric(role, value) else setGeneric(role, value) end end