rgen 0.9.0 → 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 +5 -1
- data/Project.yaml +1 -1
- data/lib/rgen/ecore/ecore.rb +3 -3
- data/lib/rgen/ecore/ecore_to_json.rb +0 -2
- 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 +173 -165
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
@@ -225,4 +225,8 @@
|
|
225
225
|
|
226
226
|
=0.9.0
|
227
227
|
|
228
|
-
* Update to support Ruby 2.7, drop support for older Rubies
|
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
data/lib/rgen/ecore/ecore.rb
CHANGED
@@ -25,7 +25,7 @@ module RGen
|
|
25
25
|
|
26
26
|
class ENamedElement < EModelElement
|
27
27
|
abstract
|
28
|
-
has_attr 'name', String
|
28
|
+
has_attr 'name', String, :lowerBound => 1
|
29
29
|
end
|
30
30
|
|
31
31
|
class ETypedElement < ENamedElement
|
@@ -148,8 +148,8 @@ module RGen
|
|
148
148
|
end
|
149
149
|
|
150
150
|
class EClass < EClassifier
|
151
|
-
has_attr 'abstract', Boolean
|
152
|
-
has_attr 'interface', Boolean
|
151
|
+
has_attr 'abstract', Boolean, :defaultValueLiteral => "false"
|
152
|
+
has_attr 'interface', Boolean, :defaultValueLiteral => "false"
|
153
153
|
has_one 'eIDAttribute', ECore::EAttribute, :derived=>true, :resolveProxies=>false
|
154
154
|
|
155
155
|
has_many 'eAllAttributes', ECore::EAttribute, :derived=>true
|
@@ -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
|