aboutsummaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-04-15 16:23:19 +0200
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-04-15 16:23:19 +0200
commit2531cfb60d747c261a20201415728beb0e24ab9b (patch)
tree0d7a242c674d735879e8c017bda7212e7ad02df2 /Tests
parentMake diversity checking work with optimization (diff)
downloadVIATRA-Generator-2531cfb60d747c261a20201415728beb0e24ab9b.tar.gz
VIATRA-Generator-2531cfb60d747c261a20201415728beb0e24ab9b.tar.zst
VIATRA-Generator-2531cfb60d747c261a20201415728beb0e24ab9b.zip
Satellite constellation case study WIP
Diffstat (limited to 'Tests')
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/META-INF/MANIFEST.MF14
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/generator.vqgen1
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/plugin.properties4
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FAMTerminator.java52
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/Function.java72
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionType.java244
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalArchitectureModel.java42
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalData.java81
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalElement.java109
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInput.java42
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInterface.java73
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalOutput.java42
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitectureFactory.java96
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitecturePackage.java1031
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/InformationLink.java81
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FAMTerminatorImpl.java198
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionImpl.java240
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalArchitectureModelImpl.java153
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalDataImpl.java270
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalElementImpl.java318
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInputImpl.java166
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInterfaceImpl.java245
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalOutputImpl.java166
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitectureFactoryImpl.java228
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitecturePackageImpl.java575
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/InformationLinkImpl.java289
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureAdapterFactory.java272
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureSwitch.java289
28 files changed, 5389 insertions, 4 deletions
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/META-INF/MANIFEST.MF b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/META-INF/MANIFEST.MF
index 290b5a22..8c6ae636 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/META-INF/MANIFEST.MF
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/META-INF/MANIFEST.MF
@@ -1,10 +1,17 @@
1Manifest-Version: 1.0 1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2 2Bundle-ManifestVersion: 2
3Bundle-Name: FAMTest 3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.application.FAMTest;singleton:=true 4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.application.FAMTest;singleton:=true
5Bundle-Version: 1.0.0.qualifier 5Bundle-Version: 1.0.0.qualifier
6Export-Package: hu.bme.mit.inf.dslreasoner.application.FAMTest 6Bundle-ClassPath: .
7Require-Bundle: org.eclipse.emf.ecore, 7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.application.FAMTest,
10 functionalarchitecture,
11 functionalarchitecture.impl,
12 functionalarchitecture.util
13Require-Bundle: org.eclipse.core.runtime,
14 org.eclipse.emf.ecore;visibility:=reexport,
8 org.eclipse.viatra.query.runtime, 15 org.eclipse.viatra.query.runtime,
9 org.eclipse.viatra.query.runtime.rete, 16 org.eclipse.viatra.query.runtime.rete,
10 org.eclipse.viatra.query.runtime.localsearch, 17 org.eclipse.viatra.query.runtime.localsearch,
@@ -13,6 +20,7 @@ Require-Bundle: org.eclipse.emf.ecore,
13 org.eclipse.xtend.lib, 20 org.eclipse.xtend.lib,
14 org.eclipse.xtend.lib.macro, 21 org.eclipse.xtend.lib.macro,
15 hu.bme.mit.inf.dslreasoner.application;bundle-version="1.0.0";visibility:=reexport 22 hu.bme.mit.inf.dslreasoner.application;bundle-version="1.0.0";visibility:=reexport
23Bundle-ActivationPolicy: lazy
16Bundle-RequiredExecutionEnvironment: JavaSE-1.8 24Bundle-RequiredExecutionEnvironment: JavaSE-1.8
17Import-Package: org.apache.log4j;version="1.2.15", 25Import-Package: org.apache.log4j;version="1.2.15",
18 org.junit;version="4.12.0" 26 org.junit;version="4.12.0"
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/generator.vqgen b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/generator.vqgen
deleted file mode 100644
index daba017b..00000000
--- a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/generator.vqgen
+++ /dev/null
@@ -1 +0,0 @@
1genmodel "platform:/resource/hu.bme.mit.inf.dslreasoner.application.FAMTest/inputs/FamMetamodel.genmodel" \ No newline at end of file
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/plugin.properties b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/plugin.properties
new file mode 100644
index 00000000..59843fcd
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = FAMTest
4providerName = www.example.org
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FAMTerminator.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FAMTerminator.java
new file mode 100644
index 00000000..5d4bd9ba
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FAMTerminator.java
@@ -0,0 +1,52 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>FAM Terminator</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.FAMTerminator#getData <em>Data</em>}</li>
17 * </ul>
18 *
19 * @see functionalarchitecture.FunctionalarchitecturePackage#getFAMTerminator()
20 * @model
21 * @generated
22 */
23public interface FAMTerminator extends EObject {
24 /**
25 * Returns the value of the '<em><b>Data</b></em>' container reference.
26 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalData#getTerminator <em>Terminator</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Data</em>' container reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Data</em>' container reference.
34 * @see #setData(FunctionalData)
35 * @see functionalarchitecture.FunctionalarchitecturePackage#getFAMTerminator_Data()
36 * @see functionalarchitecture.FunctionalData#getTerminator
37 * @model opposite="terminator" transient="false"
38 * @generated
39 */
40 FunctionalData getData();
41
42 /**
43 * Sets the value of the '{@link functionalarchitecture.FAMTerminator#getData <em>Data</em>}' container reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Data</em>' container reference.
47 * @see #getData()
48 * @generated
49 */
50 void setData(FunctionalData value);
51
52} // FAMTerminator
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/Function.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/Function.java
new file mode 100644
index 00000000..afc2ac39
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/Function.java
@@ -0,0 +1,72 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Function</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.Function#getSubElements <em>Sub Elements</em>}</li>
17 * <li>{@link functionalarchitecture.Function#getType <em>Type</em>}</li>
18 * </ul>
19 *
20 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunction()
21 * @model
22 * @generated
23 */
24public interface Function extends FunctionalElement {
25 /**
26 * Returns the value of the '<em><b>Sub Elements</b></em>' containment reference list.
27 * The list contents are of type {@link functionalarchitecture.FunctionalElement}.
28 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalElement#getParent <em>Parent</em>}'.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Sub Elements</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Sub Elements</em>' containment reference list.
36 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunction_SubElements()
37 * @see functionalarchitecture.FunctionalElement#getParent
38 * @model opposite="parent" containment="true"
39 * @generated
40 */
41 EList<FunctionalElement> getSubElements();
42
43 /**
44 * Returns the value of the '<em><b>Type</b></em>' attribute.
45 * The literals are from the enumeration {@link functionalarchitecture.FunctionType}.
46 * <!-- begin-user-doc -->
47 * <p>
48 * If the meaning of the '<em>Type</em>' attribute isn't clear,
49 * there really should be more of a description here...
50 * </p>
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Type</em>' attribute.
53 * @see functionalarchitecture.FunctionType
54 * @see #setType(FunctionType)
55 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunction_Type()
56 * @model required="true"
57 * @generated
58 */
59 FunctionType getType();
60
61 /**
62 * Sets the value of the '{@link functionalarchitecture.Function#getType <em>Type</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Type</em>' attribute.
66 * @see functionalarchitecture.FunctionType
67 * @see #getType()
68 * @generated
69 */
70 void setType(FunctionType value);
71
72} // Function
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionType.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionType.java
new file mode 100644
index 00000000..f98f3888
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionType.java
@@ -0,0 +1,244 @@
1/**
2 */
3package functionalarchitecture;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Function Type</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionType()
17 * @model
18 * @generated
19 */
20public enum FunctionType implements Enumerator {
21 /**
22 * The '<em><b>Root</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #ROOT_VALUE
26 * @generated
27 * @ordered
28 */
29 ROOT(0, "Root", "Root"),
30
31 /**
32 * The '<em><b>Intermediate</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #INTERMEDIATE_VALUE
36 * @generated
37 * @ordered
38 */
39 INTERMEDIATE(1, "Intermediate", "Intermediate"),
40
41 /**
42 * The '<em><b>Leaf</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #LEAF_VALUE
46 * @generated
47 * @ordered
48 */
49 LEAF(2, "Leaf", "Leaf");
50
51 /**
52 * The '<em><b>Root</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>Root</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @see #ROOT
60 * @model name="Root"
61 * @generated
62 * @ordered
63 */
64 public static final int ROOT_VALUE = 0;
65
66 /**
67 * The '<em><b>Intermediate</b></em>' literal value.
68 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>Intermediate</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc -->
74 * @see #INTERMEDIATE
75 * @model name="Intermediate"
76 * @generated
77 * @ordered
78 */
79 public static final int INTERMEDIATE_VALUE = 1;
80
81 /**
82 * The '<em><b>Leaf</b></em>' literal value.
83 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>Leaf</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc -->
89 * @see #LEAF
90 * @model name="Leaf"
91 * @generated
92 * @ordered
93 */
94 public static final int LEAF_VALUE = 2;
95
96 /**
97 * An array of all the '<em><b>Function Type</b></em>' enumerators.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private static final FunctionType[] VALUES_ARRAY =
103 new FunctionType[] {
104 ROOT,
105 INTERMEDIATE,
106 LEAF,
107 };
108
109 /**
110 * A public read-only list of all the '<em><b>Function Type</b></em>' enumerators.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public static final List<FunctionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
116
117 /**
118 * Returns the '<em><b>Function Type</b></em>' literal with the specified literal value.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @param literal the literal.
122 * @return the matching enumerator or <code>null</code>.
123 * @generated
124 */
125 public static FunctionType get(String literal) {
126 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
127 FunctionType result = VALUES_ARRAY[i];
128 if (result.toString().equals(literal)) {
129 return result;
130 }
131 }
132 return null;
133 }
134
135 /**
136 * Returns the '<em><b>Function Type</b></em>' literal with the specified name.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @param name the name.
140 * @return the matching enumerator or <code>null</code>.
141 * @generated
142 */
143 public static FunctionType getByName(String name) {
144 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
145 FunctionType result = VALUES_ARRAY[i];
146 if (result.getName().equals(name)) {
147 return result;
148 }
149 }
150 return null;
151 }
152
153 /**
154 * Returns the '<em><b>Function Type</b></em>' literal with the specified integer value.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @param value the integer value.
158 * @return the matching enumerator or <code>null</code>.
159 * @generated
160 */
161 public static FunctionType get(int value) {
162 switch (value) {
163 case ROOT_VALUE: return ROOT;
164 case INTERMEDIATE_VALUE: return INTERMEDIATE;
165 case LEAF_VALUE: return LEAF;
166 }
167 return null;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final int value;
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 private final String name;
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 private final String literal;
190
191 /**
192 * Only this class can construct instances.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private FunctionType(int value, String name, String literal) {
198 this.value = value;
199 this.name = name;
200 this.literal = literal;
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public int getValue() {
210 return value;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public String getName() {
220 return name;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public String getLiteral() {
230 return literal;
231 }
232
233 /**
234 * Returns the literal value of the enumerator, which is its string representation.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public String toString() {
241 return literal;
242 }
243
244} //FunctionType
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalArchitectureModel.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalArchitectureModel.java
new file mode 100644
index 00000000..bef8431d
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalArchitectureModel.java
@@ -0,0 +1,42 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Functional Architecture Model</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link functionalarchitecture.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}</li>
19 * </ul>
20 *
21 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalArchitectureModel()
22 * @model
23 * @generated
24 */
25public interface FunctionalArchitectureModel extends EObject {
26 /**
27 * Returns the value of the '<em><b>Root Elements</b></em>' containment reference list.
28 * The list contents are of type {@link functionalarchitecture.FunctionalElement}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Root Elements</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Root Elements</em>' containment reference list.
36 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalArchitectureModel_RootElements()
37 * @model containment="true"
38 * @generated
39 */
40 EList<FunctionalElement> getRootElements();
41
42} // FunctionalArchitectureModel
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalData.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalData.java
new file mode 100644
index 00000000..2b985e23
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalData.java
@@ -0,0 +1,81 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Data</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.FunctionalData#getTerminator <em>Terminator</em>}</li>
17 * <li>{@link functionalarchitecture.FunctionalData#getInterface <em>Interface</em>}</li>
18 * </ul>
19 *
20 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalData()
21 * @model abstract="true"
22 * @generated
23 */
24public interface FunctionalData extends EObject {
25 /**
26 * Returns the value of the '<em><b>Terminator</b></em>' containment reference.
27 * It is bidirectional and its opposite is '{@link functionalarchitecture.FAMTerminator#getData <em>Data</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Terminator</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Terminator</em>' containment reference.
35 * @see #setTerminator(FAMTerminator)
36 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalData_Terminator()
37 * @see functionalarchitecture.FAMTerminator#getData
38 * @model opposite="data" containment="true"
39 * @generated
40 */
41 FAMTerminator getTerminator();
42
43 /**
44 * Sets the value of the '{@link functionalarchitecture.FunctionalData#getTerminator <em>Terminator</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Terminator</em>' containment reference.
48 * @see #getTerminator()
49 * @generated
50 */
51 void setTerminator(FAMTerminator value);
52
53 /**
54 * Returns the value of the '<em><b>Interface</b></em>' container reference.
55 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalInterface#getData <em>Data</em>}'.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Interface</em>' container reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Interface</em>' container reference.
63 * @see #setInterface(functionalarchitecture.FunctionalInterface)
64 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalData_Interface()
65 * @see functionalarchitecture.FunctionalInterface#getData
66 * @model opposite="data" transient="false"
67 * @generated
68 */
69 functionalarchitecture.FunctionalInterface getInterface();
70
71 /**
72 * Sets the value of the '{@link functionalarchitecture.FunctionalData#getInterface <em>Interface</em>}' container reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Interface</em>' container reference.
76 * @see #getInterface()
77 * @generated
78 */
79 void setInterface(functionalarchitecture.FunctionalInterface value);
80
81} // FunctionalData
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalElement.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalElement.java
new file mode 100644
index 00000000..5971f370
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalElement.java
@@ -0,0 +1,109 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Element</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.FunctionalElement#getInterface <em>Interface</em>}</li>
17 * <li>{@link functionalarchitecture.FunctionalElement#getModel <em>Model</em>}</li>
18 * <li>{@link functionalarchitecture.FunctionalElement#getParent <em>Parent</em>}</li>
19 * </ul>
20 *
21 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalElement()
22 * @model abstract="true"
23 * @generated
24 */
25public interface FunctionalElement extends EObject {
26 /**
27 * Returns the value of the '<em><b>Interface</b></em>' containment reference.
28 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalInterface#getElement <em>Element</em>}'.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Interface</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Interface</em>' containment reference.
36 * @see #setInterface(functionalarchitecture.FunctionalInterface)
37 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalElement_Interface()
38 * @see functionalarchitecture.FunctionalInterface#getElement
39 * @model opposite="element" containment="true"
40 * @generated
41 */
42 functionalarchitecture.FunctionalInterface getInterface();
43
44 /**
45 * Sets the value of the '{@link functionalarchitecture.FunctionalElement#getInterface <em>Interface</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @param value the new value of the '<em>Interface</em>' containment reference.
49 * @see #getInterface()
50 * @generated
51 */
52 void setInterface(functionalarchitecture.FunctionalInterface value);
53
54 /**
55 * Returns the value of the '<em><b>Model</b></em>' reference.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Model</em>' reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Model</em>' reference.
63 * @see #setModel(FunctionalArchitectureModel)
64 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalElement_Model()
65 * @model required="true" transient="true" volatile="true" derived="true"
66 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.fam.model'"
67 * @generated
68 */
69 FunctionalArchitectureModel getModel();
70
71 /**
72 * Sets the value of the '{@link functionalarchitecture.FunctionalElement#getModel <em>Model</em>}' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Model</em>' reference.
76 * @see #getModel()
77 * @generated
78 */
79 void setModel(FunctionalArchitectureModel value);
80
81 /**
82 * Returns the value of the '<em><b>Parent</b></em>' container reference.
83 * It is bidirectional and its opposite is '{@link functionalarchitecture.Function#getSubElements <em>Sub Elements</em>}'.
84 * <!-- begin-user-doc -->
85 * <p>
86 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
87 * there really should be more of a description here...
88 * </p>
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Parent</em>' container reference.
91 * @see #setParent(Function)
92 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalElement_Parent()
93 * @see functionalarchitecture.Function#getSubElements
94 * @model opposite="subElements" transient="false"
95 * @generated
96 */
97 Function getParent();
98
99 /**
100 * Sets the value of the '{@link functionalarchitecture.FunctionalElement#getParent <em>Parent</em>}' container reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @param value the new value of the '<em>Parent</em>' container reference.
104 * @see #getParent()
105 * @generated
106 */
107 void setParent(Function value);
108
109} // FunctionalElement
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInput.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInput.java
new file mode 100644
index 00000000..2f511349
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Input</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}</li>
17 * </ul>
18 *
19 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalInput()
20 * @model
21 * @generated
22 */
23public interface FunctionalInput extends FunctionalData {
24 /**
25 * Returns the value of the '<em><b>Incoming Links</b></em>' reference list.
26 * The list contents are of type {@link functionalarchitecture.InformationLink}.
27 * It is bidirectional and its opposite is '{@link functionalarchitecture.InformationLink#getTo <em>To</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Incoming Links</em>' reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Incoming Links</em>' reference list.
35 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalInput_IncomingLinks()
36 * @see functionalarchitecture.InformationLink#getTo
37 * @model opposite="to"
38 * @generated
39 */
40 EList<InformationLink> getIncomingLinks();
41
42} // FunctionalInput
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInterface.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInterface.java
new file mode 100644
index 00000000..e35b82c0
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalInterface.java
@@ -0,0 +1,73 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Functional Interface</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link functionalarchitecture.FunctionalInterface#getData <em>Data</em>}</li>
19 * <li>{@link functionalarchitecture.FunctionalInterface#getElement <em>Element</em>}</li>
20 * </ul>
21 *
22 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalInterface()
23 * @model
24 * @generated
25 */
26public interface FunctionalInterface extends EObject {
27 /**
28 * Returns the value of the '<em><b>Data</b></em>' containment reference list.
29 * The list contents are of type {@link functionalarchitecture.FunctionalData}.
30 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalData#getInterface <em>Interface</em>}'.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Data</em>' containment reference list isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>Data</em>' containment reference list.
38 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalInterface_Data()
39 * @see functionalarchitecture.FunctionalData#getInterface
40 * @model opposite="interface" containment="true"
41 * @generated
42 */
43 EList<FunctionalData> getData();
44
45 /**
46 * Returns the value of the '<em><b>Element</b></em>' container reference.
47 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalElement#getInterface <em>Interface</em>}'.
48 * <!-- begin-user-doc -->
49 * <p>
50 * If the meaning of the '<em>Element</em>' container reference isn't clear,
51 * there really should be more of a description here...
52 * </p>
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Element</em>' container reference.
55 * @see #setElement(FunctionalElement)
56 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalInterface_Element()
57 * @see functionalarchitecture.FunctionalElement#getInterface
58 * @model opposite="interface" transient="false"
59 * @generated
60 */
61 FunctionalElement getElement();
62
63 /**
64 * Sets the value of the '{@link functionalarchitecture.FunctionalInterface#getElement <em>Element</em>}' container reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Element</em>' container reference.
68 * @see #getElement()
69 * @generated
70 */
71 void setElement(FunctionalElement value);
72
73} // FunctionalInterface
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalOutput.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalOutput.java
new file mode 100644
index 00000000..bed905d9
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalOutput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Output</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}</li>
17 * </ul>
18 *
19 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalOutput()
20 * @model
21 * @generated
22 */
23public interface FunctionalOutput extends FunctionalData {
24 /**
25 * Returns the value of the '<em><b>Outgoing Links</b></em>' containment reference list.
26 * The list contents are of type {@link functionalarchitecture.InformationLink}.
27 * It is bidirectional and its opposite is '{@link functionalarchitecture.InformationLink#getFrom <em>From</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Outgoing Links</em>' containment reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Outgoing Links</em>' containment reference list.
35 * @see functionalarchitecture.FunctionalarchitecturePackage#getFunctionalOutput_OutgoingLinks()
36 * @see functionalarchitecture.InformationLink#getFrom
37 * @model opposite="from" containment="true"
38 * @generated
39 */
40 EList<InformationLink> getOutgoingLinks();
41
42} // FunctionalOutput
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitectureFactory.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitectureFactory.java
new file mode 100644
index 00000000..942173de
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitectureFactory.java
@@ -0,0 +1,96 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see functionalarchitecture.FunctionalarchitecturePackage
13 * @generated
14 */
15public interface FunctionalarchitectureFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 FunctionalarchitectureFactory eINSTANCE = functionalarchitecture.impl.FunctionalarchitectureFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Functional Architecture Model</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Functional Architecture Model</em>'.
29 * @generated
30 */
31 FunctionalArchitectureModel createFunctionalArchitectureModel();
32
33 /**
34 * Returns a new object of class '<em>Function</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Function</em>'.
38 * @generated
39 */
40 Function createFunction();
41
42 /**
43 * Returns a new object of class '<em>FAM Terminator</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>FAM Terminator</em>'.
47 * @generated
48 */
49 FAMTerminator createFAMTerminator();
50
51 /**
52 * Returns a new object of class '<em>Information Link</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Information Link</em>'.
56 * @generated
57 */
58 InformationLink createInformationLink();
59
60 /**
61 * Returns a new object of class '<em>Functional Interface</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Functional Interface</em>'.
65 * @generated
66 */
67 FunctionalInterface createFunctionalInterface();
68
69 /**
70 * Returns a new object of class '<em>Functional Input</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Functional Input</em>'.
74 * @generated
75 */
76 FunctionalInput createFunctionalInput();
77
78 /**
79 * Returns a new object of class '<em>Functional Output</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Functional Output</em>'.
83 * @generated
84 */
85 FunctionalOutput createFunctionalOutput();
86
87 /**
88 * Returns the package supported by this factory.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the package supported by this factory.
92 * @generated
93 */
94 FunctionalarchitecturePackage getFunctionalarchitecturePackage();
95
96} //FunctionalarchitectureFactory
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitecturePackage.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitecturePackage.java
new file mode 100644
index 00000000..98fdb72e
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/FunctionalarchitecturePackage.java
@@ -0,0 +1,1031 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each operation of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see functionalarchitecture.FunctionalarchitectureFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface FunctionalarchitecturePackage extends EPackage {
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "functionalarchitecture";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.inf.mit.bme.hu/viatrasolver/example/fam";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "functionalarchitecture";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 FunctionalarchitecturePackage eINSTANCE = functionalarchitecture.impl.FunctionalarchitecturePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see functionalarchitecture.impl.FunctionalElementImpl
65 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalElement()
66 * @generated
67 */
68 int FUNCTIONAL_ELEMENT = 0;
69
70 /**
71 * The feature id for the '<em><b>Interface</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int FUNCTIONAL_ELEMENT__INTERFACE = 0;
78
79 /**
80 * The feature id for the '<em><b>Model</b></em>' reference.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int FUNCTIONAL_ELEMENT__MODEL = 1;
87
88 /**
89 * The feature id for the '<em><b>Parent</b></em>' container reference.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int FUNCTIONAL_ELEMENT__PARENT = 2;
96
97 /**
98 * The number of structural features of the '<em>Functional Element</em>' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int FUNCTIONAL_ELEMENT_FEATURE_COUNT = 3;
105
106 /**
107 * The number of operations of the '<em>Functional Element</em>' class.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 * @ordered
112 */
113 int FUNCTIONAL_ELEMENT_OPERATION_COUNT = 0;
114
115 /**
116 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalArchitectureModelImpl <em>Functional Architecture Model</em>}' class.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @see functionalarchitecture.impl.FunctionalArchitectureModelImpl
120 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalArchitectureModel()
121 * @generated
122 */
123 int FUNCTIONAL_ARCHITECTURE_MODEL = 1;
124
125 /**
126 * The feature id for the '<em><b>Root Elements</b></em>' containment reference list.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = 0;
133
134 /**
135 * The number of structural features of the '<em>Functional Architecture Model</em>' class.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 * @ordered
140 */
141 int FUNCTIONAL_ARCHITECTURE_MODEL_FEATURE_COUNT = 1;
142
143 /**
144 * The number of operations of the '<em>Functional Architecture Model</em>' class.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 * @ordered
149 */
150 int FUNCTIONAL_ARCHITECTURE_MODEL_OPERATION_COUNT = 0;
151
152 /**
153 * The meta object id for the '{@link functionalarchitecture.impl.FunctionImpl <em>Function</em>}' class.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @see functionalarchitecture.impl.FunctionImpl
157 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunction()
158 * @generated
159 */
160 int FUNCTION = 2;
161
162 /**
163 * The feature id for the '<em><b>Interface</b></em>' containment reference.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 * @ordered
168 */
169 int FUNCTION__INTERFACE = FUNCTIONAL_ELEMENT__INTERFACE;
170
171 /**
172 * The feature id for the '<em><b>Model</b></em>' reference.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 * @ordered
177 */
178 int FUNCTION__MODEL = FUNCTIONAL_ELEMENT__MODEL;
179
180 /**
181 * The feature id for the '<em><b>Parent</b></em>' container reference.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 * @ordered
186 */
187 int FUNCTION__PARENT = FUNCTIONAL_ELEMENT__PARENT;
188
189 /**
190 * The feature id for the '<em><b>Sub Elements</b></em>' containment reference list.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 * @ordered
195 */
196 int FUNCTION__SUB_ELEMENTS = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 0;
197
198 /**
199 * The feature id for the '<em><b>Type</b></em>' attribute.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int FUNCTION__TYPE = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 1;
206
207 /**
208 * The number of structural features of the '<em>Function</em>' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 * @ordered
213 */
214 int FUNCTION_FEATURE_COUNT = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 2;
215
216 /**
217 * The number of operations of the '<em>Function</em>' class.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 * @ordered
222 */
223 int FUNCTION_OPERATION_COUNT = FUNCTIONAL_ELEMENT_OPERATION_COUNT + 0;
224
225 /**
226 * The meta object id for the '{@link functionalarchitecture.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @see functionalarchitecture.impl.FAMTerminatorImpl
230 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFAMTerminator()
231 * @generated
232 */
233 int FAM_TERMINATOR = 3;
234
235 /**
236 * The feature id for the '<em><b>Data</b></em>' container reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int FAM_TERMINATOR__DATA = 0;
243
244 /**
245 * The number of structural features of the '<em>FAM Terminator</em>' class.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int FAM_TERMINATOR_FEATURE_COUNT = 1;
252
253 /**
254 * The number of operations of the '<em>FAM Terminator</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int FAM_TERMINATOR_OPERATION_COUNT = 0;
261
262 /**
263 * The meta object id for the '{@link functionalarchitecture.impl.InformationLinkImpl <em>Information Link</em>}' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @see functionalarchitecture.impl.InformationLinkImpl
267 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getInformationLink()
268 * @generated
269 */
270 int INFORMATION_LINK = 4;
271
272 /**
273 * The feature id for the '<em><b>From</b></em>' container reference.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int INFORMATION_LINK__FROM = 0;
280
281 /**
282 * The feature id for the '<em><b>To</b></em>' reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int INFORMATION_LINK__TO = 1;
289
290 /**
291 * The number of structural features of the '<em>Information Link</em>' class.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int INFORMATION_LINK_FEATURE_COUNT = 2;
298
299 /**
300 * The number of operations of the '<em>Information Link</em>' class.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int INFORMATION_LINK_OPERATION_COUNT = 0;
307
308 /**
309 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @see functionalarchitecture.impl.FunctionalInterfaceImpl
313 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalInterface()
314 * @generated
315 */
316 int FUNCTIONAL_INTERFACE = 5;
317
318 /**
319 * The feature id for the '<em><b>Data</b></em>' containment reference list.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 * @ordered
324 */
325 int FUNCTIONAL_INTERFACE__DATA = 0;
326
327 /**
328 * The feature id for the '<em><b>Element</b></em>' container reference.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 * @ordered
333 */
334 int FUNCTIONAL_INTERFACE__ELEMENT = 1;
335
336 /**
337 * The number of structural features of the '<em>Functional Interface</em>' class.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int FUNCTIONAL_INTERFACE_FEATURE_COUNT = 2;
344
345 /**
346 * The number of operations of the '<em>Functional Interface</em>' class.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int FUNCTIONAL_INTERFACE_OPERATION_COUNT = 0;
353
354 /**
355 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @see functionalarchitecture.impl.FunctionalDataImpl
359 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalData()
360 * @generated
361 */
362 int FUNCTIONAL_DATA = 8;
363
364 /**
365 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 * @ordered
370 */
371 int FUNCTIONAL_DATA__TERMINATOR = 0;
372
373 /**
374 * The feature id for the '<em><b>Interface</b></em>' container reference.
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 * @ordered
379 */
380 int FUNCTIONAL_DATA__INTERFACE = 1;
381
382 /**
383 * The number of structural features of the '<em>Functional Data</em>' class.
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 * @ordered
388 */
389 int FUNCTIONAL_DATA_FEATURE_COUNT = 2;
390
391 /**
392 * The number of operations of the '<em>Functional Data</em>' class.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int FUNCTIONAL_DATA_OPERATION_COUNT = 0;
399
400 /**
401 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @see functionalarchitecture.impl.FunctionalInputImpl
405 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalInput()
406 * @generated
407 */
408 int FUNCTIONAL_INPUT = 6;
409
410 /**
411 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 * @ordered
416 */
417 int FUNCTIONAL_INPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
418
419 /**
420 * The feature id for the '<em><b>Interface</b></em>' container reference.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int FUNCTIONAL_INPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
427
428 /**
429 * The feature id for the '<em><b>Incoming Links</b></em>' reference list.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 * @ordered
434 */
435 int FUNCTIONAL_INPUT__INCOMING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
436
437 /**
438 * The number of structural features of the '<em>Functional Input</em>' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 * @ordered
443 */
444 int FUNCTIONAL_INPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
445
446 /**
447 * The number of operations of the '<em>Functional Input</em>' class.
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 * @ordered
452 */
453 int FUNCTIONAL_INPUT_OPERATION_COUNT = FUNCTIONAL_DATA_OPERATION_COUNT + 0;
454
455 /**
456 * The meta object id for the '{@link functionalarchitecture.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see functionalarchitecture.impl.FunctionalOutputImpl
460 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalOutput()
461 * @generated
462 */
463 int FUNCTIONAL_OUTPUT = 7;
464
465 /**
466 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @generated
470 * @ordered
471 */
472 int FUNCTIONAL_OUTPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
473
474 /**
475 * The feature id for the '<em><b>Interface</b></em>' container reference.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 * @ordered
480 */
481 int FUNCTIONAL_OUTPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
482
483 /**
484 * The feature id for the '<em><b>Outgoing Links</b></em>' containment reference list.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @generated
488 * @ordered
489 */
490 int FUNCTIONAL_OUTPUT__OUTGOING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
491
492 /**
493 * The number of structural features of the '<em>Functional Output</em>' class.
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 * @ordered
498 */
499 int FUNCTIONAL_OUTPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
500
501 /**
502 * The number of operations of the '<em>Functional Output</em>' class.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @generated
506 * @ordered
507 */
508 int FUNCTIONAL_OUTPUT_OPERATION_COUNT = FUNCTIONAL_DATA_OPERATION_COUNT + 0;
509
510 /**
511 * The meta object id for the '{@link functionalarchitecture.FunctionType <em>Function Type</em>}' enum.
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @see functionalarchitecture.FunctionType
515 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionType()
516 * @generated
517 */
518 int FUNCTION_TYPE = 9;
519
520
521 /**
522 * Returns the meta object for class '{@link functionalarchitecture.FunctionalElement <em>Functional Element</em>}'.
523 * <!-- begin-user-doc -->
524 * <!-- end-user-doc -->
525 * @return the meta object for class '<em>Functional Element</em>'.
526 * @see functionalarchitecture.FunctionalElement
527 * @generated
528 */
529 EClass getFunctionalElement();
530
531 /**
532 * Returns the meta object for the containment reference '{@link functionalarchitecture.FunctionalElement#getInterface <em>Interface</em>}'.
533 * <!-- begin-user-doc -->
534 * <!-- end-user-doc -->
535 * @return the meta object for the containment reference '<em>Interface</em>'.
536 * @see functionalarchitecture.FunctionalElement#getInterface()
537 * @see #getFunctionalElement()
538 * @generated
539 */
540 EReference getFunctionalElement_Interface();
541
542 /**
543 * Returns the meta object for the reference '{@link functionalarchitecture.FunctionalElement#getModel <em>Model</em>}'.
544 * <!-- begin-user-doc -->
545 * <!-- end-user-doc -->
546 * @return the meta object for the reference '<em>Model</em>'.
547 * @see functionalarchitecture.FunctionalElement#getModel()
548 * @see #getFunctionalElement()
549 * @generated
550 */
551 EReference getFunctionalElement_Model();
552
553 /**
554 * Returns the meta object for the container reference '{@link functionalarchitecture.FunctionalElement#getParent <em>Parent</em>}'.
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @return the meta object for the container reference '<em>Parent</em>'.
558 * @see functionalarchitecture.FunctionalElement#getParent()
559 * @see #getFunctionalElement()
560 * @generated
561 */
562 EReference getFunctionalElement_Parent();
563
564 /**
565 * Returns the meta object for class '{@link functionalarchitecture.FunctionalArchitectureModel <em>Functional Architecture Model</em>}'.
566 * <!-- begin-user-doc -->
567 * <!-- end-user-doc -->
568 * @return the meta object for class '<em>Functional Architecture Model</em>'.
569 * @see functionalarchitecture.FunctionalArchitectureModel
570 * @generated
571 */
572 EClass getFunctionalArchitectureModel();
573
574 /**
575 * Returns the meta object for the containment reference list '{@link functionalarchitecture.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}'.
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @return the meta object for the containment reference list '<em>Root Elements</em>'.
579 * @see functionalarchitecture.FunctionalArchitectureModel#getRootElements()
580 * @see #getFunctionalArchitectureModel()
581 * @generated
582 */
583 EReference getFunctionalArchitectureModel_RootElements();
584
585 /**
586 * Returns the meta object for class '{@link functionalarchitecture.Function <em>Function</em>}'.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @return the meta object for class '<em>Function</em>'.
590 * @see functionalarchitecture.Function
591 * @generated
592 */
593 EClass getFunction();
594
595 /**
596 * Returns the meta object for the containment reference list '{@link functionalarchitecture.Function#getSubElements <em>Sub Elements</em>}'.
597 * <!-- begin-user-doc -->
598 * <!-- end-user-doc -->
599 * @return the meta object for the containment reference list '<em>Sub Elements</em>'.
600 * @see functionalarchitecture.Function#getSubElements()
601 * @see #getFunction()
602 * @generated
603 */
604 EReference getFunction_SubElements();
605
606 /**
607 * Returns the meta object for the attribute '{@link functionalarchitecture.Function#getType <em>Type</em>}'.
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @return the meta object for the attribute '<em>Type</em>'.
611 * @see functionalarchitecture.Function#getType()
612 * @see #getFunction()
613 * @generated
614 */
615 EAttribute getFunction_Type();
616
617 /**
618 * Returns the meta object for class '{@link functionalarchitecture.FAMTerminator <em>FAM Terminator</em>}'.
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @return the meta object for class '<em>FAM Terminator</em>'.
622 * @see functionalarchitecture.FAMTerminator
623 * @generated
624 */
625 EClass getFAMTerminator();
626
627 /**
628 * Returns the meta object for the container reference '{@link functionalarchitecture.FAMTerminator#getData <em>Data</em>}'.
629 * <!-- begin-user-doc -->
630 * <!-- end-user-doc -->
631 * @return the meta object for the container reference '<em>Data</em>'.
632 * @see functionalarchitecture.FAMTerminator#getData()
633 * @see #getFAMTerminator()
634 * @generated
635 */
636 EReference getFAMTerminator_Data();
637
638 /**
639 * Returns the meta object for class '{@link functionalarchitecture.InformationLink <em>Information Link</em>}'.
640 * <!-- begin-user-doc -->
641 * <!-- end-user-doc -->
642 * @return the meta object for class '<em>Information Link</em>'.
643 * @see functionalarchitecture.InformationLink
644 * @generated
645 */
646 EClass getInformationLink();
647
648 /**
649 * Returns the meta object for the container reference '{@link functionalarchitecture.InformationLink#getFrom <em>From</em>}'.
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @return the meta object for the container reference '<em>From</em>'.
653 * @see functionalarchitecture.InformationLink#getFrom()
654 * @see #getInformationLink()
655 * @generated
656 */
657 EReference getInformationLink_From();
658
659 /**
660 * Returns the meta object for the reference '{@link functionalarchitecture.InformationLink#getTo <em>To</em>}'.
661 * <!-- begin-user-doc -->
662 * <!-- end-user-doc -->
663 * @return the meta object for the reference '<em>To</em>'.
664 * @see functionalarchitecture.InformationLink#getTo()
665 * @see #getInformationLink()
666 * @generated
667 */
668 EReference getInformationLink_To();
669
670 /**
671 * Returns the meta object for class '{@link functionalarchitecture.FunctionalInterface <em>Functional Interface</em>}'.
672 * <!-- begin-user-doc -->
673 * <!-- end-user-doc -->
674 * @return the meta object for class '<em>Functional Interface</em>'.
675 * @see functionalarchitecture.FunctionalInterface
676 * @generated
677 */
678 EClass getFunctionalInterface();
679
680 /**
681 * Returns the meta object for the containment reference list '{@link functionalarchitecture.FunctionalInterface#getData <em>Data</em>}'.
682 * <!-- begin-user-doc -->
683 * <!-- end-user-doc -->
684 * @return the meta object for the containment reference list '<em>Data</em>'.
685 * @see functionalarchitecture.FunctionalInterface#getData()
686 * @see #getFunctionalInterface()
687 * @generated
688 */
689 EReference getFunctionalInterface_Data();
690
691 /**
692 * Returns the meta object for the container reference '{@link functionalarchitecture.FunctionalInterface#getElement <em>Element</em>}'.
693 * <!-- begin-user-doc -->
694 * <!-- end-user-doc -->
695 * @return the meta object for the container reference '<em>Element</em>'.
696 * @see functionalarchitecture.FunctionalInterface#getElement()
697 * @see #getFunctionalInterface()
698 * @generated
699 */
700 EReference getFunctionalInterface_Element();
701
702 /**
703 * Returns the meta object for class '{@link functionalarchitecture.FunctionalInput <em>Functional Input</em>}'.
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @return the meta object for class '<em>Functional Input</em>'.
707 * @see functionalarchitecture.FunctionalInput
708 * @generated
709 */
710 EClass getFunctionalInput();
711
712 /**
713 * Returns the meta object for the reference list '{@link functionalarchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}'.
714 * <!-- begin-user-doc -->
715 * <!-- end-user-doc -->
716 * @return the meta object for the reference list '<em>Incoming Links</em>'.
717 * @see functionalarchitecture.FunctionalInput#getIncomingLinks()
718 * @see #getFunctionalInput()
719 * @generated
720 */
721 EReference getFunctionalInput_IncomingLinks();
722
723 /**
724 * Returns the meta object for class '{@link functionalarchitecture.FunctionalOutput <em>Functional Output</em>}'.
725 * <!-- begin-user-doc -->
726 * <!-- end-user-doc -->
727 * @return the meta object for class '<em>Functional Output</em>'.
728 * @see functionalarchitecture.FunctionalOutput
729 * @generated
730 */
731 EClass getFunctionalOutput();
732
733 /**
734 * Returns the meta object for the containment reference list '{@link functionalarchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}'.
735 * <!-- begin-user-doc -->
736 * <!-- end-user-doc -->
737 * @return the meta object for the containment reference list '<em>Outgoing Links</em>'.
738 * @see functionalarchitecture.FunctionalOutput#getOutgoingLinks()
739 * @see #getFunctionalOutput()
740 * @generated
741 */
742 EReference getFunctionalOutput_OutgoingLinks();
743
744 /**
745 * Returns the meta object for class '{@link functionalarchitecture.FunctionalData <em>Functional Data</em>}'.
746 * <!-- begin-user-doc -->
747 * <!-- end-user-doc -->
748 * @return the meta object for class '<em>Functional Data</em>'.
749 * @see functionalarchitecture.FunctionalData
750 * @generated
751 */
752 EClass getFunctionalData();
753
754 /**
755 * Returns the meta object for the containment reference '{@link functionalarchitecture.FunctionalData#getTerminator <em>Terminator</em>}'.
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @return the meta object for the containment reference '<em>Terminator</em>'.
759 * @see functionalarchitecture.FunctionalData#getTerminator()
760 * @see #getFunctionalData()
761 * @generated
762 */
763 EReference getFunctionalData_Terminator();
764
765 /**
766 * Returns the meta object for the container reference '{@link functionalarchitecture.FunctionalData#getInterface <em>Interface</em>}'.
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @return the meta object for the container reference '<em>Interface</em>'.
770 * @see functionalarchitecture.FunctionalData#getInterface()
771 * @see #getFunctionalData()
772 * @generated
773 */
774 EReference getFunctionalData_Interface();
775
776 /**
777 * Returns the meta object for enum '{@link functionalarchitecture.FunctionType <em>Function Type</em>}'.
778 * <!-- begin-user-doc -->
779 * <!-- end-user-doc -->
780 * @return the meta object for enum '<em>Function Type</em>'.
781 * @see functionalarchitecture.FunctionType
782 * @generated
783 */
784 EEnum getFunctionType();
785
786 /**
787 * Returns the factory that creates the instances of the model.
788 * <!-- begin-user-doc -->
789 * <!-- end-user-doc -->
790 * @return the factory that creates the instances of the model.
791 * @generated
792 */
793 FunctionalarchitectureFactory getFunctionalarchitectureFactory();
794
795 /**
796 * <!-- begin-user-doc -->
797 * Defines literals for the meta objects that represent
798 * <ul>
799 * <li>each class,</li>
800 * <li>each feature of each class,</li>
801 * <li>each operation of each class,</li>
802 * <li>each enum,</li>
803 * <li>and each data type</li>
804 * </ul>
805 * <!-- end-user-doc -->
806 * @generated
807 */
808 interface Literals {
809 /**
810 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
811 * <!-- begin-user-doc -->
812 * <!-- end-user-doc -->
813 * @see functionalarchitecture.impl.FunctionalElementImpl
814 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalElement()
815 * @generated
816 */
817 EClass FUNCTIONAL_ELEMENT = eINSTANCE.getFunctionalElement();
818
819 /**
820 * The meta object literal for the '<em><b>Interface</b></em>' containment reference feature.
821 * <!-- begin-user-doc -->
822 * <!-- end-user-doc -->
823 * @generated
824 */
825 EReference FUNCTIONAL_ELEMENT__INTERFACE = eINSTANCE.getFunctionalElement_Interface();
826
827 /**
828 * The meta object literal for the '<em><b>Model</b></em>' reference feature.
829 * <!-- begin-user-doc -->
830 * <!-- end-user-doc -->
831 * @generated
832 */
833 EReference FUNCTIONAL_ELEMENT__MODEL = eINSTANCE.getFunctionalElement_Model();
834
835 /**
836 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 */
841 EReference FUNCTIONAL_ELEMENT__PARENT = eINSTANCE.getFunctionalElement_Parent();
842
843 /**
844 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalArchitectureModelImpl <em>Functional Architecture Model</em>}' class.
845 * <!-- begin-user-doc -->
846 * <!-- end-user-doc -->
847 * @see functionalarchitecture.impl.FunctionalArchitectureModelImpl
848 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalArchitectureModel()
849 * @generated
850 */
851 EClass FUNCTIONAL_ARCHITECTURE_MODEL = eINSTANCE.getFunctionalArchitectureModel();
852
853 /**
854 * The meta object literal for the '<em><b>Root Elements</b></em>' containment reference list feature.
855 * <!-- begin-user-doc -->
856 * <!-- end-user-doc -->
857 * @generated
858 */
859 EReference FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = eINSTANCE.getFunctionalArchitectureModel_RootElements();
860
861 /**
862 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionImpl <em>Function</em>}' class.
863 * <!-- begin-user-doc -->
864 * <!-- end-user-doc -->
865 * @see functionalarchitecture.impl.FunctionImpl
866 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunction()
867 * @generated
868 */
869 EClass FUNCTION = eINSTANCE.getFunction();
870
871 /**
872 * The meta object literal for the '<em><b>Sub Elements</b></em>' containment reference list feature.
873 * <!-- begin-user-doc -->
874 * <!-- end-user-doc -->
875 * @generated
876 */
877 EReference FUNCTION__SUB_ELEMENTS = eINSTANCE.getFunction_SubElements();
878
879 /**
880 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
881 * <!-- begin-user-doc -->
882 * <!-- end-user-doc -->
883 * @generated
884 */
885 EAttribute FUNCTION__TYPE = eINSTANCE.getFunction_Type();
886
887 /**
888 * The meta object literal for the '{@link functionalarchitecture.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
889 * <!-- begin-user-doc -->
890 * <!-- end-user-doc -->
891 * @see functionalarchitecture.impl.FAMTerminatorImpl
892 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFAMTerminator()
893 * @generated
894 */
895 EClass FAM_TERMINATOR = eINSTANCE.getFAMTerminator();
896
897 /**
898 * The meta object literal for the '<em><b>Data</b></em>' container reference feature.
899 * <!-- begin-user-doc -->
900 * <!-- end-user-doc -->
901 * @generated
902 */
903 EReference FAM_TERMINATOR__DATA = eINSTANCE.getFAMTerminator_Data();
904
905 /**
906 * The meta object literal for the '{@link functionalarchitecture.impl.InformationLinkImpl <em>Information Link</em>}' class.
907 * <!-- begin-user-doc -->
908 * <!-- end-user-doc -->
909 * @see functionalarchitecture.impl.InformationLinkImpl
910 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getInformationLink()
911 * @generated
912 */
913 EClass INFORMATION_LINK = eINSTANCE.getInformationLink();
914
915 /**
916 * The meta object literal for the '<em><b>From</b></em>' container reference feature.
917 * <!-- begin-user-doc -->
918 * <!-- end-user-doc -->
919 * @generated
920 */
921 EReference INFORMATION_LINK__FROM = eINSTANCE.getInformationLink_From();
922
923 /**
924 * The meta object literal for the '<em><b>To</b></em>' reference feature.
925 * <!-- begin-user-doc -->
926 * <!-- end-user-doc -->
927 * @generated
928 */
929 EReference INFORMATION_LINK__TO = eINSTANCE.getInformationLink_To();
930
931 /**
932 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @see functionalarchitecture.impl.FunctionalInterfaceImpl
936 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalInterface()
937 * @generated
938 */
939 EClass FUNCTIONAL_INTERFACE = eINSTANCE.getFunctionalInterface();
940
941 /**
942 * The meta object literal for the '<em><b>Data</b></em>' containment reference list feature.
943 * <!-- begin-user-doc -->
944 * <!-- end-user-doc -->
945 * @generated
946 */
947 EReference FUNCTIONAL_INTERFACE__DATA = eINSTANCE.getFunctionalInterface_Data();
948
949 /**
950 * The meta object literal for the '<em><b>Element</b></em>' container reference feature.
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @generated
954 */
955 EReference FUNCTIONAL_INTERFACE__ELEMENT = eINSTANCE.getFunctionalInterface_Element();
956
957 /**
958 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
959 * <!-- begin-user-doc -->
960 * <!-- end-user-doc -->
961 * @see functionalarchitecture.impl.FunctionalInputImpl
962 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalInput()
963 * @generated
964 */
965 EClass FUNCTIONAL_INPUT = eINSTANCE.getFunctionalInput();
966
967 /**
968 * The meta object literal for the '<em><b>Incoming Links</b></em>' reference list feature.
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @generated
972 */
973 EReference FUNCTIONAL_INPUT__INCOMING_LINKS = eINSTANCE.getFunctionalInput_IncomingLinks();
974
975 /**
976 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
977 * <!-- begin-user-doc -->
978 * <!-- end-user-doc -->
979 * @see functionalarchitecture.impl.FunctionalOutputImpl
980 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalOutput()
981 * @generated
982 */
983 EClass FUNCTIONAL_OUTPUT = eINSTANCE.getFunctionalOutput();
984
985 /**
986 * The meta object literal for the '<em><b>Outgoing Links</b></em>' containment reference list feature.
987 * <!-- begin-user-doc -->
988 * <!-- end-user-doc -->
989 * @generated
990 */
991 EReference FUNCTIONAL_OUTPUT__OUTGOING_LINKS = eINSTANCE.getFunctionalOutput_OutgoingLinks();
992
993 /**
994 * The meta object literal for the '{@link functionalarchitecture.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
995 * <!-- begin-user-doc -->
996 * <!-- end-user-doc -->
997 * @see functionalarchitecture.impl.FunctionalDataImpl
998 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionalData()
999 * @generated
1000 */
1001 EClass FUNCTIONAL_DATA = eINSTANCE.getFunctionalData();
1002
1003 /**
1004 * The meta object literal for the '<em><b>Terminator</b></em>' containment reference feature.
1005 * <!-- begin-user-doc -->
1006 * <!-- end-user-doc -->
1007 * @generated
1008 */
1009 EReference FUNCTIONAL_DATA__TERMINATOR = eINSTANCE.getFunctionalData_Terminator();
1010
1011 /**
1012 * The meta object literal for the '<em><b>Interface</b></em>' container reference feature.
1013 * <!-- begin-user-doc -->
1014 * <!-- end-user-doc -->
1015 * @generated
1016 */
1017 EReference FUNCTIONAL_DATA__INTERFACE = eINSTANCE.getFunctionalData_Interface();
1018
1019 /**
1020 * The meta object literal for the '{@link functionalarchitecture.FunctionType <em>Function Type</em>}' enum.
1021 * <!-- begin-user-doc -->
1022 * <!-- end-user-doc -->
1023 * @see functionalarchitecture.FunctionType
1024 * @see functionalarchitecture.impl.FunctionalarchitecturePackageImpl#getFunctionType()
1025 * @generated
1026 */
1027 EEnum FUNCTION_TYPE = eINSTANCE.getFunctionType();
1028
1029 }
1030
1031} //FunctionalarchitecturePackage
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/InformationLink.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/InformationLink.java
new file mode 100644
index 00000000..aa74488a
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/InformationLink.java
@@ -0,0 +1,81 @@
1/**
2 */
3package functionalarchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Information Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link functionalarchitecture.InformationLink#getFrom <em>From</em>}</li>
17 * <li>{@link functionalarchitecture.InformationLink#getTo <em>To</em>}</li>
18 * </ul>
19 *
20 * @see functionalarchitecture.FunctionalarchitecturePackage#getInformationLink()
21 * @model
22 * @generated
23 */
24public interface InformationLink extends EObject {
25 /**
26 * Returns the value of the '<em><b>From</b></em>' container reference.
27 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>From</em>' container reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>From</em>' container reference.
35 * @see #setFrom(FunctionalOutput)
36 * @see functionalarchitecture.FunctionalarchitecturePackage#getInformationLink_From()
37 * @see functionalarchitecture.FunctionalOutput#getOutgoingLinks
38 * @model opposite="outgoingLinks" transient="false"
39 * @generated
40 */
41 FunctionalOutput getFrom();
42
43 /**
44 * Sets the value of the '{@link functionalarchitecture.InformationLink#getFrom <em>From</em>}' container reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>From</em>' container reference.
48 * @see #getFrom()
49 * @generated
50 */
51 void setFrom(FunctionalOutput value);
52
53 /**
54 * Returns the value of the '<em><b>To</b></em>' reference.
55 * It is bidirectional and its opposite is '{@link functionalarchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}'.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>To</em>' reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>To</em>' reference.
63 * @see #setTo(FunctionalInput)
64 * @see functionalarchitecture.FunctionalarchitecturePackage#getInformationLink_To()
65 * @see functionalarchitecture.FunctionalInput#getIncomingLinks
66 * @model opposite="IncomingLinks" required="true"
67 * @generated
68 */
69 FunctionalInput getTo();
70
71 /**
72 * Sets the value of the '{@link functionalarchitecture.InformationLink#getTo <em>To</em>}' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>To</em>' reference.
76 * @see #getTo()
77 * @generated
78 */
79 void setTo(FunctionalInput value);
80
81} // InformationLink
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FAMTerminatorImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FAMTerminatorImpl.java
new file mode 100644
index 00000000..1b5eb362
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FAMTerminatorImpl.java
@@ -0,0 +1,198 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.FunctionalData;
7import functionalarchitecture.FunctionalarchitecturePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>FAM Terminator</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link functionalarchitecture.impl.FAMTerminatorImpl#getData <em>Data</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class FAMTerminatorImpl extends MinimalEObjectImpl.Container implements FAMTerminator {
34 /**
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 protected FAMTerminatorImpl() {
40 super();
41 }
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 @Override
49 protected EClass eStaticClass() {
50 return FunctionalarchitecturePackage.Literals.FAM_TERMINATOR;
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 public FunctionalData getData() {
60 if (eContainerFeatureID() != FunctionalarchitecturePackage.FAM_TERMINATOR__DATA) return null;
61 return (FunctionalData)eInternalContainer();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public NotificationChain basicSetData(FunctionalData newData, NotificationChain msgs) {
70 msgs = eBasicSetContainer((InternalEObject)newData, FunctionalarchitecturePackage.FAM_TERMINATOR__DATA, msgs);
71 return msgs;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public void setData(FunctionalData newData) {
81 if (newData != eInternalContainer() || (eContainerFeatureID() != FunctionalarchitecturePackage.FAM_TERMINATOR__DATA && newData != null)) {
82 if (EcoreUtil.isAncestor(this, newData))
83 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
84 NotificationChain msgs = null;
85 if (eInternalContainer() != null)
86 msgs = eBasicRemoveFromContainer(msgs);
87 if (newData != null)
88 msgs = ((InternalEObject)newData).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
89 msgs = basicSetData(newData, msgs);
90 if (msgs != null) msgs.dispatch();
91 }
92 else if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FAM_TERMINATOR__DATA, newData, newData));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
103 switch (featureID) {
104 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
105 if (eInternalContainer() != null)
106 msgs = eBasicRemoveFromContainer(msgs);
107 return basicSetData((FunctionalData)otherEnd, msgs);
108 }
109 return super.eInverseAdd(otherEnd, featureID, msgs);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
119 switch (featureID) {
120 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
121 return basicSetData(null, msgs);
122 }
123 return super.eInverseRemove(otherEnd, featureID, msgs);
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
133 switch (eContainerFeatureID()) {
134 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
135 return eInternalContainer().eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
136 }
137 return super.eBasicRemoveFromContainerFeature(msgs);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public Object eGet(int featureID, boolean resolve, boolean coreType) {
147 switch (featureID) {
148 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
149 return getData();
150 }
151 return super.eGet(featureID, resolve, coreType);
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void eSet(int featureID, Object newValue) {
161 switch (featureID) {
162 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
163 setData((FunctionalData)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID) {
176 switch (featureID) {
177 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
178 setData((FunctionalData)null);
179 return;
180 }
181 super.eUnset(featureID);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public boolean eIsSet(int featureID) {
191 switch (featureID) {
192 case FunctionalarchitecturePackage.FAM_TERMINATOR__DATA:
193 return getData() != null;
194 }
195 return super.eIsSet(featureID);
196 }
197
198} //FAMTerminatorImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionImpl.java
new file mode 100644
index 00000000..cc41bd6f
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionImpl.java
@@ -0,0 +1,240 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.Function;
6import functionalarchitecture.FunctionType;
7import functionalarchitecture.FunctionalElement;
8import functionalarchitecture.FunctionalarchitecturePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Function</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link functionalarchitecture.impl.FunctionImpl#getSubElements <em>Sub Elements</em>}</li>
34 * <li>{@link functionalarchitecture.impl.FunctionImpl#getType <em>Type</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class FunctionImpl extends FunctionalElementImpl implements Function {
40 /**
41 * The cached value of the '{@link #getSubElements() <em>Sub Elements</em>}' containment reference list.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getSubElements()
45 * @generated
46 * @ordered
47 */
48 protected EList<FunctionalElement> subElements;
49
50 /**
51 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getType()
55 * @generated
56 * @ordered
57 */
58 protected static final FunctionType TYPE_EDEFAULT = FunctionType.ROOT;
59
60 /**
61 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getType()
65 * @generated
66 * @ordered
67 */
68 protected FunctionType type = TYPE_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected FunctionImpl() {
76 super();
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 protected EClass eStaticClass() {
86 return FunctionalarchitecturePackage.Literals.FUNCTION;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public EList<FunctionalElement> getSubElements() {
96 if (subElements == null) {
97 subElements = new EObjectContainmentWithInverseEList<FunctionalElement>(FunctionalElement.class, this, FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT);
98 }
99 return subElements;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public FunctionType getType() {
109 return type;
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void setType(FunctionType newType) {
119 FunctionType oldType = type;
120 type = newType == null ? TYPE_EDEFAULT : newType;
121 if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTION__TYPE, oldType, type));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @SuppressWarnings("unchecked")
131 @Override
132 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
133 switch (featureID) {
134 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
135 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSubElements()).basicAdd(otherEnd, msgs);
136 }
137 return super.eInverseAdd(otherEnd, featureID, msgs);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
147 switch (featureID) {
148 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
149 return ((InternalEList<?>)getSubElements()).basicRemove(otherEnd, msgs);
150 }
151 return super.eInverseRemove(otherEnd, featureID, msgs);
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public Object eGet(int featureID, boolean resolve, boolean coreType) {
161 switch (featureID) {
162 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
163 return getSubElements();
164 case FunctionalarchitecturePackage.FUNCTION__TYPE:
165 return getType();
166 }
167 return super.eGet(featureID, resolve, coreType);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @SuppressWarnings("unchecked")
176 @Override
177 public void eSet(int featureID, Object newValue) {
178 switch (featureID) {
179 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
180 getSubElements().clear();
181 getSubElements().addAll((Collection<? extends FunctionalElement>)newValue);
182 return;
183 case FunctionalarchitecturePackage.FUNCTION__TYPE:
184 setType((FunctionType)newValue);
185 return;
186 }
187 super.eSet(featureID, newValue);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public void eUnset(int featureID) {
197 switch (featureID) {
198 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
199 getSubElements().clear();
200 return;
201 case FunctionalarchitecturePackage.FUNCTION__TYPE:
202 setType(TYPE_EDEFAULT);
203 return;
204 }
205 super.eUnset(featureID);
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public boolean eIsSet(int featureID) {
215 switch (featureID) {
216 case FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS:
217 return subElements != null && !subElements.isEmpty();
218 case FunctionalarchitecturePackage.FUNCTION__TYPE:
219 return type != TYPE_EDEFAULT;
220 }
221 return super.eIsSet(featureID);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public String toString() {
231 if (eIsProxy()) return super.toString();
232
233 StringBuilder result = new StringBuilder(super.toString());
234 result.append(" (type: ");
235 result.append(type);
236 result.append(')');
237 return result.toString();
238 }
239
240} //FunctionImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalArchitectureModelImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalArchitectureModelImpl.java
new file mode 100644
index 00000000..314b7db5
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalArchitectureModelImpl.java
@@ -0,0 +1,153 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FunctionalArchitectureModel;
6import functionalarchitecture.FunctionalElement;
7import functionalarchitecture.FunctionalarchitecturePackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Functional Architecture Model</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link functionalarchitecture.impl.FunctionalArchitectureModelImpl#getRootElements <em>Root Elements</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class FunctionalArchitectureModelImpl extends MinimalEObjectImpl.Container implements FunctionalArchitectureModel {
37 /**
38 * The cached value of the '{@link #getRootElements() <em>Root Elements</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getRootElements()
42 * @generated
43 * @ordered
44 */
45 protected EList<FunctionalElement> rootElements;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected FunctionalArchitectureModelImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_ARCHITECTURE_MODEL;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 public EList<FunctionalElement> getRootElements() {
73 if (rootElements == null) {
74 rootElements = new EObjectContainmentEList<FunctionalElement>(FunctionalElement.class, this, FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
75 }
76 return rootElements;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
86 switch (featureID) {
87 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
88 return ((InternalEList<?>)getRootElements()).basicRemove(otherEnd, msgs);
89 }
90 return super.eInverseRemove(otherEnd, featureID, msgs);
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Object eGet(int featureID, boolean resolve, boolean coreType) {
100 switch (featureID) {
101 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
102 return getRootElements();
103 }
104 return super.eGet(featureID, resolve, coreType);
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @SuppressWarnings("unchecked")
113 @Override
114 public void eSet(int featureID, Object newValue) {
115 switch (featureID) {
116 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
117 getRootElements().clear();
118 getRootElements().addAll((Collection<? extends FunctionalElement>)newValue);
119 return;
120 }
121 super.eSet(featureID, newValue);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public void eUnset(int featureID) {
131 switch (featureID) {
132 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
133 getRootElements().clear();
134 return;
135 }
136 super.eUnset(featureID);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public boolean eIsSet(int featureID) {
146 switch (featureID) {
147 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
148 return rootElements != null && !rootElements.isEmpty();
149 }
150 return super.eIsSet(featureID);
151 }
152
153} //FunctionalArchitectureModelImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalDataImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalDataImpl.java
new file mode 100644
index 00000000..50028019
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalDataImpl.java
@@ -0,0 +1,270 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.FunctionalData;
7import functionalarchitecture.FunctionalarchitecturePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Functional Data</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link functionalarchitecture.impl.FunctionalDataImpl#getTerminator <em>Terminator</em>}</li>
29 * <li>{@link functionalarchitecture.impl.FunctionalDataImpl#getInterface <em>Interface</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public abstract class FunctionalDataImpl extends MinimalEObjectImpl.Container implements FunctionalData {
35 /**
36 * The cached value of the '{@link #getTerminator() <em>Terminator</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getTerminator()
40 * @generated
41 * @ordered
42 */
43 protected FAMTerminator terminator;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctionalDataImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_DATA;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public FAMTerminator getTerminator() {
71 return terminator;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 public NotificationChain basicSetTerminator(FAMTerminator newTerminator, NotificationChain msgs) {
80 FAMTerminator oldTerminator = terminator;
81 terminator = newTerminator;
82 if (eNotificationRequired()) {
83 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, oldTerminator, newTerminator);
84 if (msgs == null) msgs = notification; else msgs.add(notification);
85 }
86 return msgs;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public void setTerminator(FAMTerminator newTerminator) {
96 if (newTerminator != terminator) {
97 NotificationChain msgs = null;
98 if (terminator != null)
99 msgs = ((InternalEObject)terminator).eInverseRemove(this, FunctionalarchitecturePackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
100 if (newTerminator != null)
101 msgs = ((InternalEObject)newTerminator).eInverseAdd(this, FunctionalarchitecturePackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
102 msgs = basicSetTerminator(newTerminator, msgs);
103 if (msgs != null) msgs.dispatch();
104 }
105 else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, newTerminator, newTerminator));
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public functionalarchitecture.FunctionalInterface getInterface() {
116 if (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE) return null;
117 return (functionalarchitecture.FunctionalInterface)eInternalContainer();
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public NotificationChain basicSetInterface(functionalarchitecture.FunctionalInterface newInterface, NotificationChain msgs) {
126 msgs = eBasicSetContainer((InternalEObject)newInterface, FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE, msgs);
127 return msgs;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void setInterface(functionalarchitecture.FunctionalInterface newInterface) {
137 if (newInterface != eInternalContainer() || (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE && newInterface != null)) {
138 if (EcoreUtil.isAncestor(this, newInterface))
139 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
140 NotificationChain msgs = null;
141 if (eInternalContainer() != null)
142 msgs = eBasicRemoveFromContainer(msgs);
143 if (newInterface != null)
144 msgs = ((InternalEObject)newInterface).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA, functionalarchitecture.FunctionalInterface.class, msgs);
145 msgs = basicSetInterface(newInterface, msgs);
146 if (msgs != null) msgs.dispatch();
147 }
148 else if (eNotificationRequired())
149 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE, newInterface, newInterface));
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
159 switch (featureID) {
160 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
161 if (terminator != null)
162 msgs = ((InternalEObject)terminator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, null, msgs);
163 return basicSetTerminator((FAMTerminator)otherEnd, msgs);
164 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
165 if (eInternalContainer() != null)
166 msgs = eBasicRemoveFromContainer(msgs);
167 return basicSetInterface((functionalarchitecture.FunctionalInterface)otherEnd, msgs);
168 }
169 return super.eInverseAdd(otherEnd, featureID, msgs);
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
179 switch (featureID) {
180 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
181 return basicSetTerminator(null, msgs);
182 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
183 return basicSetInterface(null, msgs);
184 }
185 return super.eInverseRemove(otherEnd, featureID, msgs);
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
195 switch (eContainerFeatureID()) {
196 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
197 return eInternalContainer().eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA, functionalarchitecture.FunctionalInterface.class, msgs);
198 }
199 return super.eBasicRemoveFromContainerFeature(msgs);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public Object eGet(int featureID, boolean resolve, boolean coreType) {
209 switch (featureID) {
210 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
211 return getTerminator();
212 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
213 return getInterface();
214 }
215 return super.eGet(featureID, resolve, coreType);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public void eSet(int featureID, Object newValue) {
225 switch (featureID) {
226 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
227 setTerminator((FAMTerminator)newValue);
228 return;
229 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
230 setInterface((functionalarchitecture.FunctionalInterface)newValue);
231 return;
232 }
233 super.eSet(featureID, newValue);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public void eUnset(int featureID) {
243 switch (featureID) {
244 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
245 setTerminator((FAMTerminator)null);
246 return;
247 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
248 setInterface((functionalarchitecture.FunctionalInterface)null);
249 return;
250 }
251 super.eUnset(featureID);
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public boolean eIsSet(int featureID) {
261 switch (featureID) {
262 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
263 return terminator != null;
264 case FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
265 return getInterface() != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //FunctionalDataImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalElementImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalElementImpl.java
new file mode 100644
index 00000000..2690bcbd
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalElementImpl.java
@@ -0,0 +1,318 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.Function;
6import functionalarchitecture.FunctionalArchitectureModel;
7import functionalarchitecture.FunctionalElement;
8import functionalarchitecture.FunctionalarchitecturePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EcoreUtil;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functional Element</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link functionalarchitecture.impl.FunctionalElementImpl#getInterface <em>Interface</em>}</li>
30 * <li>{@link functionalarchitecture.impl.FunctionalElementImpl#getModel <em>Model</em>}</li>
31 * <li>{@link functionalarchitecture.impl.FunctionalElementImpl#getParent <em>Parent</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public abstract class FunctionalElementImpl extends MinimalEObjectImpl.Container implements FunctionalElement {
37 /**
38 * The cached value of the '{@link #getInterface() <em>Interface</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getInterface()
42 * @generated
43 * @ordered
44 */
45 protected functionalarchitecture.FunctionalInterface interface_;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected FunctionalElementImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_ELEMENT;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 public functionalarchitecture.FunctionalInterface getInterface() {
73 return interface_;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public NotificationChain basicSetInterface(functionalarchitecture.FunctionalInterface newInterface, NotificationChain msgs) {
82 functionalarchitecture.FunctionalInterface oldInterface = interface_;
83 interface_ = newInterface;
84 if (eNotificationRequired()) {
85 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, oldInterface, newInterface);
86 if (msgs == null) msgs = notification; else msgs.add(notification);
87 }
88 return msgs;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public void setInterface(functionalarchitecture.FunctionalInterface newInterface) {
98 if (newInterface != interface_) {
99 NotificationChain msgs = null;
100 if (interface_ != null)
101 msgs = ((InternalEObject)interface_).eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, functionalarchitecture.FunctionalInterface.class, msgs);
102 if (newInterface != null)
103 msgs = ((InternalEObject)newInterface).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, functionalarchitecture.FunctionalInterface.class, msgs);
104 msgs = basicSetInterface(newInterface, msgs);
105 if (msgs != null) msgs.dispatch();
106 }
107 else if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, newInterface, newInterface));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public FunctionalArchitectureModel getModel() {
118 FunctionalArchitectureModel model = basicGetModel();
119 return model != null && model.eIsProxy() ? (FunctionalArchitectureModel)eResolveProxy((InternalEObject)model) : model;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public FunctionalArchitectureModel basicGetModel() {
128 // TODO: implement this method to return the 'Model' reference
129 // -> do not perform proxy resolution
130 // Ensure that you remove @generated or mark it @generated NOT
131 throw new UnsupportedOperationException();
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void setModel(FunctionalArchitectureModel newModel) {
141 // TODO: implement this method to set the 'Model' reference
142 // Ensure that you remove @generated or mark it @generated NOT
143 throw new UnsupportedOperationException();
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public Function getParent() {
153 if (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT) return null;
154 return (Function)eInternalContainer();
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 public NotificationChain basicSetParent(Function newParent, NotificationChain msgs) {
163 msgs = eBasicSetContainer((InternalEObject)newParent, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT, msgs);
164 return msgs;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void setParent(Function newParent) {
174 if (newParent != eInternalContainer() || (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT && newParent != null)) {
175 if (EcoreUtil.isAncestor(this, newParent))
176 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
177 NotificationChain msgs = null;
178 if (eInternalContainer() != null)
179 msgs = eBasicRemoveFromContainer(msgs);
180 if (newParent != null)
181 msgs = ((InternalEObject)newParent).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS, Function.class, msgs);
182 msgs = basicSetParent(newParent, msgs);
183 if (msgs != null) msgs.dispatch();
184 }
185 else if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT, newParent, newParent));
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
196 switch (featureID) {
197 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
198 if (interface_ != null)
199 msgs = ((InternalEObject)interface_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, null, msgs);
200 return basicSetInterface((functionalarchitecture.FunctionalInterface)otherEnd, msgs);
201 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
202 if (eInternalContainer() != null)
203 msgs = eBasicRemoveFromContainer(msgs);
204 return basicSetParent((Function)otherEnd, msgs);
205 }
206 return super.eInverseAdd(otherEnd, featureID, msgs);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
216 switch (featureID) {
217 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
218 return basicSetInterface(null, msgs);
219 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
220 return basicSetParent(null, msgs);
221 }
222 return super.eInverseRemove(otherEnd, featureID, msgs);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
232 switch (eContainerFeatureID()) {
233 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
234 return eInternalContainer().eInverseRemove(this, FunctionalarchitecturePackage.FUNCTION__SUB_ELEMENTS, Function.class, msgs);
235 }
236 return super.eBasicRemoveFromContainerFeature(msgs);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public Object eGet(int featureID, boolean resolve, boolean coreType) {
246 switch (featureID) {
247 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
248 return getInterface();
249 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
250 if (resolve) return getModel();
251 return basicGetModel();
252 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
253 return getParent();
254 }
255 return super.eGet(featureID, resolve, coreType);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 @Override
264 public void eSet(int featureID, Object newValue) {
265 switch (featureID) {
266 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
267 setInterface((functionalarchitecture.FunctionalInterface)newValue);
268 return;
269 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
270 setModel((FunctionalArchitectureModel)newValue);
271 return;
272 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
273 setParent((Function)newValue);
274 return;
275 }
276 super.eSet(featureID, newValue);
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 @Override
285 public void eUnset(int featureID) {
286 switch (featureID) {
287 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
288 setInterface((functionalarchitecture.FunctionalInterface)null);
289 return;
290 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
291 setModel((FunctionalArchitectureModel)null);
292 return;
293 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
294 setParent((Function)null);
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID) {
307 switch (featureID) {
308 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
309 return interface_ != null;
310 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
311 return basicGetModel() != null;
312 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
313 return getParent() != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //FunctionalElementImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInputImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInputImpl.java
new file mode 100644
index 00000000..01aac03a
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInputImpl.java
@@ -0,0 +1,166 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FunctionalInput;
6import functionalarchitecture.FunctionalarchitecturePackage;
7import functionalarchitecture.InformationLink;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functional Input</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link functionalarchitecture.impl.FunctionalInputImpl#getIncomingLinks <em>Incoming Links</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class FunctionalInputImpl extends FunctionalDataImpl implements FunctionalInput {
35 /**
36 * The cached value of the '{@link #getIncomingLinks() <em>Incoming Links</em>}' reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getIncomingLinks()
40 * @generated
41 * @ordered
42 */
43 protected EList<InformationLink> incomingLinks;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctionalInputImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_INPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public EList<InformationLink> getIncomingLinks() {
71 if (incomingLinks == null) {
72 incomingLinks = new EObjectWithInverseResolvingEList<InformationLink>(InformationLink.class, this, FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalarchitecturePackage.INFORMATION_LINK__TO);
73 }
74 return incomingLinks;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @SuppressWarnings("unchecked")
83 @Override
84 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
87 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingLinks()).basicAdd(otherEnd, msgs);
88 }
89 return super.eInverseAdd(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
99 switch (featureID) {
100 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
101 return ((InternalEList<?>)getIncomingLinks()).basicRemove(otherEnd, msgs);
102 }
103 return super.eInverseRemove(otherEnd, featureID, msgs);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public Object eGet(int featureID, boolean resolve, boolean coreType) {
113 switch (featureID) {
114 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
115 return getIncomingLinks();
116 }
117 return super.eGet(featureID, resolve, coreType);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @SuppressWarnings("unchecked")
126 @Override
127 public void eSet(int featureID, Object newValue) {
128 switch (featureID) {
129 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
130 getIncomingLinks().clear();
131 getIncomingLinks().addAll((Collection<? extends InformationLink>)newValue);
132 return;
133 }
134 super.eSet(featureID, newValue);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void eUnset(int featureID) {
144 switch (featureID) {
145 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
146 getIncomingLinks().clear();
147 return;
148 }
149 super.eUnset(featureID);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public boolean eIsSet(int featureID) {
159 switch (featureID) {
160 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
161 return incomingLinks != null && !incomingLinks.isEmpty();
162 }
163 return super.eIsSet(featureID);
164 }
165
166} //FunctionalInputImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInterfaceImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInterfaceImpl.java
new file mode 100644
index 00000000..fe7f4e75
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalInterfaceImpl.java
@@ -0,0 +1,245 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FunctionalData;
6import functionalarchitecture.FunctionalElement;
7import functionalarchitecture.FunctionalarchitecturePackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.common.util.EList;
15
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
23import org.eclipse.emf.ecore.util.EcoreUtil;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Functional Interface</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link functionalarchitecture.impl.FunctionalInterfaceImpl#getData <em>Data</em>}</li>
35 * <li>{@link functionalarchitecture.impl.FunctionalInterfaceImpl#getElement <em>Element</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class FunctionalInterfaceImpl extends MinimalEObjectImpl.Container implements functionalarchitecture.FunctionalInterface {
41 /**
42 * The cached value of the '{@link #getData() <em>Data</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getData()
46 * @generated
47 * @ordered
48 */
49 protected EList<FunctionalData> data;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected FunctionalInterfaceImpl() {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass() {
67 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_INTERFACE;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<FunctionalData> getData() {
77 if (data == null) {
78 data = new EObjectContainmentWithInverseEList<FunctionalData>(FunctionalData.class, this, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA, FunctionalarchitecturePackage.FUNCTIONAL_DATA__INTERFACE);
79 }
80 return data;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public FunctionalElement getElement() {
90 if (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT) return null;
91 return (FunctionalElement)eInternalContainer();
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public NotificationChain basicSetElement(FunctionalElement newElement, NotificationChain msgs) {
100 msgs = eBasicSetContainer((InternalEObject)newElement, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, msgs);
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setElement(FunctionalElement newElement) {
111 if (newElement != eInternalContainer() || (eContainerFeatureID() != FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT && newElement != null)) {
112 if (EcoreUtil.isAncestor(this, newElement))
113 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
114 NotificationChain msgs = null;
115 if (eInternalContainer() != null)
116 msgs = eBasicRemoveFromContainer(msgs);
117 if (newElement != null)
118 msgs = ((InternalEObject)newElement).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
119 msgs = basicSetElement(newElement, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, newElement, newElement));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @SuppressWarnings("unchecked")
132 @Override
133 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
134 switch (featureID) {
135 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
136 return ((InternalEList<InternalEObject>)(InternalEList<?>)getData()).basicAdd(otherEnd, msgs);
137 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
138 if (eInternalContainer() != null)
139 msgs = eBasicRemoveFromContainer(msgs);
140 return basicSetElement((FunctionalElement)otherEnd, msgs);
141 }
142 return super.eInverseAdd(otherEnd, featureID, msgs);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
152 switch (featureID) {
153 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
154 return ((InternalEList<?>)getData()).basicRemove(otherEnd, msgs);
155 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
156 return basicSetElement(null, msgs);
157 }
158 return super.eInverseRemove(otherEnd, featureID, msgs);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
168 switch (eContainerFeatureID()) {
169 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
170 return eInternalContainer().eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
171 }
172 return super.eBasicRemoveFromContainerFeature(msgs);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public Object eGet(int featureID, boolean resolve, boolean coreType) {
182 switch (featureID) {
183 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
184 return getData();
185 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
186 return getElement();
187 }
188 return super.eGet(featureID, resolve, coreType);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @SuppressWarnings("unchecked")
197 @Override
198 public void eSet(int featureID, Object newValue) {
199 switch (featureID) {
200 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
201 getData().clear();
202 getData().addAll((Collection<? extends FunctionalData>)newValue);
203 return;
204 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
205 setElement((FunctionalElement)newValue);
206 return;
207 }
208 super.eSet(featureID, newValue);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eUnset(int featureID) {
218 switch (featureID) {
219 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
220 getData().clear();
221 return;
222 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
223 setElement((FunctionalElement)null);
224 return;
225 }
226 super.eUnset(featureID);
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public boolean eIsSet(int featureID) {
236 switch (featureID) {
237 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
238 return data != null && !data.isEmpty();
239 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
240 return getElement() != null;
241 }
242 return super.eIsSet(featureID);
243 }
244
245} //FunctionalInterfaceImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalOutputImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalOutputImpl.java
new file mode 100644
index 00000000..064dd99c
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalOutputImpl.java
@@ -0,0 +1,166 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FunctionalOutput;
6import functionalarchitecture.FunctionalarchitecturePackage;
7import functionalarchitecture.InformationLink;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functional Output</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link functionalarchitecture.impl.FunctionalOutputImpl#getOutgoingLinks <em>Outgoing Links</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class FunctionalOutputImpl extends FunctionalDataImpl implements FunctionalOutput {
35 /**
36 * The cached value of the '{@link #getOutgoingLinks() <em>Outgoing Links</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOutgoingLinks()
40 * @generated
41 * @ordered
42 */
43 protected EList<InformationLink> outgoingLinks;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctionalOutputImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FunctionalarchitecturePackage.Literals.FUNCTIONAL_OUTPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public EList<InformationLink> getOutgoingLinks() {
71 if (outgoingLinks == null) {
72 outgoingLinks = new EObjectContainmentWithInverseEList<InformationLink>(InformationLink.class, this, FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalarchitecturePackage.INFORMATION_LINK__FROM);
73 }
74 return outgoingLinks;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @SuppressWarnings("unchecked")
83 @Override
84 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
87 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingLinks()).basicAdd(otherEnd, msgs);
88 }
89 return super.eInverseAdd(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
99 switch (featureID) {
100 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
101 return ((InternalEList<?>)getOutgoingLinks()).basicRemove(otherEnd, msgs);
102 }
103 return super.eInverseRemove(otherEnd, featureID, msgs);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public Object eGet(int featureID, boolean resolve, boolean coreType) {
113 switch (featureID) {
114 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
115 return getOutgoingLinks();
116 }
117 return super.eGet(featureID, resolve, coreType);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @SuppressWarnings("unchecked")
126 @Override
127 public void eSet(int featureID, Object newValue) {
128 switch (featureID) {
129 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
130 getOutgoingLinks().clear();
131 getOutgoingLinks().addAll((Collection<? extends InformationLink>)newValue);
132 return;
133 }
134 super.eSet(featureID, newValue);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void eUnset(int featureID) {
144 switch (featureID) {
145 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
146 getOutgoingLinks().clear();
147 return;
148 }
149 super.eUnset(featureID);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public boolean eIsSet(int featureID) {
159 switch (featureID) {
160 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
161 return outgoingLinks != null && !outgoingLinks.isEmpty();
162 }
163 return super.eIsSet(featureID);
164 }
165
166} //FunctionalOutputImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitectureFactoryImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitectureFactoryImpl.java
new file mode 100644
index 00000000..814aa62e
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitectureFactoryImpl.java
@@ -0,0 +1,228 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.Function;
7import functionalarchitecture.FunctionType;
8import functionalarchitecture.FunctionalArchitectureModel;
9import functionalarchitecture.FunctionalInput;
10import functionalarchitecture.FunctionalOutput;
11import functionalarchitecture.FunctionalarchitectureFactory;
12import functionalarchitecture.FunctionalarchitecturePackage;
13import functionalarchitecture.InformationLink;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.EDataType;
17import org.eclipse.emf.ecore.EObject;
18import org.eclipse.emf.ecore.EPackage;
19
20import org.eclipse.emf.ecore.impl.EFactoryImpl;
21
22import org.eclipse.emf.ecore.plugin.EcorePlugin;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model <b>Factory</b>.
27 * <!-- end-user-doc -->
28 * @generated
29 */
30public class FunctionalarchitectureFactoryImpl extends EFactoryImpl implements FunctionalarchitectureFactory {
31 /**
32 * Creates the default factory implementation.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public static FunctionalarchitectureFactory init() {
38 try {
39 FunctionalarchitectureFactory theFunctionalarchitectureFactory = (FunctionalarchitectureFactory)EPackage.Registry.INSTANCE.getEFactory(FunctionalarchitecturePackage.eNS_URI);
40 if (theFunctionalarchitectureFactory != null) {
41 return theFunctionalarchitectureFactory;
42 }
43 }
44 catch (Exception exception) {
45 EcorePlugin.INSTANCE.log(exception);
46 }
47 return new FunctionalarchitectureFactoryImpl();
48 }
49
50 /**
51 * Creates an instance of the factory.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 public FunctionalarchitectureFactoryImpl() {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public EObject create(EClass eClass) {
67 switch (eClass.getClassifierID()) {
68 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL: return createFunctionalArchitectureModel();
69 case FunctionalarchitecturePackage.FUNCTION: return createFunction();
70 case FunctionalarchitecturePackage.FAM_TERMINATOR: return createFAMTerminator();
71 case FunctionalarchitecturePackage.INFORMATION_LINK: return createInformationLink();
72 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE: return createFunctionalInterface();
73 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT: return createFunctionalInput();
74 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT: return createFunctionalOutput();
75 default:
76 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
77 }
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public Object createFromString(EDataType eDataType, String initialValue) {
87 switch (eDataType.getClassifierID()) {
88 case FunctionalarchitecturePackage.FUNCTION_TYPE:
89 return createFunctionTypeFromString(eDataType, initialValue);
90 default:
91 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
92 }
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public String convertToString(EDataType eDataType, Object instanceValue) {
102 switch (eDataType.getClassifierID()) {
103 case FunctionalarchitecturePackage.FUNCTION_TYPE:
104 return convertFunctionTypeToString(eDataType, instanceValue);
105 default:
106 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
107 }
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public FunctionalArchitectureModel createFunctionalArchitectureModel() {
117 FunctionalArchitectureModelImpl functionalArchitectureModel = new FunctionalArchitectureModelImpl();
118 return functionalArchitectureModel;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public Function createFunction() {
128 FunctionImpl function = new FunctionImpl();
129 return function;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public FAMTerminator createFAMTerminator() {
139 FAMTerminatorImpl famTerminator = new FAMTerminatorImpl();
140 return famTerminator;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public InformationLink createInformationLink() {
150 InformationLinkImpl informationLink = new InformationLinkImpl();
151 return informationLink;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public functionalarchitecture.FunctionalInterface createFunctionalInterface() {
161 FunctionalInterfaceImpl functionalInterface = new FunctionalInterfaceImpl();
162 return functionalInterface;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public FunctionalInput createFunctionalInput() {
172 FunctionalInputImpl functionalInput = new FunctionalInputImpl();
173 return functionalInput;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public FunctionalOutput createFunctionalOutput() {
183 FunctionalOutputImpl functionalOutput = new FunctionalOutputImpl();
184 return functionalOutput;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 public FunctionType createFunctionTypeFromString(EDataType eDataType, String initialValue) {
193 FunctionType result = FunctionType.get(initialValue);
194 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
195 return result;
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public String convertFunctionTypeToString(EDataType eDataType, Object instanceValue) {
204 return instanceValue == null ? null : instanceValue.toString();
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public FunctionalarchitecturePackage getFunctionalarchitecturePackage() {
214 return (FunctionalarchitecturePackage)getEPackage();
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @deprecated
221 * @generated
222 */
223 @Deprecated
224 public static FunctionalarchitecturePackage getPackage() {
225 return FunctionalarchitecturePackage.eINSTANCE;
226 }
227
228} //FunctionalarchitectureFactoryImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitecturePackageImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitecturePackageImpl.java
new file mode 100644
index 00000000..ccb5fade
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/FunctionalarchitecturePackageImpl.java
@@ -0,0 +1,575 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.Function;
7import functionalarchitecture.FunctionType;
8import functionalarchitecture.FunctionalArchitectureModel;
9import functionalarchitecture.FunctionalData;
10import functionalarchitecture.FunctionalElement;
11import functionalarchitecture.FunctionalInput;
12import functionalarchitecture.FunctionalOutput;
13import functionalarchitecture.FunctionalarchitectureFactory;
14import functionalarchitecture.FunctionalarchitecturePackage;
15import functionalarchitecture.InformationLink;
16
17import org.eclipse.emf.ecore.EAttribute;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EEnum;
20import org.eclipse.emf.ecore.EPackage;
21import org.eclipse.emf.ecore.EReference;
22
23import org.eclipse.emf.ecore.impl.EPackageImpl;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model <b>Package</b>.
28 * <!-- end-user-doc -->
29 * @generated
30 */
31public class FunctionalarchitecturePackageImpl extends EPackageImpl implements FunctionalarchitecturePackage {
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 private EClass functionalElementEClass = null;
38
39 /**
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 private EClass functionalArchitectureModelEClass = null;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 private EClass functionEClass = null;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 private EClass famTerminatorEClass = null;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 private EClass informationLinkEClass = null;
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 private EClass functionalInterfaceEClass = null;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 private EClass functionalInputEClass = null;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 private EClass functionalOutputEClass = null;
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 private EClass functionalDataEClass = null;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 private EEnum functionTypeEEnum = null;
101
102 /**
103 * Creates an instance of the model <b>Package</b>, registered with
104 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
105 * package URI value.
106 * <p>Note: the correct way to create the package is via the static
107 * factory method {@link #init init()}, which also performs
108 * initialization of the package, or returns the registered package,
109 * if one already exists.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @see org.eclipse.emf.ecore.EPackage.Registry
113 * @see functionalarchitecture.FunctionalarchitecturePackage#eNS_URI
114 * @see #init()
115 * @generated
116 */
117 private FunctionalarchitecturePackageImpl() {
118 super(eNS_URI, FunctionalarchitectureFactory.eINSTANCE);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 private static boolean isInited = false;
127
128 /**
129 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
130 *
131 * <p>This method is used to initialize {@link FunctionalarchitecturePackage#eINSTANCE} when that field is accessed.
132 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @see #eNS_URI
136 * @see #createPackageContents()
137 * @see #initializePackageContents()
138 * @generated
139 */
140 public static FunctionalarchitecturePackage init() {
141 if (isInited) return (FunctionalarchitecturePackage)EPackage.Registry.INSTANCE.getEPackage(FunctionalarchitecturePackage.eNS_URI);
142
143 // Obtain or create and register package
144 Object registeredFunctionalarchitecturePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
145 FunctionalarchitecturePackageImpl theFunctionalarchitecturePackage = registeredFunctionalarchitecturePackage instanceof FunctionalarchitecturePackageImpl ? (FunctionalarchitecturePackageImpl)registeredFunctionalarchitecturePackage : new FunctionalarchitecturePackageImpl();
146
147 isInited = true;
148
149 // Create package meta-data objects
150 theFunctionalarchitecturePackage.createPackageContents();
151
152 // Initialize created meta-data
153 theFunctionalarchitecturePackage.initializePackageContents();
154
155 // Mark meta-data to indicate it can't be changed
156 theFunctionalarchitecturePackage.freeze();
157
158 // Update the registry and return the package
159 EPackage.Registry.INSTANCE.put(FunctionalarchitecturePackage.eNS_URI, theFunctionalarchitecturePackage);
160 return theFunctionalarchitecturePackage;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public EClass getFunctionalElement() {
170 return functionalElementEClass;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public EReference getFunctionalElement_Interface() {
180 return (EReference)functionalElementEClass.getEStructuralFeatures().get(0);
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public EReference getFunctionalElement_Model() {
190 return (EReference)functionalElementEClass.getEStructuralFeatures().get(1);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public EReference getFunctionalElement_Parent() {
200 return (EReference)functionalElementEClass.getEStructuralFeatures().get(2);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public EClass getFunctionalArchitectureModel() {
210 return functionalArchitectureModelEClass;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public EReference getFunctionalArchitectureModel_RootElements() {
220 return (EReference)functionalArchitectureModelEClass.getEStructuralFeatures().get(0);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public EClass getFunction() {
230 return functionEClass;
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public EReference getFunction_SubElements() {
240 return (EReference)functionEClass.getEStructuralFeatures().get(0);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public EAttribute getFunction_Type() {
250 return (EAttribute)functionEClass.getEStructuralFeatures().get(1);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public EClass getFAMTerminator() {
260 return famTerminatorEClass;
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public EReference getFAMTerminator_Data() {
270 return (EReference)famTerminatorEClass.getEStructuralFeatures().get(0);
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public EClass getInformationLink() {
280 return informationLinkEClass;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public EReference getInformationLink_From() {
290 return (EReference)informationLinkEClass.getEStructuralFeatures().get(0);
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public EReference getInformationLink_To() {
300 return (EReference)informationLinkEClass.getEStructuralFeatures().get(1);
301 }
302
303 /**
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 */
308 @Override
309 public EClass getFunctionalInterface() {
310 return functionalInterfaceEClass;
311 }
312
313 /**
314 * <!-- begin-user-doc -->
315 * <!-- end-user-doc -->
316 * @generated
317 */
318 @Override
319 public EReference getFunctionalInterface_Data() {
320 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(0);
321 }
322
323 /**
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 @Override
329 public EReference getFunctionalInterface_Element() {
330 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(1);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 @Override
339 public EClass getFunctionalInput() {
340 return functionalInputEClass;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public EReference getFunctionalInput_IncomingLinks() {
350 return (EReference)functionalInputEClass.getEStructuralFeatures().get(0);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public EClass getFunctionalOutput() {
360 return functionalOutputEClass;
361 }
362
363 /**
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 */
368 @Override
369 public EReference getFunctionalOutput_OutgoingLinks() {
370 return (EReference)functionalOutputEClass.getEStructuralFeatures().get(0);
371 }
372
373 /**
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 */
378 @Override
379 public EClass getFunctionalData() {
380 return functionalDataEClass;
381 }
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 @Override
389 public EReference getFunctionalData_Terminator() {
390 return (EReference)functionalDataEClass.getEStructuralFeatures().get(0);
391 }
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 @Override
399 public EReference getFunctionalData_Interface() {
400 return (EReference)functionalDataEClass.getEStructuralFeatures().get(1);
401 }
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 @Override
409 public EEnum getFunctionType() {
410 return functionTypeEEnum;
411 }
412
413 /**
414 * <!-- begin-user-doc -->
415 * <!-- end-user-doc -->
416 * @generated
417 */
418 @Override
419 public FunctionalarchitectureFactory getFunctionalarchitectureFactory() {
420 return (FunctionalarchitectureFactory)getEFactoryInstance();
421 }
422
423 /**
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 private boolean isCreated = false;
429
430 /**
431 * Creates the meta-model objects for the package. This method is
432 * guarded to have no affect on any invocation but its first.
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 public void createPackageContents() {
438 if (isCreated) return;
439 isCreated = true;
440
441 // Create classes and their features
442 functionalElementEClass = createEClass(FUNCTIONAL_ELEMENT);
443 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__INTERFACE);
444 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__MODEL);
445 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__PARENT);
446
447 functionalArchitectureModelEClass = createEClass(FUNCTIONAL_ARCHITECTURE_MODEL);
448 createEReference(functionalArchitectureModelEClass, FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
449
450 functionEClass = createEClass(FUNCTION);
451 createEReference(functionEClass, FUNCTION__SUB_ELEMENTS);
452 createEAttribute(functionEClass, FUNCTION__TYPE);
453
454 famTerminatorEClass = createEClass(FAM_TERMINATOR);
455 createEReference(famTerminatorEClass, FAM_TERMINATOR__DATA);
456
457 informationLinkEClass = createEClass(INFORMATION_LINK);
458 createEReference(informationLinkEClass, INFORMATION_LINK__FROM);
459 createEReference(informationLinkEClass, INFORMATION_LINK__TO);
460
461 functionalInterfaceEClass = createEClass(FUNCTIONAL_INTERFACE);
462 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__DATA);
463 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__ELEMENT);
464
465 functionalInputEClass = createEClass(FUNCTIONAL_INPUT);
466 createEReference(functionalInputEClass, FUNCTIONAL_INPUT__INCOMING_LINKS);
467
468 functionalOutputEClass = createEClass(FUNCTIONAL_OUTPUT);
469 createEReference(functionalOutputEClass, FUNCTIONAL_OUTPUT__OUTGOING_LINKS);
470
471 functionalDataEClass = createEClass(FUNCTIONAL_DATA);
472 createEReference(functionalDataEClass, FUNCTIONAL_DATA__TERMINATOR);
473 createEReference(functionalDataEClass, FUNCTIONAL_DATA__INTERFACE);
474
475 // Create enums
476 functionTypeEEnum = createEEnum(FUNCTION_TYPE);
477 }
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 private boolean isInitialized = false;
485
486 /**
487 * Complete the initialization of the package and its meta-model. This
488 * method is guarded to have no affect on any invocation but its first.
489 * <!-- begin-user-doc -->
490 * <!-- end-user-doc -->
491 * @generated
492 */
493 public void initializePackageContents() {
494 if (isInitialized) return;
495 isInitialized = true;
496
497 // Initialize package
498 setName(eNAME);
499 setNsPrefix(eNS_PREFIX);
500 setNsURI(eNS_URI);
501
502 // Create type parameters
503
504 // Set bounds for type parameters
505
506 // Add supertypes to classes
507 functionEClass.getESuperTypes().add(this.getFunctionalElement());
508 functionalInputEClass.getESuperTypes().add(this.getFunctionalData());
509 functionalOutputEClass.getESuperTypes().add(this.getFunctionalData());
510
511 // Initialize classes, features, and operations; add parameters
512 initEClass(functionalElementEClass, FunctionalElement.class, "FunctionalElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
513 initEReference(getFunctionalElement_Interface(), this.getFunctionalInterface(), this.getFunctionalInterface_Element(), "interface", null, 0, 1, FunctionalElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
514 initEReference(getFunctionalElement_Model(), this.getFunctionalArchitectureModel(), null, "model", null, 1, 1, FunctionalElement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
515 initEReference(getFunctionalElement_Parent(), this.getFunction(), this.getFunction_SubElements(), "parent", null, 0, 1, FunctionalElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
516
517 initEClass(functionalArchitectureModelEClass, FunctionalArchitectureModel.class, "FunctionalArchitectureModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
518 initEReference(getFunctionalArchitectureModel_RootElements(), this.getFunctionalElement(), null, "rootElements", null, 0, -1, FunctionalArchitectureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
519
520 initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
521 initEReference(getFunction_SubElements(), this.getFunctionalElement(), this.getFunctionalElement_Parent(), "subElements", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
522 initEAttribute(getFunction_Type(), this.getFunctionType(), "type", null, 1, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
523
524 initEClass(famTerminatorEClass, FAMTerminator.class, "FAMTerminator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
525 initEReference(getFAMTerminator_Data(), this.getFunctionalData(), this.getFunctionalData_Terminator(), "data", null, 0, 1, FAMTerminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
526
527 initEClass(informationLinkEClass, InformationLink.class, "InformationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
528 initEReference(getInformationLink_From(), this.getFunctionalOutput(), this.getFunctionalOutput_OutgoingLinks(), "from", null, 0, 1, InformationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
529 initEReference(getInformationLink_To(), this.getFunctionalInput(), this.getFunctionalInput_IncomingLinks(), "to", null, 1, 1, InformationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
530
531 initEClass(functionalInterfaceEClass, functionalarchitecture.FunctionalInterface.class, "FunctionalInterface", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
532 initEReference(getFunctionalInterface_Data(), this.getFunctionalData(), this.getFunctionalData_Interface(), "data", null, 0, -1, functionalarchitecture.FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
533 initEReference(getFunctionalInterface_Element(), this.getFunctionalElement(), this.getFunctionalElement_Interface(), "element", null, 0, 1, functionalarchitecture.FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
534
535 initEClass(functionalInputEClass, FunctionalInput.class, "FunctionalInput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
536 initEReference(getFunctionalInput_IncomingLinks(), this.getInformationLink(), this.getInformationLink_To(), "IncomingLinks", null, 0, -1, FunctionalInput.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
537
538 initEClass(functionalOutputEClass, FunctionalOutput.class, "FunctionalOutput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
539 initEReference(getFunctionalOutput_OutgoingLinks(), this.getInformationLink(), this.getInformationLink_From(), "outgoingLinks", null, 0, -1, FunctionalOutput.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
540
541 initEClass(functionalDataEClass, FunctionalData.class, "FunctionalData", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
542 initEReference(getFunctionalData_Terminator(), this.getFAMTerminator(), this.getFAMTerminator_Data(), "terminator", null, 0, 1, FunctionalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
543 initEReference(getFunctionalData_Interface(), this.getFunctionalInterface(), this.getFunctionalInterface_Data(), "interface", null, 0, 1, FunctionalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
544
545 // Initialize enums and add enum literals
546 initEEnum(functionTypeEEnum, FunctionType.class, "FunctionType");
547 addEEnumLiteral(functionTypeEEnum, FunctionType.ROOT);
548 addEEnumLiteral(functionTypeEEnum, FunctionType.INTERMEDIATE);
549 addEEnumLiteral(functionTypeEEnum, FunctionType.LEAF);
550
551 // Create resource
552 createResource(eNS_URI);
553
554 // Create annotations
555 // org.eclipse.viatra.query.querybasedfeature
556 createOrgAnnotations();
557 }
558
559 /**
560 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
561 * <!-- begin-user-doc -->
562 * <!-- end-user-doc -->
563 * @generated
564 */
565 protected void createOrgAnnotations() {
566 String source = "org.eclipse.viatra.query.querybasedfeature";
567 addAnnotation
568 (getFunctionalElement_Model(),
569 source,
570 new String[] {
571 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.fam.model"
572 });
573 }
574
575} //FunctionalarchitecturePackageImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/InformationLinkImpl.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/InformationLinkImpl.java
new file mode 100644
index 00000000..bf5d5db8
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/impl/InformationLinkImpl.java
@@ -0,0 +1,289 @@
1/**
2 */
3package functionalarchitecture.impl;
4
5import functionalarchitecture.FunctionalInput;
6import functionalarchitecture.FunctionalOutput;
7import functionalarchitecture.FunctionalarchitecturePackage;
8import functionalarchitecture.InformationLink;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EcoreUtil;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Information Link</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link functionalarchitecture.impl.InformationLinkImpl#getFrom <em>From</em>}</li>
30 * <li>{@link functionalarchitecture.impl.InformationLinkImpl#getTo <em>To</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class InformationLinkImpl extends MinimalEObjectImpl.Container implements InformationLink {
36 /**
37 * The cached value of the '{@link #getTo() <em>To</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getTo()
41 * @generated
42 * @ordered
43 */
44 protected FunctionalInput to;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected InformationLinkImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return FunctionalarchitecturePackage.Literals.INFORMATION_LINK;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 public FunctionalOutput getFrom() {
72 if (eContainerFeatureID() != FunctionalarchitecturePackage.INFORMATION_LINK__FROM) return null;
73 return (FunctionalOutput)eInternalContainer();
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public NotificationChain basicSetFrom(FunctionalOutput newFrom, NotificationChain msgs) {
82 msgs = eBasicSetContainer((InternalEObject)newFrom, FunctionalarchitecturePackage.INFORMATION_LINK__FROM, msgs);
83 return msgs;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public void setFrom(FunctionalOutput newFrom) {
93 if (newFrom != eInternalContainer() || (eContainerFeatureID() != FunctionalarchitecturePackage.INFORMATION_LINK__FROM && newFrom != null)) {
94 if (EcoreUtil.isAncestor(this, newFrom))
95 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
96 NotificationChain msgs = null;
97 if (eInternalContainer() != null)
98 msgs = eBasicRemoveFromContainer(msgs);
99 if (newFrom != null)
100 msgs = ((InternalEObject)newFrom).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
101 msgs = basicSetFrom(newFrom, msgs);
102 if (msgs != null) msgs.dispatch();
103 }
104 else if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.INFORMATION_LINK__FROM, newFrom, newFrom));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public FunctionalInput getTo() {
115 if (to != null && to.eIsProxy()) {
116 InternalEObject oldTo = (InternalEObject)to;
117 to = (FunctionalInput)eResolveProxy(oldTo);
118 if (to != oldTo) {
119 if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionalarchitecturePackage.INFORMATION_LINK__TO, oldTo, to));
121 }
122 }
123 return to;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public FunctionalInput basicGetTo() {
132 return to;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public NotificationChain basicSetTo(FunctionalInput newTo, NotificationChain msgs) {
141 FunctionalInput oldTo = to;
142 to = newTo;
143 if (eNotificationRequired()) {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.INFORMATION_LINK__TO, oldTo, newTo);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setTo(FunctionalInput newTo) {
157 if (newTo != to) {
158 NotificationChain msgs = null;
159 if (to != null)
160 msgs = ((InternalEObject)to).eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
161 if (newTo != null)
162 msgs = ((InternalEObject)newTo).eInverseAdd(this, FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
163 msgs = basicSetTo(newTo, msgs);
164 if (msgs != null) msgs.dispatch();
165 }
166 else if (eNotificationRequired())
167 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalarchitecturePackage.INFORMATION_LINK__TO, newTo, newTo));
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
177 switch (featureID) {
178 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
179 if (eInternalContainer() != null)
180 msgs = eBasicRemoveFromContainer(msgs);
181 return basicSetFrom((FunctionalOutput)otherEnd, msgs);
182 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
183 if (to != null)
184 msgs = ((InternalEObject)to).eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
185 return basicSetTo((FunctionalInput)otherEnd, msgs);
186 }
187 return super.eInverseAdd(otherEnd, featureID, msgs);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
197 switch (featureID) {
198 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
199 return basicSetFrom(null, msgs);
200 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
201 return basicSetTo(null, msgs);
202 }
203 return super.eInverseRemove(otherEnd, featureID, msgs);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
213 switch (eContainerFeatureID()) {
214 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
215 return eInternalContainer().eInverseRemove(this, FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
216 }
217 return super.eBasicRemoveFromContainerFeature(msgs);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public Object eGet(int featureID, boolean resolve, boolean coreType) {
227 switch (featureID) {
228 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
229 return getFrom();
230 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
231 if (resolve) return getTo();
232 return basicGetTo();
233 }
234 return super.eGet(featureID, resolve, coreType);
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public void eSet(int featureID, Object newValue) {
244 switch (featureID) {
245 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
246 setFrom((FunctionalOutput)newValue);
247 return;
248 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
249 setTo((FunctionalInput)newValue);
250 return;
251 }
252 super.eSet(featureID, newValue);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public void eUnset(int featureID) {
262 switch (featureID) {
263 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
264 setFrom((FunctionalOutput)null);
265 return;
266 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
267 setTo((FunctionalInput)null);
268 return;
269 }
270 super.eUnset(featureID);
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public boolean eIsSet(int featureID) {
280 switch (featureID) {
281 case FunctionalarchitecturePackage.INFORMATION_LINK__FROM:
282 return getFrom() != null;
283 case FunctionalarchitecturePackage.INFORMATION_LINK__TO:
284 return to != null;
285 }
286 return super.eIsSet(featureID);
287 }
288
289} //InformationLinkImpl
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureAdapterFactory.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureAdapterFactory.java
new file mode 100644
index 00000000..ed0d9819
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureAdapterFactory.java
@@ -0,0 +1,272 @@
1/**
2 */
3package functionalarchitecture.util;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.Function;
7import functionalarchitecture.FunctionalArchitectureModel;
8import functionalarchitecture.FunctionalData;
9import functionalarchitecture.FunctionalElement;
10import functionalarchitecture.FunctionalInput;
11import functionalarchitecture.FunctionalOutput;
12import functionalarchitecture.FunctionalarchitecturePackage;
13import functionalarchitecture.InformationLink;
14
15import org.eclipse.emf.common.notify.Adapter;
16import org.eclipse.emf.common.notify.Notifier;
17
18import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
19
20import org.eclipse.emf.ecore.EObject;
21
22/**
23 * <!-- begin-user-doc -->
24 * The <b>Adapter Factory</b> for the model.
25 * It provides an adapter <code>createXXX</code> method for each class of the model.
26 * <!-- end-user-doc -->
27 * @see functionalarchitecture.FunctionalarchitecturePackage
28 * @generated
29 */
30public class FunctionalarchitectureAdapterFactory extends AdapterFactoryImpl {
31 /**
32 * The cached model package.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 protected static FunctionalarchitecturePackage modelPackage;
38
39 /**
40 * Creates an instance of the adapter factory.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 public FunctionalarchitectureAdapterFactory() {
46 if (modelPackage == null) {
47 modelPackage = FunctionalarchitecturePackage.eINSTANCE;
48 }
49 }
50
51 /**
52 * Returns whether this factory is applicable for the type of the object.
53 * <!-- begin-user-doc -->
54 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
55 * <!-- end-user-doc -->
56 * @return whether this factory is applicable for the type of the object.
57 * @generated
58 */
59 @Override
60 public boolean isFactoryForType(Object object) {
61 if (object == modelPackage) {
62 return true;
63 }
64 if (object instanceof EObject) {
65 return ((EObject)object).eClass().getEPackage() == modelPackage;
66 }
67 return false;
68 }
69
70 /**
71 * The switch that delegates to the <code>createXXX</code> methods.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected FunctionalarchitectureSwitch<Adapter> modelSwitch =
77 new FunctionalarchitectureSwitch<Adapter>() {
78 @Override
79 public Adapter caseFunctionalElement(FunctionalElement object) {
80 return createFunctionalElementAdapter();
81 }
82 @Override
83 public Adapter caseFunctionalArchitectureModel(FunctionalArchitectureModel object) {
84 return createFunctionalArchitectureModelAdapter();
85 }
86 @Override
87 public Adapter caseFunction(Function object) {
88 return createFunctionAdapter();
89 }
90 @Override
91 public Adapter caseFAMTerminator(FAMTerminator object) {
92 return createFAMTerminatorAdapter();
93 }
94 @Override
95 public Adapter caseInformationLink(InformationLink object) {
96 return createInformationLinkAdapter();
97 }
98 @Override
99 public Adapter caseFunctionalInterface(functionalarchitecture.FunctionalInterface object) {
100 return createFunctionalInterfaceAdapter();
101 }
102 @Override
103 public Adapter caseFunctionalInput(FunctionalInput object) {
104 return createFunctionalInputAdapter();
105 }
106 @Override
107 public Adapter caseFunctionalOutput(FunctionalOutput object) {
108 return createFunctionalOutputAdapter();
109 }
110 @Override
111 public Adapter caseFunctionalData(FunctionalData object) {
112 return createFunctionalDataAdapter();
113 }
114 @Override
115 public Adapter defaultCase(EObject object) {
116 return createEObjectAdapter();
117 }
118 };
119
120 /**
121 * Creates an adapter for the <code>target</code>.
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @param target the object to adapt.
125 * @return the adapter for the <code>target</code>.
126 * @generated
127 */
128 @Override
129 public Adapter createAdapter(Notifier target) {
130 return modelSwitch.doSwitch((EObject)target);
131 }
132
133
134 /**
135 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalElement <em>Functional Element</em>}'.
136 * <!-- begin-user-doc -->
137 * This default implementation returns null so that we can easily ignore cases;
138 * it's useful to ignore a case when inheritance will catch all the cases anyway.
139 * <!-- end-user-doc -->
140 * @return the new adapter.
141 * @see functionalarchitecture.FunctionalElement
142 * @generated
143 */
144 public Adapter createFunctionalElementAdapter() {
145 return null;
146 }
147
148 /**
149 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalArchitectureModel <em>Functional Architecture Model</em>}'.
150 * <!-- begin-user-doc -->
151 * This default implementation returns null so that we can easily ignore cases;
152 * it's useful to ignore a case when inheritance will catch all the cases anyway.
153 * <!-- end-user-doc -->
154 * @return the new adapter.
155 * @see functionalarchitecture.FunctionalArchitectureModel
156 * @generated
157 */
158 public Adapter createFunctionalArchitectureModelAdapter() {
159 return null;
160 }
161
162 /**
163 * Creates a new adapter for an object of class '{@link functionalarchitecture.Function <em>Function</em>}'.
164 * <!-- begin-user-doc -->
165 * This default implementation returns null so that we can easily ignore cases;
166 * it's useful to ignore a case when inheritance will catch all the cases anyway.
167 * <!-- end-user-doc -->
168 * @return the new adapter.
169 * @see functionalarchitecture.Function
170 * @generated
171 */
172 public Adapter createFunctionAdapter() {
173 return null;
174 }
175
176 /**
177 * Creates a new adapter for an object of class '{@link functionalarchitecture.FAMTerminator <em>FAM Terminator</em>}'.
178 * <!-- begin-user-doc -->
179 * This default implementation returns null so that we can easily ignore cases;
180 * it's useful to ignore a case when inheritance will catch all the cases anyway.
181 * <!-- end-user-doc -->
182 * @return the new adapter.
183 * @see functionalarchitecture.FAMTerminator
184 * @generated
185 */
186 public Adapter createFAMTerminatorAdapter() {
187 return null;
188 }
189
190 /**
191 * Creates a new adapter for an object of class '{@link functionalarchitecture.InformationLink <em>Information Link</em>}'.
192 * <!-- begin-user-doc -->
193 * This default implementation returns null so that we can easily ignore cases;
194 * it's useful to ignore a case when inheritance will catch all the cases anyway.
195 * <!-- end-user-doc -->
196 * @return the new adapter.
197 * @see functionalarchitecture.InformationLink
198 * @generated
199 */
200 public Adapter createInformationLinkAdapter() {
201 return null;
202 }
203
204 /**
205 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalInterface <em>Functional Interface</em>}'.
206 * <!-- begin-user-doc -->
207 * This default implementation returns null so that we can easily ignore cases;
208 * it's useful to ignore a case when inheritance will catch all the cases anyway.
209 * <!-- end-user-doc -->
210 * @return the new adapter.
211 * @see functionalarchitecture.FunctionalInterface
212 * @generated
213 */
214 public Adapter createFunctionalInterfaceAdapter() {
215 return null;
216 }
217
218 /**
219 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalInput <em>Functional Input</em>}'.
220 * <!-- begin-user-doc -->
221 * This default implementation returns null so that we can easily ignore cases;
222 * it's useful to ignore a case when inheritance will catch all the cases anyway.
223 * <!-- end-user-doc -->
224 * @return the new adapter.
225 * @see functionalarchitecture.FunctionalInput
226 * @generated
227 */
228 public Adapter createFunctionalInputAdapter() {
229 return null;
230 }
231
232 /**
233 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalOutput <em>Functional Output</em>}'.
234 * <!-- begin-user-doc -->
235 * This default implementation returns null so that we can easily ignore cases;
236 * it's useful to ignore a case when inheritance will catch all the cases anyway.
237 * <!-- end-user-doc -->
238 * @return the new adapter.
239 * @see functionalarchitecture.FunctionalOutput
240 * @generated
241 */
242 public Adapter createFunctionalOutputAdapter() {
243 return null;
244 }
245
246 /**
247 * Creates a new adapter for an object of class '{@link functionalarchitecture.FunctionalData <em>Functional Data</em>}'.
248 * <!-- begin-user-doc -->
249 * This default implementation returns null so that we can easily ignore cases;
250 * it's useful to ignore a case when inheritance will catch all the cases anyway.
251 * <!-- end-user-doc -->
252 * @return the new adapter.
253 * @see functionalarchitecture.FunctionalData
254 * @generated
255 */
256 public Adapter createFunctionalDataAdapter() {
257 return null;
258 }
259
260 /**
261 * Creates a new adapter for the default case.
262 * <!-- begin-user-doc -->
263 * This default implementation returns null.
264 * <!-- end-user-doc -->
265 * @return the new adapter.
266 * @generated
267 */
268 public Adapter createEObjectAdapter() {
269 return null;
270 }
271
272} //FunctionalarchitectureAdapterFactory
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureSwitch.java b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureSwitch.java
new file mode 100644
index 00000000..c765346e
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/src/functionalarchitecture/util/FunctionalarchitectureSwitch.java
@@ -0,0 +1,289 @@
1/**
2 */
3package functionalarchitecture.util;
4
5import functionalarchitecture.FAMTerminator;
6import functionalarchitecture.Function;
7import functionalarchitecture.FunctionalArchitectureModel;
8import functionalarchitecture.FunctionalData;
9import functionalarchitecture.FunctionalElement;
10import functionalarchitecture.FunctionalInput;
11import functionalarchitecture.FunctionalOutput;
12import functionalarchitecture.FunctionalarchitecturePackage;
13import functionalarchitecture.InformationLink;
14
15import org.eclipse.emf.ecore.EObject;
16import org.eclipse.emf.ecore.EPackage;
17
18import org.eclipse.emf.ecore.util.Switch;
19
20/**
21 * <!-- begin-user-doc -->
22 * The <b>Switch</b> for the model's inheritance hierarchy.
23 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
24 * to invoke the <code>caseXXX</code> method for each class of the model,
25 * starting with the actual class of the object
26 * and proceeding up the inheritance hierarchy
27 * until a non-null result is returned,
28 * which is the result of the switch.
29 * <!-- end-user-doc -->
30 * @see functionalarchitecture.FunctionalarchitecturePackage
31 * @generated
32 */
33public class FunctionalarchitectureSwitch<T> extends Switch<T> {
34 /**
35 * The cached model package
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 protected static FunctionalarchitecturePackage modelPackage;
41
42 /**
43 * Creates an instance of the switch.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public FunctionalarchitectureSwitch() {
49 if (modelPackage == null) {
50 modelPackage = FunctionalarchitecturePackage.eINSTANCE;
51 }
52 }
53
54 /**
55 * Checks whether this is a switch for the given package.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @param ePackage the package in question.
59 * @return whether this is a switch for the given package.
60 * @generated
61 */
62 @Override
63 protected boolean isSwitchFor(EPackage ePackage) {
64 return ePackage == modelPackage;
65 }
66
67 /**
68 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @return the first non-null result returned by a <code>caseXXX</code> call.
72 * @generated
73 */
74 @Override
75 protected T doSwitch(int classifierID, EObject theEObject) {
76 switch (classifierID) {
77 case FunctionalarchitecturePackage.FUNCTIONAL_ELEMENT: {
78 FunctionalElement functionalElement = (FunctionalElement)theEObject;
79 T result = caseFunctionalElement(functionalElement);
80 if (result == null) result = defaultCase(theEObject);
81 return result;
82 }
83 case FunctionalarchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL: {
84 FunctionalArchitectureModel functionalArchitectureModel = (FunctionalArchitectureModel)theEObject;
85 T result = caseFunctionalArchitectureModel(functionalArchitectureModel);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case FunctionalarchitecturePackage.FUNCTION: {
90 Function function = (Function)theEObject;
91 T result = caseFunction(function);
92 if (result == null) result = caseFunctionalElement(function);
93 if (result == null) result = defaultCase(theEObject);
94 return result;
95 }
96 case FunctionalarchitecturePackage.FAM_TERMINATOR: {
97 FAMTerminator famTerminator = (FAMTerminator)theEObject;
98 T result = caseFAMTerminator(famTerminator);
99 if (result == null) result = defaultCase(theEObject);
100 return result;
101 }
102 case FunctionalarchitecturePackage.INFORMATION_LINK: {
103 InformationLink informationLink = (InformationLink)theEObject;
104 T result = caseInformationLink(informationLink);
105 if (result == null) result = defaultCase(theEObject);
106 return result;
107 }
108 case FunctionalarchitecturePackage.FUNCTIONAL_INTERFACE: {
109 functionalarchitecture.FunctionalInterface functionalInterface = (functionalarchitecture.FunctionalInterface)theEObject;
110 T result = caseFunctionalInterface(functionalInterface);
111 if (result == null) result = defaultCase(theEObject);
112 return result;
113 }
114 case FunctionalarchitecturePackage.FUNCTIONAL_INPUT: {
115 FunctionalInput functionalInput = (FunctionalInput)theEObject;
116 T result = caseFunctionalInput(functionalInput);
117 if (result == null) result = caseFunctionalData(functionalInput);
118 if (result == null) result = defaultCase(theEObject);
119 return result;
120 }
121 case FunctionalarchitecturePackage.FUNCTIONAL_OUTPUT: {
122 FunctionalOutput functionalOutput = (FunctionalOutput)theEObject;
123 T result = caseFunctionalOutput(functionalOutput);
124 if (result == null) result = caseFunctionalData(functionalOutput);
125 if (result == null) result = defaultCase(theEObject);
126 return result;
127 }
128 case FunctionalarchitecturePackage.FUNCTIONAL_DATA: {
129 FunctionalData functionalData = (FunctionalData)theEObject;
130 T result = caseFunctionalData(functionalData);
131 if (result == null) result = defaultCase(theEObject);
132 return result;
133 }
134 default: return defaultCase(theEObject);
135 }
136 }
137
138 /**
139 * Returns the result of interpreting the object as an instance of '<em>Functional Element</em>'.
140 * <!-- begin-user-doc -->
141 * This implementation returns null;
142 * returning a non-null result will terminate the switch.
143 * <!-- end-user-doc -->
144 * @param object the target of the switch.
145 * @return the result of interpreting the object as an instance of '<em>Functional Element</em>'.
146 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
147 * @generated
148 */
149 public T caseFunctionalElement(FunctionalElement object) {
150 return null;
151 }
152
153 /**
154 * Returns the result of interpreting the object as an instance of '<em>Functional Architecture Model</em>'.
155 * <!-- begin-user-doc -->
156 * This implementation returns null;
157 * returning a non-null result will terminate the switch.
158 * <!-- end-user-doc -->
159 * @param object the target of the switch.
160 * @return the result of interpreting the object as an instance of '<em>Functional Architecture Model</em>'.
161 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
162 * @generated
163 */
164 public T caseFunctionalArchitectureModel(FunctionalArchitectureModel object) {
165 return null;
166 }
167
168 /**
169 * Returns the result of interpreting the object as an instance of '<em>Function</em>'.
170 * <!-- begin-user-doc -->
171 * This implementation returns null;
172 * returning a non-null result will terminate the switch.
173 * <!-- end-user-doc -->
174 * @param object the target of the switch.
175 * @return the result of interpreting the object as an instance of '<em>Function</em>'.
176 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
177 * @generated
178 */
179 public T caseFunction(Function object) {
180 return null;
181 }
182
183 /**
184 * Returns the result of interpreting the object as an instance of '<em>FAM Terminator</em>'.
185 * <!-- begin-user-doc -->
186 * This implementation returns null;
187 * returning a non-null result will terminate the switch.
188 * <!-- end-user-doc -->
189 * @param object the target of the switch.
190 * @return the result of interpreting the object as an instance of '<em>FAM Terminator</em>'.
191 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
192 * @generated
193 */
194 public T caseFAMTerminator(FAMTerminator object) {
195 return null;
196 }
197
198 /**
199 * Returns the result of interpreting the object as an instance of '<em>Information Link</em>'.
200 * <!-- begin-user-doc -->
201 * This implementation returns null;
202 * returning a non-null result will terminate the switch.
203 * <!-- end-user-doc -->
204 * @param object the target of the switch.
205 * @return the result of interpreting the object as an instance of '<em>Information Link</em>'.
206 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
207 * @generated
208 */
209 public T caseInformationLink(InformationLink object) {
210 return null;
211 }
212
213 /**
214 * Returns the result of interpreting the object as an instance of '<em>Functional Interface</em>'.
215 * <!-- begin-user-doc -->
216 * This implementation returns null;
217 * returning a non-null result will terminate the switch.
218 * <!-- end-user-doc -->
219 * @param object the target of the switch.
220 * @return the result of interpreting the object as an instance of '<em>Functional Interface</em>'.
221 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
222 * @generated
223 */
224 public T caseFunctionalInterface(functionalarchitecture.FunctionalInterface object) {
225 return null;
226 }
227
228 /**
229 * Returns the result of interpreting the object as an instance of '<em>Functional Input</em>'.
230 * <!-- begin-user-doc -->
231 * This implementation returns null;
232 * returning a non-null result will terminate the switch.
233 * <!-- end-user-doc -->
234 * @param object the target of the switch.
235 * @return the result of interpreting the object as an instance of '<em>Functional Input</em>'.
236 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
237 * @generated
238 */
239 public T caseFunctionalInput(FunctionalInput object) {
240 return null;
241 }
242
243 /**
244 * Returns the result of interpreting the object as an instance of '<em>Functional Output</em>'.
245 * <!-- begin-user-doc -->
246 * This implementation returns null;
247 * returning a non-null result will terminate the switch.
248 * <!-- end-user-doc -->
249 * @param object the target of the switch.
250 * @return the result of interpreting the object as an instance of '<em>Functional Output</em>'.
251 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
252 * @generated
253 */
254 public T caseFunctionalOutput(FunctionalOutput object) {
255 return null;
256 }
257
258 /**
259 * Returns the result of interpreting the object as an instance of '<em>Functional Data</em>'.
260 * <!-- begin-user-doc -->
261 * This implementation returns null;
262 * returning a non-null result will terminate the switch.
263 * <!-- end-user-doc -->
264 * @param object the target of the switch.
265 * @return the result of interpreting the object as an instance of '<em>Functional Data</em>'.
266 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
267 * @generated
268 */
269 public T caseFunctionalData(FunctionalData object) {
270 return null;
271 }
272
273 /**
274 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
275 * <!-- begin-user-doc -->
276 * This implementation returns null;
277 * returning a non-null result will terminate the switch, but this is the last case anyway.
278 * <!-- end-user-doc -->
279 * @param object the target of the switch.
280 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
281 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
282 * @generated
283 */
284 @Override
285 public T defaultCase(EObject object) {
286 return null;
287 }
288
289} //FunctionalarchitectureSwitch