rgen 0.8.4 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG +8 -0
- data/Project.yaml +6 -5
- data/Rakefile +0 -1
- data/lib/rgen/ecore/ecore.rb +9 -3
- data/lib/rgen/ecore/ecore_to_json.rb +4 -5
- data/test/metamodel_builder_test.rb +4 -4
- data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +71 -0
- data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +162 -0
- data/test/metamodel_roundtrip_test/using_builtin_types.ecore +1 -1
- data/test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore +9 -0
- data/test/model_builder/ecore_internal.rb +113 -0
- data/test/template_language_test/line_endings_mixed.txt +2 -0
- data/test/template_language_test/line_endings_unix.txt +2 -0
- data/test/template_language_test/line_endings_windows.txt +2 -0
- data/test/testmodel/ea_testmodel_regenerated.xml +813 -0
- data/test/util/file_cache_map_test/testdir/fileA +0 -0
- metadata +195 -173
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 16727fb8ac509f1c0d992f9325059453b2a18c3060dcfaa580c73c5afbee80ef
|
4
|
+
data.tar.gz: 1558e56312461e98faafb733334af9cb995fc39facf6424a249158cd1542a024
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54e6edfead77fb9e6065af8b09d3ee6998ea9bf5171ada9c4846dfcebfd0802d97c7c0708caffd9568b0e50ee7bf36c42813bcc3e21a7b50285bf37ba0693b3b
|
7
|
+
data.tar.gz: 48065bb8017587ee8c83f22b15337f2e7b2133560d466a0f91b9efc42ed6859337cacd2cc80f2e07883cd0571d3cf298daa6912cd9e07a2d6a01bf97b3f68768
|
data/CHANGELOG
CHANGED
@@ -222,3 +222,11 @@
|
|
222
222
|
|
223
223
|
* Add early loading for types which have attributes conflicting with Ruby reserved words.
|
224
224
|
* Change type checking code to use ObjectSpace to find class objects. This is to find classes with an unbound name.
|
225
|
+
|
226
|
+
=0.9.0
|
227
|
+
|
228
|
+
* Update to support Ruby 2.7, drop support for older Rubies
|
229
|
+
|
230
|
+
=0.9.1
|
231
|
+
|
232
|
+
* fixes in ecore model (make ENamedElement required; set default for EClass::{abstract, interface})
|
data/Project.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
name: rgen
|
2
2
|
gemspec: rgen.gemspec
|
3
3
|
git: https://github.com/mthiede/rgen.git
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.1
|
5
5
|
summary: Ruby Modelling and Generator Framework
|
6
6
|
email: martin dot thiede at gmx de
|
7
7
|
homepage: http://ruby-gen.org
|
@@ -15,7 +15,8 @@ exclude_files: ['**/*.bak']
|
|
15
15
|
encrypt_sources: false
|
16
16
|
dependencies:
|
17
17
|
https://rubygems.org:
|
18
|
-
- {name: nokogiri, version: ['
|
19
|
-
- {name: rake, version: '~> 12.0',
|
20
|
-
- {name: minitest, version: ['~> 5.0', '>= 5.10.1'],
|
21
|
-
- {name: minitest-fail-fast, version: '~> 0.1.0',
|
18
|
+
- {name: nokogiri, version: ['>= 1.11.2', '< 1.12'], development: true}
|
19
|
+
- {name: rake, version: '~> 12.0', development: true}
|
20
|
+
- {name: minitest, version: ['~> 5.0', '>= 5.10.1'], development: true}
|
21
|
+
- {name: minitest-fail-fast, version: '~> 0.1.0', development: true}
|
22
|
+
- {name: andand, version: '1.3.3', development: true}
|
data/Rakefile
CHANGED
data/lib/rgen/ecore/ecore.rb
CHANGED
@@ -12,9 +12,11 @@ module RGen
|
|
12
12
|
extend RGen::MetamodelBuilder::ModuleExtension
|
13
13
|
|
14
14
|
class EObject < RGen::MetamodelBuilder::MMBase
|
15
|
+
abstract
|
15
16
|
end
|
16
17
|
|
17
18
|
class EModelElement < RGen::MetamodelBuilder::MMBase
|
19
|
+
abstract
|
18
20
|
end
|
19
21
|
|
20
22
|
class EAnnotation < RGen::MetamodelBuilder::MMMultiple(EModelElement, EObject)
|
@@ -22,10 +24,12 @@ module RGen
|
|
22
24
|
end
|
23
25
|
|
24
26
|
class ENamedElement < EModelElement
|
25
|
-
|
27
|
+
abstract
|
28
|
+
has_attr 'name', String, :lowerBound => 1
|
26
29
|
end
|
27
30
|
|
28
31
|
class ETypedElement < ENamedElement
|
32
|
+
abstract
|
29
33
|
has_attr 'lowerBound', Integer, :defaultValueLiteral => "0"
|
30
34
|
has_attr 'ordered', Boolean, :defaultValueLiteral => "true"
|
31
35
|
has_attr 'unique', Boolean, :defaultValueLiteral => "true"
|
@@ -43,6 +47,7 @@ module RGen
|
|
43
47
|
end
|
44
48
|
|
45
49
|
class EStructuralFeature < ETypedElement
|
50
|
+
abstract
|
46
51
|
has_attr 'changeable', Boolean, :defaultValueLiteral => "true"
|
47
52
|
has_attr 'defaultValue', Object, :derived=>true
|
48
53
|
has_attr 'defaultValueLiteral', String
|
@@ -76,6 +81,7 @@ module RGen
|
|
76
81
|
end
|
77
82
|
|
78
83
|
class EClassifier < ENamedElement
|
84
|
+
abstract
|
79
85
|
has_attr 'defaultValue', Object, :derived=>true
|
80
86
|
has_attr 'instanceClass', Object, :derived=>true
|
81
87
|
has_attr 'instanceClassName', String
|
@@ -142,8 +148,8 @@ module RGen
|
|
142
148
|
end
|
143
149
|
|
144
150
|
class EClass < EClassifier
|
145
|
-
has_attr 'abstract', Boolean
|
146
|
-
has_attr 'interface', Boolean
|
151
|
+
has_attr 'abstract', Boolean, :defaultValueLiteral => "false"
|
152
|
+
has_attr 'interface', Boolean, :defaultValueLiteral => "false"
|
147
153
|
has_one 'eIDAttribute', ECore::EAttribute, :derived=>true, :resolveProxies=>false
|
148
154
|
|
149
155
|
has_many 'eAllAttributes', ECore::EAttribute, :derived=>true
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rgen/ecore/ecore'
|
2
2
|
require 'json'
|
3
|
+
require 'andand'
|
3
4
|
|
4
5
|
module RGen
|
5
6
|
|
@@ -105,10 +106,9 @@ def eenum(enum)
|
|
105
106
|
merge(edatatype(enum), {
|
106
107
|
:_class_ref => 'RGen.ECore.EEnum',
|
107
108
|
:eLiterals => enum.eLiterals.map do |l|
|
108
|
-
merge(
|
109
|
+
merge(enamedelement(l), {
|
109
110
|
:_class_ref => 'RGen.ECore.EEnumLiteral',
|
110
111
|
:value => l.value,
|
111
|
-
:literal => l.literal
|
112
112
|
})
|
113
113
|
end
|
114
114
|
})
|
@@ -116,6 +116,7 @@ end
|
|
116
116
|
|
117
117
|
def eannotation(e)
|
118
118
|
merge(emodelelement(e), {
|
119
|
+
:_class_ref => 'RGen.ECore.EAnnotation',
|
119
120
|
:source => e.source,
|
120
121
|
:details => e.details.map do |d|
|
121
122
|
merge({}, {
|
@@ -133,8 +134,6 @@ def etypedelement(te)
|
|
133
134
|
:unique => te.unique,
|
134
135
|
:lowerBound => te.lowerBound,
|
135
136
|
:upperBound => te.upperBound,
|
136
|
-
:many => te.many,
|
137
|
-
:required => te.required,
|
138
137
|
:eType => {:_ref => te.eType ? ref_id(te.eType) : nil}
|
139
138
|
})
|
140
139
|
end
|
@@ -172,7 +171,7 @@ def ref_id(obj)
|
|
172
171
|
end
|
173
172
|
|
174
173
|
def ref_parts(obj)
|
175
|
-
return [obj.name] unless obj
|
174
|
+
return [obj.name] unless obj.andand.eContainer
|
176
175
|
ref_parts(obj.eContainer) << obj.name
|
177
176
|
end
|
178
177
|
|
@@ -196,7 +196,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
196
196
|
err = assert_raises StandardError do
|
197
197
|
sc.name = 5
|
198
198
|
end
|
199
|
-
assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
|
199
|
+
assert_match /In (\w+::)+SimpleClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
|
200
200
|
assert_equal "EString", mm::SimpleClass.ecore.eAttributes.find{|a| a.name=="name"}.eType.name
|
201
201
|
|
202
202
|
assert_equal "xtest", sc.stringWithDefault
|
@@ -264,7 +264,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
264
264
|
assert_equal "123456789012345680.0", sprintf("%.1f", sc.floatWithDefault)
|
265
265
|
end
|
266
266
|
sc.floatWithDefault = nil
|
267
|
-
sc.floatWithDefault = BigDecimal
|
267
|
+
sc.floatWithDefault = BigDecimal("123456789012345678.0")
|
268
268
|
assert sc.floatWithDefault.is_a?(BigDecimal)
|
269
269
|
assert_equal "123456789012345678.0", sc.floatWithDefault.to_s("F")
|
270
270
|
|
@@ -298,7 +298,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
298
298
|
err = assert_raises(StandardError) do
|
299
299
|
o.addLiterals(1)
|
300
300
|
end
|
301
|
-
assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
|
301
|
+
assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
|
302
302
|
|
303
303
|
assert_equal [], o.literals
|
304
304
|
o.addLiterals("a")
|
@@ -333,7 +333,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
333
333
|
err = assert_raises(StandardError) do
|
334
334
|
o.literals = 1
|
335
335
|
end
|
336
|
-
assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
|
336
|
+
assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a Enumerable is expected/, err.message
|
337
337
|
|
338
338
|
o.bools = [true, false, true, false]
|
339
339
|
assert_equal [true, false, true, false], o.bools
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'rgen/metamodel_builder'
|
2
|
+
|
3
|
+
module HouseMetamodel
|
4
|
+
extend RGen::MetamodelBuilder::ModuleExtension
|
5
|
+
include RGen::MetamodelBuilder::DataTypes
|
6
|
+
|
7
|
+
SexEnum = Enum.new(:name => 'SexEnum', :literals =>[ :male, :female ])
|
8
|
+
|
9
|
+
class MeetingPlace < RGen::MetamodelBuilder::MMBase
|
10
|
+
annotation :source => "testmodel", :details => {'complexity' => '1', 'date_created' => '2006-07-12 08:40:46', 'date_modified' => '2006-07-12 08:44:02', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'}
|
11
|
+
end
|
12
|
+
|
13
|
+
class Person < RGen::MetamodelBuilder::MMBase
|
14
|
+
annotation 'complexity' => '1', 'date_created' => '2006-06-27 08:34:23', 'date_modified' => '2006-06-27 08:34:26', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
|
15
|
+
has_attr 'sex', HouseMetamodel::SexEnum
|
16
|
+
has_attr 'id', Long
|
17
|
+
has_many_attr 'nicknames', String
|
18
|
+
end
|
19
|
+
|
20
|
+
class House < RGen::MetamodelBuilder::MMBase
|
21
|
+
annotation 'complexity' => '1', 'date_created' => '2005-09-16 19:52:18', 'date_modified' => '2006-02-28 08:29:19', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD', 'package_name' => 'HouseMetamodel', 'phase' => '1.0', 'status' => 'Proposed', 'stereotype' => 'dummy', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
|
22
|
+
has_attr 'size', Integer
|
23
|
+
has_attr 'module', String
|
24
|
+
has_attr 'address', String, :changeable => false do
|
25
|
+
annotation 'collection' => 'false', 'containment' => 'Not Specified', 'derived' => '0', 'duplicates' => '0', 'ea_guid' => '{A8DF581B-9AC6-4f75-AB48-8FAEDFC6E068}', 'lowerBound' => '1', 'ordered' => '0', 'position' => '0', 'styleex' => 'volatile=0;', 'type' => 'String', 'upperBound' => '1'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
module Rooms
|
31
|
+
extend RGen::MetamodelBuilder::ModuleExtension
|
32
|
+
include RGen::MetamodelBuilder::DataTypes
|
33
|
+
|
34
|
+
|
35
|
+
class Room < RGen::MetamodelBuilder::MMBase
|
36
|
+
abstract
|
37
|
+
annotation 'complexity' => '1', 'date_created' => '2005-09-16 19:52:28', 'date_modified' => '2006-06-22 21:15:25', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
|
38
|
+
end
|
39
|
+
|
40
|
+
class Bathroom < Room
|
41
|
+
annotation 'complexity' => '1', 'date_created' => '2006-06-27 08:32:25', 'date_modified' => '2006-06-27 08:34:23', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
|
42
|
+
end
|
43
|
+
|
44
|
+
class Kitchen < RGen::MetamodelBuilder::MMMultiple(HouseMetamodel::MeetingPlace, Room)
|
45
|
+
annotation 'complexity' => '1', 'date_created' => '2005-11-30 19:26:13', 'date_modified' => '2006-06-22 21:15:34', 'ea_ntype' => '0', 'ea_stype' => 'Class', 'gentype' => 'Java', 'isSpecification' => 'false', 'package' => 'EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08', 'package_name' => 'Rooms', 'phase' => '1.0', 'status' => 'Proposed', 'style' => 'BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;', 'tagged' => '0', 'version' => '1.0'
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
module DependingOnRooms
|
51
|
+
extend RGen::MetamodelBuilder::ModuleExtension
|
52
|
+
include RGen::MetamodelBuilder::DataTypes
|
53
|
+
|
54
|
+
|
55
|
+
class RoomSub < HouseMetamodel::Rooms::Room
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
HouseMetamodel::Person.has_many 'home', HouseMetamodel::House do
|
62
|
+
annotation 'containment' => 'Unspecified'
|
63
|
+
end
|
64
|
+
HouseMetamodel::House.has_one 'bathroom', HouseMetamodel::Rooms::Bathroom, :lowerBound => 1, :transient => true
|
65
|
+
HouseMetamodel::House.one_to_one 'kitchen', HouseMetamodel::Rooms::Kitchen, 'house', :lowerBound => 1, :opposite_lowerBound => 1 do
|
66
|
+
annotation 'containment' => 'Unspecified'
|
67
|
+
opposite_annotation 'containment' => 'Unspecified'
|
68
|
+
end
|
69
|
+
HouseMetamodel::House.contains_many 'room', HouseMetamodel::Rooms::Room, 'house', :lowerBound => 1 do
|
70
|
+
opposite_annotation 'containment' => 'Unspecified'
|
71
|
+
end
|
@@ -0,0 +1,162 @@
|
|
1
|
+
<ecore:EPackage name="HouseMetamodel" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
|
2
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::MeetingPlace" name="MeetingPlace" eSubTypes="#//Rooms/Kitchen" xsi:type="ecore:EClass">
|
3
|
+
<eAnnotations source="testmodel" xsi:type="ecore:EAnnotation">
|
4
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
5
|
+
<details key="date_created" value="2006-07-12 08:40:46" xsi:type="ecore:EStringToStringMapEntry"/>
|
6
|
+
<details key="date_modified" value="2006-07-12 08:44:02" xsi:type="ecore:EStringToStringMapEntry"/>
|
7
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
8
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
9
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
10
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
11
|
+
<details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
|
12
|
+
<details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
|
13
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
14
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
15
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
16
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
17
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
18
|
+
</eAnnotations>
|
19
|
+
</eClassifiers>
|
20
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Person" name="Person" xsi:type="ecore:EClass">
|
21
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="sex" eType="#//SexEnum" xsi:type="ecore:EAttribute"/>
|
22
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
|
23
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="-1" name="nicknames" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
|
24
|
+
<eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="-1" name="home" eType="#//House" xsi:type="ecore:EReference">
|
25
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
26
|
+
<details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
|
27
|
+
</eAnnotations>
|
28
|
+
</eStructuralFeatures>
|
29
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
30
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
31
|
+
<details key="date_created" value="2006-06-27 08:34:23" xsi:type="ecore:EStringToStringMapEntry"/>
|
32
|
+
<details key="date_modified" value="2006-06-27 08:34:26" xsi:type="ecore:EStringToStringMapEntry"/>
|
33
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
34
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
35
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
36
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
37
|
+
<details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
|
38
|
+
<details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
|
39
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
40
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
41
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
42
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
43
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
44
|
+
</eAnnotations>
|
45
|
+
</eClassifiers>
|
46
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::House" name="House" xsi:type="ecore:EClass">
|
47
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
|
48
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="module" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
|
49
|
+
<eStructuralFeatures iD="false" changeable="false" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute">
|
50
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
51
|
+
<details key="collection" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
52
|
+
<details key="containment" value="Not Specified" xsi:type="ecore:EStringToStringMapEntry"/>
|
53
|
+
<details key="derived" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
54
|
+
<details key="duplicates" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
55
|
+
<details key="ea_guid" value="{A8DF581B-9AC6-4f75-AB48-8FAEDFC6E068}" xsi:type="ecore:EStringToStringMapEntry"/>
|
56
|
+
<details key="lowerBound" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
57
|
+
<details key="ordered" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
58
|
+
<details key="position" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
59
|
+
<details key="styleex" value="volatile=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
60
|
+
<details key="type" value="String" xsi:type="ecore:EStringToStringMapEntry"/>
|
61
|
+
<details key="upperBound" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
62
|
+
</eAnnotations>
|
63
|
+
</eStructuralFeatures>
|
64
|
+
<eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="true" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="bathroom" eType="#//Rooms/Bathroom" xsi:type="ecore:EReference"/>
|
65
|
+
<eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="kitchen" eOpposite="#//Rooms/Kitchen/house" eType="#//Rooms/Kitchen" xsi:type="ecore:EReference">
|
66
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
67
|
+
<details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
|
68
|
+
</eAnnotations>
|
69
|
+
</eStructuralFeatures>
|
70
|
+
<eStructuralFeatures containment="true" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="-1" name="room" eOpposite="#//Rooms/Room/house" eType="#//Rooms/Room" xsi:type="ecore:EReference"/>
|
71
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
72
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
73
|
+
<details key="date_created" value="2005-09-16 19:52:18" xsi:type="ecore:EStringToStringMapEntry"/>
|
74
|
+
<details key="date_modified" value="2006-02-28 08:29:19" xsi:type="ecore:EStringToStringMapEntry"/>
|
75
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
76
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
77
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
78
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
79
|
+
<details key="package" value="EAPK_A1B83D59_CAE1_422c_BA5F_D3624D7156AD" xsi:type="ecore:EStringToStringMapEntry"/>
|
80
|
+
<details key="package_name" value="HouseMetamodel" xsi:type="ecore:EStringToStringMapEntry"/>
|
81
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
82
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
83
|
+
<details key="stereotype" value="dummy" xsi:type="ecore:EStringToStringMapEntry"/>
|
84
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
85
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
86
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
87
|
+
</eAnnotations>
|
88
|
+
</eClassifiers>
|
89
|
+
<eClassifiers instanceClassName="HouseMetamodel::SexEnum" name="SexEnum" xsi:type="ecore:EEnum">
|
90
|
+
<eLiterals name="male" xsi:type="ecore:EEnumLiteral"/>
|
91
|
+
<eLiterals name="female" xsi:type="ecore:EEnumLiteral"/>
|
92
|
+
</eClassifiers>
|
93
|
+
<eSubpackages name="Rooms" xsi:type="ecore:EPackage">
|
94
|
+
<eClassifiers abstract="true" interface="false" instanceClassName="HouseMetamodel::Rooms::Room" name="Room" eSubTypes="#//Rooms/Bathroom #//Rooms/Kitchen #//DependingOnRooms/RoomSub" xsi:type="ecore:EClass">
|
95
|
+
<eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="house" eOpposite="#//House/room" eType="#//House" xsi:type="ecore:EReference">
|
96
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
97
|
+
<details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
|
98
|
+
</eAnnotations>
|
99
|
+
</eStructuralFeatures>
|
100
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
101
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
102
|
+
<details key="date_created" value="2005-09-16 19:52:28" xsi:type="ecore:EStringToStringMapEntry"/>
|
103
|
+
<details key="date_modified" value="2006-06-22 21:15:25" xsi:type="ecore:EStringToStringMapEntry"/>
|
104
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
105
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
106
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
107
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
108
|
+
<details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
|
109
|
+
<details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
|
110
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
111
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
112
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
113
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
114
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
115
|
+
</eAnnotations>
|
116
|
+
</eClassifiers>
|
117
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Rooms::Bathroom" name="Bathroom" eSuperTypes="#//Rooms/Room" xsi:type="ecore:EClass">
|
118
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
119
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
120
|
+
<details key="date_created" value="2006-06-27 08:32:25" xsi:type="ecore:EStringToStringMapEntry"/>
|
121
|
+
<details key="date_modified" value="2006-06-27 08:34:23" xsi:type="ecore:EStringToStringMapEntry"/>
|
122
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
123
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
124
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
125
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
126
|
+
<details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
|
127
|
+
<details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
|
128
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
129
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
130
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
131
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
132
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
133
|
+
</eAnnotations>
|
134
|
+
</eClassifiers>
|
135
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::Rooms::Kitchen" name="Kitchen" eSuperTypes="#//MeetingPlace #//Rooms/Room" xsi:type="ecore:EClass">
|
136
|
+
<eStructuralFeatures containment="false" resolveProxies="true" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="1" ordered="true" unique="true" upperBound="1" name="house" eOpposite="#//House/kitchen" eType="#//House" xsi:type="ecore:EReference">
|
137
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
138
|
+
<details key="containment" value="Unspecified" xsi:type="ecore:EStringToStringMapEntry"/>
|
139
|
+
</eAnnotations>
|
140
|
+
</eStructuralFeatures>
|
141
|
+
<eAnnotations xsi:type="ecore:EAnnotation">
|
142
|
+
<details key="complexity" value="1" xsi:type="ecore:EStringToStringMapEntry"/>
|
143
|
+
<details key="date_created" value="2005-11-30 19:26:13" xsi:type="ecore:EStringToStringMapEntry"/>
|
144
|
+
<details key="date_modified" value="2006-06-22 21:15:34" xsi:type="ecore:EStringToStringMapEntry"/>
|
145
|
+
<details key="ea_ntype" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
146
|
+
<details key="ea_stype" value="Class" xsi:type="ecore:EStringToStringMapEntry"/>
|
147
|
+
<details key="gentype" value="Java" xsi:type="ecore:EStringToStringMapEntry"/>
|
148
|
+
<details key="isSpecification" value="false" xsi:type="ecore:EStringToStringMapEntry"/>
|
149
|
+
<details key="package" value="EAPK_F9D8C6E3_4DAD_4aa2_AD47_D0ABA4E93E08" xsi:type="ecore:EStringToStringMapEntry"/>
|
150
|
+
<details key="package_name" value="Rooms" xsi:type="ecore:EStringToStringMapEntry"/>
|
151
|
+
<details key="phase" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
152
|
+
<details key="status" value="Proposed" xsi:type="ecore:EStringToStringMapEntry"/>
|
153
|
+
<details key="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;" xsi:type="ecore:EStringToStringMapEntry"/>
|
154
|
+
<details key="tagged" value="0" xsi:type="ecore:EStringToStringMapEntry"/>
|
155
|
+
<details key="version" value="1.0" xsi:type="ecore:EStringToStringMapEntry"/>
|
156
|
+
</eAnnotations>
|
157
|
+
</eClassifiers>
|
158
|
+
</eSubpackages>
|
159
|
+
<eSubpackages name="DependingOnRooms" xsi:type="ecore:EPackage">
|
160
|
+
<eClassifiers abstract="false" interface="false" instanceClassName="HouseMetamodel::DependingOnRooms::RoomSub" name="RoomSub" eSuperTypes="#//Rooms/Room" xsi:type="ecore:EClass"/>
|
161
|
+
</eSubpackages>
|
162
|
+
</ecore:EPackage>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<ecore:EPackage name="P1" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
|
2
|
-
<eClassifiers name="C1" xsi:type="ecore:EClass">
|
2
|
+
<eClassifiers abstract="false" interface="false" name="C1" xsi:type="ecore:EClass">
|
3
3
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
|
4
4
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
|
5
5
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a3" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<ecore:EPackage name="P1" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
|
2
|
+
<eClassifiers abstract="false" interface="false" name="C1" xsi:type="ecore:EClass">
|
3
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
|
4
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
|
5
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a3" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
|
6
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a4" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" xsi:type="ecore:EAttribute"/>
|
7
|
+
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a5" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" xsi:type="ecore:EAttribute"/>
|
8
|
+
</eClassifiers>
|
9
|
+
</ecore:EPackage>
|
@@ -0,0 +1,113 @@
|
|
1
|
+
ePackage "ECore", :eSuperPackage => "" do
|
2
|
+
eClass "EObject", :abstract => true, :instanceClassName => "RGen::ECore::EObject"
|
3
|
+
eClass "EModelElement", :abstract => true, :instanceClassName => "RGen::ECore::EModelElement" do
|
4
|
+
eReference "eAnnotations", :containment => true, :resolveProxies => false, :eOpposite => "EAnnotation.eModelElement", :upperBound => -1, :eType => "EAnnotation"
|
5
|
+
end
|
6
|
+
eClass "EAnnotation", :eSuperTypes => ["EModelElement", "EObject"], :instanceClassName => "RGen::ECore::EAnnotation" do
|
7
|
+
eAttribute "source", :eType => ""
|
8
|
+
eReference "eModelElement", :eOpposite => "EModelElement.eAnnotations", :eType => "EModelElement"
|
9
|
+
eReference "details", :containment => true, :resolveProxies => false, :upperBound => -1, :eType => "EStringToStringMapEntry"
|
10
|
+
eReference "contents", :containment => true, :resolveProxies => false, :upperBound => -1, :eType => "EObject"
|
11
|
+
eReference "references", :upperBound => -1, :eType => "EObject"
|
12
|
+
end
|
13
|
+
eClass "ENamedElement", :abstract => true, :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::ENamedElement" do
|
14
|
+
eAttribute "name", :lowerBound => 1, :eType => ""
|
15
|
+
end
|
16
|
+
eClass "ETypedElement", :abstract => true, :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::ETypedElement" do
|
17
|
+
eAttribute "lowerBound", :defaultValueLiteral => "0", :eType => ""
|
18
|
+
eAttribute "ordered", :defaultValueLiteral => "true", :eType => ""
|
19
|
+
eAttribute "unique", :defaultValueLiteral => "true", :eType => ""
|
20
|
+
eAttribute "upperBound", :defaultValueLiteral => "1", :eType => ""
|
21
|
+
eAttribute "many", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
22
|
+
eAttribute "required", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
23
|
+
eReference "eType", :eType => "EClassifier"
|
24
|
+
end
|
25
|
+
eClass "EStructuralFeature", :abstract => true, :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EStructuralFeature" do
|
26
|
+
eAttribute "changeable", :defaultValueLiteral => "true", :eType => ""
|
27
|
+
eAttribute "defaultValue", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
28
|
+
eAttribute "defaultValueLiteral", :eType => ""
|
29
|
+
eAttribute "derived", :defaultValueLiteral => "false", :eType => ""
|
30
|
+
eAttribute "transient", :defaultValueLiteral => "false", :eType => ""
|
31
|
+
eAttribute "unsettable", :defaultValueLiteral => "false", :eType => ""
|
32
|
+
eAttribute "volatile", :defaultValueLiteral => "false", :eType => ""
|
33
|
+
eReference "eContainingClass", :eOpposite => "EClass.eStructuralFeatures", :eType => "EClass"
|
34
|
+
end
|
35
|
+
eClass "EAttribute", :eSuperTypes => ["EStructuralFeature"], :instanceClassName => "RGen::ECore::EAttribute" do
|
36
|
+
eAttribute "iD", :defaultValueLiteral => "false", :eType => ""
|
37
|
+
eReference "eAttributeType", :changeable => false, :derived => true, :transient => true, :volatile => true, :lowerBound => 1, :eType => "EDataType"
|
38
|
+
end
|
39
|
+
eClass "EClassifier", :abstract => true, :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EClassifier" do
|
40
|
+
eAttribute "defaultValue", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
41
|
+
eAttribute "instanceClass", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
42
|
+
eAttribute "instanceClassName", :eType => ""
|
43
|
+
eReference "ePackage", :eOpposite => "EPackage.eClassifiers", :eType => "EPackage"
|
44
|
+
end
|
45
|
+
eClass "EDataType", :eSuperTypes => ["EClassifier"], :instanceClassName => "RGen::ECore::EDataType" do
|
46
|
+
eAttribute "serializable", :eType => ""
|
47
|
+
end
|
48
|
+
eClass "EGenericType", :eSuperTypes => ["EDataType"], :instanceClassName => "RGen::ECore::EGenericType" do
|
49
|
+
eReference "eClassifier", :eType => "EDataType"
|
50
|
+
eReference "eParameter", :eOpposite => "EParameter.eGenericType", :eType => "EParameter"
|
51
|
+
eReference "eTypeArguments", :containment => true, :eOpposite => "ETypeArgument.eGenericType", :upperBound => -1, :eType => "ETypeArgument"
|
52
|
+
end
|
53
|
+
eClass "ETypeArgument", :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::ETypeArgument" do
|
54
|
+
eReference "eClassifier", :eType => "EDataType"
|
55
|
+
eReference "eGenericType", :eOpposite => "EGenericType.eTypeArguments", :eType => "EGenericType"
|
56
|
+
end
|
57
|
+
eClass "EEnum", :eSuperTypes => ["EDataType"], :instanceClassName => "RGen::ECore::EEnum" do
|
58
|
+
eReference "eLiterals", :containment => true, :resolveProxies => false, :eOpposite => "EEnumLiteral.eEnum", :upperBound => -1, :eType => "EEnumLiteral"
|
59
|
+
end
|
60
|
+
eClass "EEnumLiteral", :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EEnumLiteral" do
|
61
|
+
eAttribute "literal", :eType => ""
|
62
|
+
eAttribute "value", :eType => ""
|
63
|
+
eReference "eEnum", :eOpposite => "EEnum.eLiterals", :eType => "EEnum"
|
64
|
+
end
|
65
|
+
eClass "EFactory", :eSuperTypes => ["EModelElement"], :instanceClassName => "RGen::ECore::EFactory" do
|
66
|
+
eReference "ePackage", :resolveProxies => false, :eOpposite => "EPackage.eFactoryInstance", :transient => true, :lowerBound => 1, :eType => "EPackage"
|
67
|
+
end
|
68
|
+
eClass "EOperation", :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EOperation" do
|
69
|
+
eReference "eContainingClass", :eOpposite => "EClass.eOperations", :eType => "EClass"
|
70
|
+
eReference "eParameters", :containment => true, :resolveProxies => false, :eOpposite => "EParameter.eOperation", :upperBound => -1, :eType => "EParameter"
|
71
|
+
eReference "eExceptions", :upperBound => -1, :eType => "EClassifier"
|
72
|
+
end
|
73
|
+
eClass "EPackage", :eSuperTypes => ["ENamedElement"], :instanceClassName => "RGen::ECore::EPackage" do
|
74
|
+
eAttribute "nsPrefix", :eType => ""
|
75
|
+
eAttribute "nsURI", :eType => ""
|
76
|
+
eReference "eClassifiers", :containment => true, :eOpposite => "EClassifier.ePackage", :upperBound => -1, :eType => "EClassifier"
|
77
|
+
eReference "eSubpackages", :containment => true, :eOpposite => "eSuperPackage", :upperBound => -1, :eType => "EPackage"
|
78
|
+
eReference "eSuperPackage", :eOpposite => "eSubpackages", :eType => "EPackage"
|
79
|
+
eReference "eFactoryInstance", :eOpposite => "EFactory.ePackage", :eType => "EFactory"
|
80
|
+
end
|
81
|
+
eClass "EParameter", :eSuperTypes => ["ETypedElement"], :instanceClassName => "RGen::ECore::EParameter" do
|
82
|
+
eReference "eOperation", :eOpposite => "EOperation.eParameters", :eType => "EOperation"
|
83
|
+
eReference "eGenericType", :containment => true, :eOpposite => "EGenericType.eParameter", :eType => "EGenericType"
|
84
|
+
end
|
85
|
+
eClass "EReference", :eSuperTypes => ["EStructuralFeature"], :instanceClassName => "RGen::ECore::EReference" do
|
86
|
+
eAttribute "container", :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => ""
|
87
|
+
eAttribute "containment", :defaultValueLiteral => "false", :eType => ""
|
88
|
+
eAttribute "resolveProxies", :defaultValueLiteral => "true", :eType => ""
|
89
|
+
eReference "eOpposite", :eType => "EReference"
|
90
|
+
eReference "eReferenceType", :changeable => false, :derived => true, :transient => true, :volatile => true, :lowerBound => 1, :eType => "EClass"
|
91
|
+
end
|
92
|
+
eClass "EStringToStringMapEntry", :instanceClassName => "RGen::ECore::EStringToStringMapEntry" do
|
93
|
+
eAttribute "key", :eType => ""
|
94
|
+
eAttribute "value", :eType => ""
|
95
|
+
end
|
96
|
+
eClass "EClass", :eSuperTypes => ["EClassifier"], :instanceClassName => "RGen::ECore::EClass" do
|
97
|
+
eAttribute "abstract", :defaultValueLiteral => "false", :eType => ""
|
98
|
+
eAttribute "interface", :defaultValueLiteral => "false", :eType => ""
|
99
|
+
eReference "eIDAttribute", :resolveProxies => false, :changeable => false, :derived => true, :transient => true, :volatile => true, :eType => "EAttribute"
|
100
|
+
eReference "eAllAttributes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EAttribute"
|
101
|
+
eReference "eAllContainments", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
|
102
|
+
eReference "eAllOperations", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EOperation"
|
103
|
+
eReference "eAllReferences", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
|
104
|
+
eReference "eAllStructuralFeatures", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EStructuralFeature"
|
105
|
+
eReference "eAllSuperTypes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EClass"
|
106
|
+
eReference "eAttributes", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EAttribute"
|
107
|
+
eReference "eReferences", :changeable => false, :derived => true, :transient => true, :volatile => true, :upperBound => -1, :eType => "EReference"
|
108
|
+
eReference "eOperations", :containment => true, :resolveProxies => false, :eOpposite => "EOperation.eContainingClass", :upperBound => -1, :eType => "EOperation"
|
109
|
+
eReference "eStructuralFeatures", :containment => true, :resolveProxies => false, :eOpposite => "EStructuralFeature.eContainingClass", :upperBound => -1, :eType => "EStructuralFeature"
|
110
|
+
eReference "eSuperTypes", :eOpposite => "eSubTypes", :upperBound => -1, :eType => "EClass"
|
111
|
+
eReference "eSubTypes", :eOpposite => "eSuperTypes", :upperBound => -1, :eType => "EClass"
|
112
|
+
end
|
113
|
+
end
|