rgen 0.8.2 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +6 -1
- data/Rakefile +15 -25
- data/lib/rgen/fragment/fragmented_model.rb +2 -0
- data/lib/rgen/fragment/model_fragment.rb +3 -0
- data/lib/rgen/metamodel_builder/builder_extensions.rb +13 -5
- data/lib/rgen/metamodel_builder/builder_runtime.rb +12 -5
- data/test/array_extensions_test.rb +7 -7
- data/test/ea_instantiator_test.rb +2 -2
- data/test/ea_serializer_test.rb +2 -2
- data/test/ecore_self_test.rb +2 -2
- data/test/ecore_to_ruby_test.rb +2 -2
- data/test/environment_test.rb +2 -2
- data/test/json_test.rb +4 -4
- data/test/metamodel_builder_test.rb +69 -42
- data/test/metamodel_from_ecore_test.rb +1 -1
- data/test/metamodel_order_test.rb +2 -2
- data/test/metamodel_roundtrip_test.rb +2 -2
- data/test/method_delegation_test.rb +5 -5
- data/test/model_builder/builder_context_test.rb +3 -3
- data/test/model_builder/builder_test.rb +11 -11
- data/test/model_builder/reference_resolver_test.rb +3 -3
- data/test/model_builder/serializer_test.rb +2 -2
- data/test/model_fragment_test.rb +2 -2
- data/test/output_handler_test.rb +2 -2
- data/test/qualified_name_provider_test.rb +2 -2
- data/test/qualified_name_resolver_test.rb +4 -4
- data/test/reference_resolver_test.rb +4 -4
- data/test/rgen_test.rb +1 -1
- data/test/template_language_test.rb +6 -8
- data/test/testmodel/class_model_checker.rb +17 -17
- data/test/testmodel/ecore_model_checker.rb +13 -13
- data/test/testmodel/object_model_checker.rb +6 -6
- data/test/transformer_test.rb +3 -3
- data/test/util/file_cache_map_test.rb +2 -2
- data/test/util/pattern_matcher_test.rb +7 -7
- data/test/xml_instantiator_test/simple_ecore_model_checker.rb +12 -12
- data/test/xml_instantiator_test.rb +8 -8
- metadata +54 -23
- data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +0 -71
- data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +0 -162
- data/test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore +0 -9
- data/test/model_builder/ecore_internal.rb +0 -113
- data/test/template_language_test/line_endings_mixed.txt +0 -2
- data/test/template_language_test/line_endings_unix.txt +0 -2
- data/test/template_language_test/line_endings_windows.txt +0 -2
- data/test/testmodel/ea_testmodel_regenerated.xml +0 -813
- data/test/util/file_cache_map_test/testdir/fileA +0 -1
@@ -10,7 +10,7 @@ module SimpleECoreModelChecker
|
|
10
10
|
|
11
11
|
# check main package
|
12
12
|
mainPackage = env.elements.select {|e| e.is_a? EPackage and e.name == "HouseMetamodel"}.first
|
13
|
-
|
13
|
+
assert mainPackage != nil
|
14
14
|
|
15
15
|
# check Rooms package
|
16
16
|
assert mainPackage.eSubpackages.is_a?(Array)
|
@@ -26,9 +26,9 @@ module SimpleECoreModelChecker
|
|
26
26
|
houseClass = mainPackage.eClassifiers.select{|c| c.name == "House"}.first
|
27
27
|
personClass = mainPackage.eClassifiers.select{|c| c.name == "Person"}.first
|
28
28
|
meetingPlaceClass = mainPackage.eClassifiers.select{|c| c.name == "MeetingPlace"}.first
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
assert houseClass != nil
|
30
|
+
assert personClass != nil
|
31
|
+
assert meetingPlaceClass != nil
|
32
32
|
|
33
33
|
# check Rooms package classes
|
34
34
|
assert roomsPackage.eClassifiers.is_a?(Array)
|
@@ -37,9 +37,9 @@ module SimpleECoreModelChecker
|
|
37
37
|
roomClass = roomsPackage.eClassifiers.select{|c| c.name == "Room"}.first
|
38
38
|
kitchenClass = roomsPackage.eClassifiers.select{|c| c.name == "Kitchen"}.first
|
39
39
|
bathroomClass = roomsPackage.eClassifiers.select{|c| c.name == "Bathroom"}.first
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
assert roomClass != nil
|
41
|
+
assert kitchenClass != nil
|
42
|
+
assert bathroomClass != nil
|
43
43
|
|
44
44
|
# check Room inheritance
|
45
45
|
assert kitchenClass.eSuperTypes.is_a?(Array)
|
@@ -58,7 +58,7 @@ module SimpleECoreModelChecker
|
|
58
58
|
assert_equal "room", roomRef.name
|
59
59
|
assert_equal 1, roomRef.lowerBound
|
60
60
|
assert_equal(-1, roomRef.upperBound)
|
61
|
-
|
61
|
+
assert roomRef.eOpposite != nil
|
62
62
|
assert_equal houseClass.object_id, roomRef.eOpposite.eType.object_id
|
63
63
|
|
64
64
|
partOfRefs = roomClass.eReferences.select{|r| r.eOpposite && r.eOpposite.containment}
|
@@ -73,10 +73,10 @@ module SimpleECoreModelChecker
|
|
73
73
|
bathRef = houseClass.eReferences.find {|e| e.name == "bathroom"}
|
74
74
|
kitchenRef = houseClass.eReferences.find {|e| e.name == "kitchen"}
|
75
75
|
roomRef = houseClass.eReferences.find {|e| e.name == "room"}
|
76
|
-
|
76
|
+
assert bathRef != nil
|
77
77
|
assert_nil bathRef.eOpposite
|
78
|
-
|
79
|
-
|
78
|
+
assert kitchenRef != nil
|
79
|
+
assert roomRef != nil
|
80
80
|
assert_equal 1, kitchenRef.lowerBound
|
81
81
|
assert_equal 1, kitchenRef.upperBound
|
82
82
|
assert_equal 1, roomRef.lowerBound
|
@@ -86,7 +86,7 @@ module SimpleECoreModelChecker
|
|
86
86
|
houseInRefs = env.find(:class => EReference, :eType => houseClass)
|
87
87
|
assert_equal 3, houseInRefs.size
|
88
88
|
homeEnd = houseInRefs.find{|e| e.name == "home"}
|
89
|
-
|
89
|
+
assert homeEnd != nil
|
90
90
|
assert_equal 0, homeEnd.lowerBound
|
91
91
|
assert_equal(-1, homeEnd.upperBound)
|
92
92
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
$:.unshift File.join(File.dirname(__FILE__),"..","lib")
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'minitest/autorun'
|
4
4
|
require 'rgen/instantiator/default_xml_instantiator'
|
5
5
|
require 'rgen/environment'
|
6
6
|
require 'rgen/util/model_dumper'
|
@@ -18,7 +18,7 @@ module DefaultMM
|
|
18
18
|
Person.one_to_one 'personalRoom', MNS::Room, 'inhabitant'
|
19
19
|
end
|
20
20
|
|
21
|
-
class XMLInstantiatorTest < Test
|
21
|
+
class XMLInstantiatorTest < MiniTest::Test
|
22
22
|
|
23
23
|
XML_DIR = File.join(File.dirname(__FILE__),"testmodel")
|
24
24
|
|
@@ -96,7 +96,7 @@ class XMLInstantiatorTest < Test::Unit::TestCase
|
|
96
96
|
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
|
97
97
|
|
98
98
|
house = env.find(:class => DefaultMM::MNS::House).first
|
99
|
-
|
99
|
+
assert house != nil
|
100
100
|
assert_equal 2, house.room.size
|
101
101
|
|
102
102
|
rooms = env.find(:class => DefaultMM::MNS::Room)
|
@@ -104,12 +104,12 @@ class XMLInstantiatorTest < Test::Unit::TestCase
|
|
104
104
|
assert_equal 0, (house.room - rooms).size
|
105
105
|
rooms.each {|r| assert r.parent == house}
|
106
106
|
tomsRoom = rooms.select{|r| r.name == "TomsRoom"}.first
|
107
|
-
|
107
|
+
assert tomsRoom != nil
|
108
108
|
|
109
109
|
persons = env.find(:class => DefaultMM::Person)
|
110
110
|
assert_equal 4, persons.size
|
111
111
|
tom = persons.select{|p| p.name == "Tom"}.first
|
112
|
-
|
112
|
+
assert tom != nil
|
113
113
|
|
114
114
|
assert tom.personalRoom == tomsRoom
|
115
115
|
|
@@ -123,7 +123,7 @@ class XMLInstantiatorTest < Test::Unit::TestCase
|
|
123
123
|
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
|
124
124
|
|
125
125
|
house = env.find(:class => EmptyMM::MNS_House).first
|
126
|
-
|
126
|
+
assert house != nil
|
127
127
|
assert_equal 2, house.mNS_Room.size
|
128
128
|
assert_equal "before kitchen", remove_whitespace_elements(house.chardata)[0].strip
|
129
129
|
assert_equal "after kitchen", remove_whitespace_elements(house.chardata)[1].strip
|
@@ -134,13 +134,13 @@ class XMLInstantiatorTest < Test::Unit::TestCase
|
|
134
134
|
assert_equal 0, (house.mNS_Room - rooms).size
|
135
135
|
rooms.each {|r| assert r.parent == house}
|
136
136
|
tomsRoom = rooms.select{|r| r.name == "TomsRoom"}.first
|
137
|
-
|
137
|
+
assert tomsRoom != nil
|
138
138
|
assert_equal "within toms room", remove_whitespace_elements(tomsRoom.chardata)[0]
|
139
139
|
|
140
140
|
persons = env.find(:class => EmptyMM::Person)
|
141
141
|
assert_equal 4, persons.size
|
142
142
|
tom = persons.select{|p| p.name == "Tom"}.first
|
143
|
-
|
143
|
+
assert tom != nil
|
144
144
|
end
|
145
145
|
|
146
146
|
def remove_whitespace_elements(elements)
|
metadata
CHANGED
@@ -1,15 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Thiede
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
11
|
+
date: 2017-02-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.6.8.1
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.6'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.6.8.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: minitest
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '5.10'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 5.10.1
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '5.10'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 5.10.1
|
13
53
|
description: RGen is a framework for Model Driven Software Development (MDSD) in Ruby.
|
14
54
|
This means that it helps you build Metamodels, instantiate Models, modify and transform
|
15
55
|
Models and finally generate arbitrary textual content from it.
|
@@ -21,6 +61,10 @@ extra_rdoc_files:
|
|
21
61
|
- CHANGELOG
|
22
62
|
- MIT-LICENSE
|
23
63
|
files:
|
64
|
+
- CHANGELOG
|
65
|
+
- MIT-LICENSE
|
66
|
+
- README.rdoc
|
67
|
+
- Rakefile
|
24
68
|
- lib/ea_support/ea_support.rb
|
25
69
|
- lib/ea_support/id_store.rb
|
26
70
|
- lib/ea_support/uml13_ea_metamodel.rb
|
@@ -107,16 +151,12 @@ files:
|
|
107
151
|
- test/metamodel_order_test.rb
|
108
152
|
- test/metamodel_roundtrip_test.rb
|
109
153
|
- test/metamodel_roundtrip_test/TestModel.rb
|
110
|
-
- test/metamodel_roundtrip_test/TestModel_Regenerated.rb
|
111
154
|
- test/metamodel_roundtrip_test/houseMetamodel.ecore
|
112
|
-
- test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore
|
113
155
|
- test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb
|
114
156
|
- test/metamodel_roundtrip_test/using_builtin_types.ecore
|
115
|
-
- test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore
|
116
157
|
- test/method_delegation_test.rb
|
117
158
|
- test/model_builder/builder_context_test.rb
|
118
159
|
- test/model_builder/builder_test.rb
|
119
|
-
- test/model_builder/ecore_internal.rb
|
120
160
|
- test/model_builder/ecore_original.rb
|
121
161
|
- test/model_builder/ecore_original_regenerated.rb
|
122
162
|
- test/model_builder/reference_resolver_test.rb
|
@@ -136,9 +176,6 @@ files:
|
|
136
176
|
- test/template_language_test/expected_result3.txt
|
137
177
|
- test/template_language_test/indentStringTestDefaultIndent.out
|
138
178
|
- test/template_language_test/indentStringTestTabIndent.out
|
139
|
-
- test/template_language_test/line_endings_mixed.txt
|
140
|
-
- test/template_language_test/line_endings_unix.txt
|
141
|
-
- test/template_language_test/line_endings_windows.txt
|
142
179
|
- test/template_language_test/templates/callback_indent_test/a.tpl
|
143
180
|
- test/template_language_test/templates/callback_indent_test/b.tpl
|
144
181
|
- test/template_language_test/templates/code/array.tpl
|
@@ -172,13 +209,11 @@ files:
|
|
172
209
|
- test/testmodel/ea_testmodel.eap
|
173
210
|
- test/testmodel/ea_testmodel.xml
|
174
211
|
- test/testmodel/ea_testmodel_partial.xml
|
175
|
-
- test/testmodel/ea_testmodel_regenerated.xml
|
176
212
|
- test/testmodel/ecore_model_checker.rb
|
177
213
|
- test/testmodel/manual_testmodel.xml
|
178
214
|
- test/testmodel/object_model_checker.rb
|
179
215
|
- test/transformer_test.rb
|
180
216
|
- test/util/file_cache_map_test.rb
|
181
|
-
- test/util/file_cache_map_test/testdir/fileA
|
182
217
|
- test/util/pattern_matcher_test.rb
|
183
218
|
- test/util_test.rb
|
184
219
|
- test/xml_instantiator_test.rb
|
@@ -186,38 +221,34 @@ files:
|
|
186
221
|
- test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb
|
187
222
|
- test/xml_instantiator_test/simple_xmi_metamodel.rb
|
188
223
|
- test/xml_instantiator_test/simple_xmi_to_ecore.rb
|
189
|
-
- README.rdoc
|
190
|
-
- CHANGELOG
|
191
|
-
- MIT-LICENSE
|
192
|
-
- Rakefile
|
193
224
|
homepage: http://ruby-gen.org
|
194
225
|
licenses: []
|
195
226
|
metadata: {}
|
196
227
|
post_install_message:
|
197
228
|
rdoc_options:
|
198
|
-
- --main
|
229
|
+
- "--main"
|
199
230
|
- README.rdoc
|
200
|
-
- -x
|
231
|
+
- "-x"
|
201
232
|
- test
|
202
|
-
- -x
|
233
|
+
- "-x"
|
203
234
|
- metamodels
|
204
|
-
- -x
|
235
|
+
- "-x"
|
205
236
|
- ea_support/uml13*
|
206
237
|
require_paths:
|
207
238
|
- lib
|
208
239
|
required_ruby_version: !ruby/object:Gem::Requirement
|
209
240
|
requirements:
|
210
|
-
- -
|
241
|
+
- - ">="
|
211
242
|
- !ruby/object:Gem::Version
|
212
243
|
version: '0'
|
213
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
245
|
requirements:
|
215
|
-
- -
|
246
|
+
- - ">="
|
216
247
|
- !ruby/object:Gem::Version
|
217
248
|
version: '0'
|
218
249
|
requirements: []
|
219
250
|
rubyforge_project: rgen
|
220
|
-
rubygems_version: 2.
|
251
|
+
rubygems_version: 2.5.2
|
221
252
|
signing_key:
|
222
253
|
specification_version: 4
|
223
254
|
summary: Ruby Modelling and Generator Framework
|
@@ -1,71 +0,0 @@
|
|
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
|
@@ -1,162 +0,0 @@
|
|
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,9 +0,0 @@
|
|
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">
|
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>
|