aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 20:19:26 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 20:19:26 -0400
commitadddfa282a0fe78bfdc5ffb967996d89293aa45c (patch)
treeef9b3dbed5bd4fa850d890a67b4c7ee3c1648782
parentVAMPIRE: Rebase on Master (diff)
parentVAMPIRE: Rebase on Master (diff)
downloadVIATRA-Generator-adddfa282a0fe78bfdc5ffb967996d89293aa45c.tar.gz
VIATRA-Generator-adddfa282a0fe78bfdc5ffb967996d89293aa45c.tar.zst
VIATRA-Generator-adddfa282a0fe78bfdc5ffb967996d89293aa45c.zip
Merge branch 'Vampire-New' into Vampire-New
Conflicts: Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.java Domains/Examples/ModelGenExampleFAM_plugin/model/FamMetamodel.ecore Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/ContentInNotLive.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/DirectSupertype.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/LoopInInheritence.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/NonSymmetricOpposite.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Opposite.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/OppositeDifferentClass.java Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Entry.java Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Synchronization.java Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/EntryImpl.java Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/SynchronizationImpl.java
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml2
-rw-r--r--Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml5
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml183
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF17
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend46
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF4
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/TestExecutionICSE.xtend22
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FAMTerminator.java52
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/Function.java61
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionType.java241
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalArchitectureModel.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalData.java81
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalElement.java109
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInput.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInterface.java73
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalOutput.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/InformationLink.java81
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famFactory.java96
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famPackage.java1032
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FAMTerminatorImpl.java196
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionImpl.java191
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalArchitectureModelImpl.java152
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalDataImpl.java267
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalElementImpl.java318
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInputImpl.java165
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInterfaceImpl.java243
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalOutputImpl.java165
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/InformationLinkImpl.java285
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famFactoryImpl.java219
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famPackageImpl.java574
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famAdapterFactory.java271
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famSwitch.java289
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Dir.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FSObject.java52
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/File.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FileSystem.java69
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Model.java69
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemFactory.java69
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemPackage.java511
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/DirImpl.java165
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FSObjectImpl.java196
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileSystemImpl.java198
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/ModelImpl.java221
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemFactoryImpl.java128
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemPackageImpl.java338
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemAdapterFactory.java192
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemSwitch.java196
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Choice.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/CompositeElement.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Exit.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/FinalState.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Pseudostate.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Region.java42
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/RegularState.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/State.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Statechart.java17
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Transition.java81
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Vertex.java63
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduFactory.java114
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduPackage.java1038
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ChoiceImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/CompositeElementImpl.java152
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ExitImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/FinalStateImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/PseudostateImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegionImpl.java152
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegularStateImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StateImpl.java183
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StatechartImpl.java37
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/TransitionImpl.java284
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/VertexImpl.java206
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduFactoryImpl.java183
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduPackageImpl.java494
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduAdapterFactory.java336
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduSwitch.java378
77 files changed, 11899 insertions, 264 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
index 099d6993..9f35e6da 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
@@ -426,5 +426,5 @@
426 style="push"> 426 style="push">
427 </command> 427 </command>
428 </menuContribution> 428 </menuContribution>
429 </extension> 429 </extension>
430</plugin> 430</plugin>
diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml
index 2355fff1..33f2a4a0 100644
--- a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml
+++ b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml
@@ -1,8 +1,3 @@
1<<<<<<< HEAD
2<<<<<<< HEAD
3<<<<<<< HEAD
4<<<<<<< HEAD
5<<<<<<< HEAD
6<?xml version="1.0" encoding="UTF-8"?><plugin> 1<?xml version="1.0" encoding="UTF-8"?><plugin>
7 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.model" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features"> 2 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.model" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
8 <wellbehaving-derived-feature classifier-name="FunctionalElement" feature-name="model" package-nsUri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/> 3 <wellbehaving-derived-feature classifier-name="FunctionalElement" feature-name="model" package-nsUri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
index 623e0046..93db1ff7 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
@@ -14,18 +14,10 @@ Export-Package: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm,
14 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.util, 14 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.util,
15 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.util 15 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.util
16Require-Bundle: org.eclipse.viatra.query.runtime, 16Require-Bundle: org.eclipse.viatra.query.runtime,
17<<<<<<< HEAD
18 org.eclipse.core.runtime, 17 org.eclipse.core.runtime,
19 org.eclipse.emf.ecore;visibility:=reexport, 18 org.eclipse.emf.ecore;visibility:=reexport,
20 com.google.guava;bundle-version="15.0.0" 19 com.google.guava;bundle-version="15.0.0"
21Bundle-RequiredExecutionEnvironment: JavaSE-1.8 20Bundle-RequiredExecutionEnvironment: JavaSE-1.8
22Bundle-ActivationPolicy: lazy
23=======
24 org.eclipse.core.runtime,
25 org.eclipse.emf.ecore;visibility:=reexport,
26 com.google.guava;bundle-version="15.0.0"
27>>>>>>> 5d1165ce... VAMPIRE: Implement Vampire measurement code
28Import-Package: org.apache.log4j
29Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph 21Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph
30Bundle-ActivationPolicy: lazy 22Bundle-ActivationPolicy: lazy
31Bundle-RequiredExecutionEnvironment: JavaSE-1.8 23Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
index d080c283..95ccc517 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
@@ -1,186 +1,3 @@
1<<<<<<< HEAD
2<<<<<<< HEAD
3<<<<<<< HEAD
4<?xml version="1.0" encoding="UTF-8"?><plugin>
5 <extension point="org.eclipse.emf.ecore.generated_package">
6 <!-- @generated yakindu_simplified -->
7 <package class="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage" genModel="model/yakindu_simplified.genmodel" uri="hu.bme.mit.inf.yakindumm"/>
8 </extension>
9 <extension id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns" point="org.eclipse.viatra.query.runtime.queryspecification">
10 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns" id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns">
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.entryInRegion"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noEntryInRegion"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleEntryInRegion"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transition"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.incomingToEntry"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noOutgoingTransitionFromEntry"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleTransitionFromEntry"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.outgoingFromExit"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.outgoingFromFinal"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noStateInRegion"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.StateInRegion"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoOutgoing"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoIncoming"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoOutgoing"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoIncoming"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegion"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.notSynchronizingStates"/>
28 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleOutgoingTrainsition"/>
29 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleIncomingTrainsition"/>
30 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblings"/>
31 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.child"/>
32 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionDoesNotHaveMultipleRegions"/>
33 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/>
34 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchThree"/>
35 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.twoSynch"/>
36 </group>
37 </extension>
38 <extension id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" point="org.eclipse.viatra.query.runtime.queryspecification">
39 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated">
40 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M0"/>
41 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M1"/>
42 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M2"/>
43 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M0"/>
44 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M1"/>
45 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M2"/>
46 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M3"/>
47 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M4"/>
48 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M5"/>
49 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M0"/>
50 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M1"/>
51 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M2"/>
52 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M3"/>
53 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M4"/>
54 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M5"/>
55 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M0"/>
56 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M1"/>
57 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M2"/>
58 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M3"/>
59 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M4"/>
60 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_M0"/>
61 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_1"/>
62 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_2"/>
63 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_3"/>
64 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_4"/>
65 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_5"/>
66 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M0"/>
67 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M1"/>
68 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M2"/>
69 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M3"/>
70 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M4"/>
71 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M5"/>
72 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M0"/>
73 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M1"/>
74 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M2"/>
75 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M3"/>
76 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M4"/>
77 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M0"/>
78 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M1"/>
79 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M2"/>
80 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M0"/>
81 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M1"/>
82 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M2"/>
83 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M0"/>
84 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M1"/>
85 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M2"/>
86 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M3"/>
87 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M0"/>
88 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M1"/>
89 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M2"/>
90 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M0"/>
91 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M1"/>
92 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M2"/>
93 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M3"/>
94 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M4"/>
95 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M5"/>
96 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M6"/>
97 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M0"/>
98 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M1"/>
99 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M2"/>
100 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M3"/>
101 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M4"/>
102 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M5"/>
103 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M6"/>
104 </group>
105 </extension>
106</plugin>
107=======
108<?xml version="1.0" encoding="UTF-8"?><plugin>
109 <extension point="org.eclipse.emf.ecore.generated_package">
110 <!-- @generated yakindu_simplified -->
111 <package class="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage" genModel="model/yakindu_simplified.genmodel" uri="hu.bme.mit.inf.yakindumm"/>
112 </extension>
113 <extension id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" point="org.eclipse.viatra.query.runtime.queryspecification">
114 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated">
115 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M0"/>
116 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M1"/>
117 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M2"/>
118 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M0"/>
119 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M1"/>
120 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M2"/>
121 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M3"/>
122 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M4"/>
123 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M5"/>
124 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M0"/>
125 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M1"/>
126 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M2"/>
127 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M3"/>
128 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M4"/>
129 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M5"/>
130 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M0"/>
131 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M1"/>
132 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M2"/>
133 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M3"/>
134 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M4"/>
135 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_M0"/>
136 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_1"/>
137 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_2"/>
138 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_3"/>
139 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_4"/>
140 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_5"/>
141 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M0"/>
142 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M1"/>
143 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M2"/>
144 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M3"/>
145 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M4"/>
146 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M5"/>
147 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M0"/>
148 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M1"/>
149 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M2"/>
150 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M3"/>
151 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M4"/>
152 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M0"/>
153 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M1"/>
154 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M2"/>
155 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M0"/>
156 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M1"/>
157 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M2"/>
158 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M0"/>
159 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M1"/>
160 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M2"/>
161 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M3"/>
162 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M0"/>
163 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M1"/>
164 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M2"/>
165 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M0"/>
166 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M1"/>
167 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M2"/>
168 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M3"/>
169 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M4"/>
170 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M5"/>
171 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M6"/>
172 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M0"/>
173 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M1"/>
174 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M2"/>
175 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M3"/>
176 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M4"/>
177 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M5"/>
178 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M6"/>
179 </group>
180 </extension>
181</plugin>
182>>>>>>> 77f583cd... VAMPIRE: #39 Reorganise tests, working yakindu test, need debugging
183=======
184<?xml version="1.0" encoding="UTF-8"?><plugin> 1<?xml version="1.0" encoding="UTF-8"?><plugin>
185 <extension point="org.eclipse.emf.ecore.generated_package"> 2 <extension point="org.eclipse.emf.ecore.generated_package">
186 <!-- @generated yakindu_simplified --> 3 <!-- @generated yakindu_simplified -->
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF
index c3f42035..4c71a872 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF
@@ -21,10 +21,6 @@ Export-Package: hu.bme.mit.inf.dslreasoner.logic.model.builder,
21 hu.bme.mit.inf.dslreasoner.util, 21 hu.bme.mit.inf.dslreasoner.util,
22 hu.bme.mit.inf.dslreasoner.workspace 22 hu.bme.mit.inf.dslreasoner.workspace
23Require-Bundle: org.eclipse.core.runtime, 23Require-Bundle: org.eclipse.core.runtime,
24<<<<<<< HEAD
25<<<<<<< HEAD
26=======
27>>>>>>> 8ecc73c4... VAMPIRE: Rebase on Master
28 org.eclipse.emf.ecore;visibility:=reexport, 24 org.eclipse.emf.ecore;visibility:=reexport,
29 com.google.guava, 25 com.google.guava,
30 org.eclipse.xtend.lib, 26 org.eclipse.xtend.lib,
@@ -33,20 +29,7 @@ Require-Bundle: org.eclipse.core.runtime,
33 org.eclipse.viatra.query.runtime;bundle-version="1.3.0", 29 org.eclipse.viatra.query.runtime;bundle-version="1.3.0",
34 org.apache.commons.lang;bundle-version="2.6.0", 30 org.apache.commons.lang;bundle-version="2.6.0",
35 org.eclipse.emf.ecore.xmi;bundle-version="2.13.0" 31 org.eclipse.emf.ecore.xmi;bundle-version="2.13.0"
36<<<<<<< HEAD
37=======
38 org.eclipse.emf.ecore;visibility:=reexport,
39 com.google.guava,
40 org.eclipse.xtend.lib,
41 org.eclipse.xtext.xbase.lib,
42 org.eclipse.core.resources;bundle-version="3.8.101",
43 org.eclipse.viatra.query.runtime;bundle-version="1.3.0",
44 org.apache.commons.lang;bundle-version="2.6.0",
45 org.eclipse.emf.ecore.xmi;bundle-version="2.13.0"
46=======
47>>>>>>> 8ecc73c4... VAMPIRE: Rebase on Master
48Bundle-RequiredExecutionEnvironment: JavaSE-1.8 32Bundle-RequiredExecutionEnvironment: JavaSE-1.8
49Bundle-ActivationPolicy: lazy 33Bundle-ActivationPolicy: lazy
50>>>>>>> b42fb751... Add gitignore, commit everything
51Import-Package: org.apache.log4j 34Import-Package: org.apache.log4j
52Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.logic.model 35Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.logic.model
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend
index 378c9553..a270cb73 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeScopeMapping.xtend
@@ -1,4 +1,3 @@
1<<<<<<< HEAD
2package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder 1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
3 2
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
@@ -42,49 +41,4 @@ class Logic2AlloyLanguageMapper_AsConstraint implements Logic2AlloyLanguageMappe
42 ] 41 ]
43 ] 42 ]
44 } 43 }
45=======
46package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
47
48import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
49import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDocument
50import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
51
52interface Logic2AlloyLanguageMapper_TypeScopeMapping {
53 def void addLowerMultiplicity(ALSDocument document, Type type, int lowerMultiplicty, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace)
54 def void addUpperMultiplicity(ALSDocument document, Type type, int upperMultiplicty, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace)
55}
56
57class Logic2AlloyLanguageMapper_AsConstraint implements Logic2AlloyLanguageMapper_TypeScopeMapping {
58 val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
59 val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
60 val Logic2AlloyLanguageMapper_TypeMapper typeMapper
61
62 new(Logic2AlloyLanguageMapper_TypeMapper mapper) {
63 this.typeMapper = mapper
64 }
65
66 override addLowerMultiplicity(ALSDocument document, Type type, int lowerMultiplicty, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
67 document.factDeclarations += createALSFactDeclaration => [
68 it.name = support.toID(#["LowerMultiplicity",support.toID(type.name),lowerMultiplicty.toString])
69 it.term = createALSLeq => [
70 it.leftOperand = createALSCardinality => [
71 it.operand = support.unfoldPlus(typeMapper.transformTypeReference(type,mapper,trace).map[t|createALSReference => [it.referred = t]].toList)
72 ]
73 it.rightOperand = createALSNumberLiteral => [it.value = lowerMultiplicty]
74 ]
75 ]
76 }
77
78 override addUpperMultiplicity(ALSDocument document, Type type, int upperMultiplicty, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
79 document.factDeclarations += createALSFactDeclaration => [
80 it.name = support.toID(#["UpperMultiplicity",support.toID(type.name),upperMultiplicty.toString])
81 it.term = createALSMeq => [
82 it.leftOperand = createALSCardinality => [
83 it.operand = support.unfoldPlus(typeMapper.transformTypeReference(type,mapper,trace).map[t|createALSReference => [it.referred = t]].toList)
84 ]
85 it.rightOperand = createALSNumberLiteral => [it.value = upperMultiplicty]
86 ]
87 ]
88 }
89>>>>>>> 25a4b1b5... VAMPIRE: post-submission push
90} \ No newline at end of file 44} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF
index 57f52730..fea5cc00 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/META-INF/MANIFEST.MF
@@ -27,12 +27,8 @@ Require-Bundle: com.google.guava,
27 org.apache.batik.util.gui;bundle-version="[1.6.0,1.6.1]", 27 org.apache.batik.util.gui;bundle-version="[1.6.0,1.6.1]",
28 org.apache.xerces;bundle-version="2.9.0", 28 org.apache.xerces;bundle-version="2.9.0",
29 org.w3c.dom.svg;bundle-version="1.1.0", 29 org.w3c.dom.svg;bundle-version="1.1.0",
30<<<<<<< HEAD
31 org.w3c.css.sac;bundle-version="1.3.1"
32=======
33 org.w3c.css.sac;bundle-version="1.3.1", 30 org.w3c.css.sac;bundle-version="1.3.1",
34 org.eclipse.m2e.maven.runtime.slf4j.simple 31 org.eclipse.m2e.maven.runtime.slf4j.simple
35>>>>>>> 4d27f278... VAMPIRE: last commit
36Import-Package: com.eclipsesource.v8;version="4.6.0", 32Import-Package: com.eclipsesource.v8;version="4.6.0",
37 com.eclipsesource.v8.debug;version="4.6.0", 33 com.eclipsesource.v8.debug;version="4.6.0",
38 com.eclipsesource.v8.utils;version="4.6.0", 34 com.eclipsesource.v8.utils;version="4.6.0",
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/TestExecutionICSE.xtend b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/TestExecutionICSE.xtend
new file mode 100644
index 00000000..41bb763d
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/TestExecutionICSE.xtend
@@ -0,0 +1,22 @@
1package ca.mcgill.ecse.dslreasoner.standalone.test
2
3import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor
4
5class TestExecutionICSE {
6 def static void main(String[] args) {
7 val fileSystemPath = "configs/fileSystem.vsconfig";
8 val ecorePath = "configs/ecore.vsconfig";
9 val yakinduPath = "configs/yakindu.vsconfig";
10 val famPath = "configs/fam.vsconfig";
11// val yakinduWithWFPath = "configs/yakinduWF.vsconfig";
12// val famWithWFPath = "configs/famWF.vsconfig";
13 val exp1 = StandaloneScriptExecutor.executeScript(fileSystemPath);
14 println(exp1)
15// val exp2 = StandaloneScriptExecutor.executeScript(ecorePath);
16// println(exp2)
17 val exp3 = StandaloneScriptExecutor.executeScript(yakinduPath);
18 println(exp3)
19 val exp4 = StandaloneScriptExecutor.executeScript(famPath);
20 println(exp4)
21 }
22} \ No newline at end of file
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FAMTerminator.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FAMTerminator.java
new file mode 100644
index 00000000..686af44b
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FAMTerminator.java
@@ -0,0 +1,52 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator#getData <em>Data</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFAMTerminator_Data()
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getTerminator
37 * @model opposite="terminator" transient="false"
38 * @generated
39 */
40 FunctionalData getData();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/Function.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/Function.java
new file mode 100644
index 00000000..b2e5af29
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/Function.java
@@ -0,0 +1,61 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getSubElements <em>Sub Elements</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getType <em>Type</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement}.
28 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunction_SubElements()
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType
54 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunction_Type()
55 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
56 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='ca.mcgill.ecse.dslreasoner.standalone.test.fam.queries.type'"
57 * @generated
58 */
59 FunctionType getType();
60
61} // Function
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionType.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionType.java
new file mode 100644
index 00000000..71e3062d
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionType.java
@@ -0,0 +1,241 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 public int getValue() {
209 return value;
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 public String getName() {
218 return name;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 public String getLiteral() {
227 return literal;
228 }
229
230 /**
231 * Returns the literal value of the enumerator, which is its string representation.
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public String toString() {
238 return literal;
239 }
240
241} //FunctionType
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalArchitectureModel.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalArchitectureModel.java
new file mode 100644
index 00000000..d1717a9f
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalArchitectureModel.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalArchitectureModel_RootElements()
37 * @model containment="true"
38 * @generated
39 */
40 EList<FunctionalElement> getRootElements();
41
42} // FunctionalArchitectureModel
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalData.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalData.java
new file mode 100644
index 00000000..675318a8
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalData.java
@@ -0,0 +1,81 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getTerminator <em>Terminator</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getInterface <em>Interface</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalData_Terminator()
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator#getData
38 * @model opposite="data" containment="true"
39 * @generated
40 */
41 FAMTerminator getTerminator();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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(FunctionalInterface)
64 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalData_Interface()
65 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getData
66 * @model opposite="data" transient="false"
67 * @generated
68 */
69 FunctionalInterface getInterface();
70
71 /**
72 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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(FunctionalInterface value);
80
81} // FunctionalData
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalElement.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalElement.java
new file mode 100644
index 00000000..acfffbc0
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalElement.java
@@ -0,0 +1,109 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getInterface <em>Interface</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getModel <em>Model</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getParent <em>Parent</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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(FunctionalInterface)
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalElement_Interface()
38 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getElement
39 * @model opposite="element" containment="true"
40 * @generated
41 */
42 FunctionalInterface getInterface();
43
44 /**
45 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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(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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalElement_Model()
65 * @model required="true" transient="true" volatile="true" derived="true"
66 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='ca.mcgill.ecse.dslreasoner.standalone.test.fam.queries.model'"
67 * @generated
68 */
69 FunctionalArchitectureModel getModel();
70
71 /**
72 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalElement_Parent()
93 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getSubElements
94 * @model opposite="subElements" transient="false"
95 * @generated
96 */
97 Function getParent();
98
99 /**
100 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInput.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInput.java
new file mode 100644
index 00000000..de629b29
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink}.
27 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalInput_IncomingLinks()
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getTo
37 * @model opposite="to"
38 * @generated
39 */
40 EList<InformationLink> getIncomingLinks();
41
42} // FunctionalInput
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInterface.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInterface.java
new file mode 100644
index 00000000..732f3cc6
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalInterface.java
@@ -0,0 +1,73 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getData <em>Data</em>}</li>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getElement <em>Element</em>}</li>
20 * </ul>
21 *
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData}.
30 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalInterface_Data()
39 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalInterface_Element()
57 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getInterface
58 * @model opposite="interface" transient="false"
59 * @generated
60 */
61 FunctionalElement getElement();
62
63 /**
64 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalOutput.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalOutput.java
new file mode 100644
index 00000000..51194777
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/FunctionalOutput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink}.
27 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getFunctionalOutput_OutgoingLinks()
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getFrom
37 * @model opposite="from" containment="true"
38 * @generated
39 */
40 EList<InformationLink> getOutgoingLinks();
41
42} // FunctionalOutput
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/InformationLink.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/InformationLink.java
new file mode 100644
index 00000000..26946d01
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/InformationLink.java
@@ -0,0 +1,81 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getFrom <em>From</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getTo <em>To</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getInformationLink_From()
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput#getOutgoingLinks
38 * @model opposite="outgoingLinks" transient="false"
39 * @generated
40 */
41 FunctionalOutput getFrom();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#getInformationLink_To()
65 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput#getIncomingLinks
66 * @model opposite="IncomingLinks" required="true"
67 * @generated
68 */
69 FunctionalInput getTo();
70
71 /**
72 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famFactory.java
new file mode 100644
index 00000000..cdab0041
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famFactory.java
@@ -0,0 +1,96 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage
13 * @generated
14 */
15public interface famFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 famFactory eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famFactoryImpl.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 famPackage getfamPackage();
95
96} //famFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famPackage.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famPackage.java
new file mode 100644
index 00000000..9b876f8b
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/famPackage.java
@@ -0,0 +1,1032 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famFactory
24 * @model kind="package"
25 * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'"
26 * @generated
27 */
28public interface famPackage extends EPackage {
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "fam";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "FamMetamodel";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "fam";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 famPackage eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl
66 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalElement()
67 * @generated
68 */
69 int FUNCTIONAL_ELEMENT = 0;
70
71 /**
72 * The feature id for the '<em><b>Interface</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int FUNCTIONAL_ELEMENT__INTERFACE = 0;
79
80 /**
81 * The feature id for the '<em><b>Model</b></em>' reference.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int FUNCTIONAL_ELEMENT__MODEL = 1;
88
89 /**
90 * The feature id for the '<em><b>Parent</b></em>' container reference.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 * @ordered
95 */
96 int FUNCTIONAL_ELEMENT__PARENT = 2;
97
98 /**
99 * The number of structural features of the '<em>Functional Element</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int FUNCTIONAL_ELEMENT_FEATURE_COUNT = 3;
106
107 /**
108 * The number of operations of the '<em>Functional Element</em>' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 * @ordered
113 */
114 int FUNCTIONAL_ELEMENT_OPERATION_COUNT = 0;
115
116 /**
117 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalArchitectureModelImpl <em>Functional Architecture Model</em>}' class.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalArchitectureModelImpl
121 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalArchitectureModel()
122 * @generated
123 */
124 int FUNCTIONAL_ARCHITECTURE_MODEL = 1;
125
126 /**
127 * The feature id for the '<em><b>Root Elements</b></em>' containment reference list.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = 0;
134
135 /**
136 * The number of structural features of the '<em>Functional Architecture Model</em>' class.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 * @ordered
141 */
142 int FUNCTIONAL_ARCHITECTURE_MODEL_FEATURE_COUNT = 1;
143
144 /**
145 * The number of operations of the '<em>Functional Architecture Model</em>' class.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int FUNCTIONAL_ARCHITECTURE_MODEL_OPERATION_COUNT = 0;
152
153 /**
154 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl <em>Function</em>}' class.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl
158 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunction()
159 * @generated
160 */
161 int FUNCTION = 2;
162
163 /**
164 * The feature id for the '<em><b>Interface</b></em>' containment reference.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 * @ordered
169 */
170 int FUNCTION__INTERFACE = FUNCTIONAL_ELEMENT__INTERFACE;
171
172 /**
173 * The feature id for the '<em><b>Model</b></em>' reference.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 * @ordered
178 */
179 int FUNCTION__MODEL = FUNCTIONAL_ELEMENT__MODEL;
180
181 /**
182 * The feature id for the '<em><b>Parent</b></em>' container reference.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 * @ordered
187 */
188 int FUNCTION__PARENT = FUNCTIONAL_ELEMENT__PARENT;
189
190 /**
191 * The feature id for the '<em><b>Sub Elements</b></em>' containment reference list.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 * @ordered
196 */
197 int FUNCTION__SUB_ELEMENTS = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 0;
198
199 /**
200 * The feature id for the '<em><b>Type</b></em>' attribute.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 * @ordered
205 */
206 int FUNCTION__TYPE = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 1;
207
208 /**
209 * The number of structural features of the '<em>Function</em>' class.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 * @ordered
214 */
215 int FUNCTION_FEATURE_COUNT = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 2;
216
217 /**
218 * The number of operations of the '<em>Function</em>' class.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 * @ordered
223 */
224 int FUNCTION_OPERATION_COUNT = FUNCTIONAL_ELEMENT_OPERATION_COUNT + 0;
225
226 /**
227 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FAMTerminatorImpl
231 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFAMTerminator()
232 * @generated
233 */
234 int FAM_TERMINATOR = 3;
235
236 /**
237 * The feature id for the '<em><b>Data</b></em>' container reference.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 * @ordered
242 */
243 int FAM_TERMINATOR__DATA = 0;
244
245 /**
246 * The number of structural features of the '<em>FAM Terminator</em>' class.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 * @ordered
251 */
252 int FAM_TERMINATOR_FEATURE_COUNT = 1;
253
254 /**
255 * The number of operations of the '<em>FAM Terminator</em>' class.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 * @ordered
260 */
261 int FAM_TERMINATOR_OPERATION_COUNT = 0;
262
263 /**
264 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.InformationLinkImpl <em>Information Link</em>}' class.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.InformationLinkImpl
268 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getInformationLink()
269 * @generated
270 */
271 int INFORMATION_LINK = 4;
272
273 /**
274 * The feature id for the '<em><b>From</b></em>' container reference.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 * @ordered
279 */
280 int INFORMATION_LINK__FROM = 0;
281
282 /**
283 * The feature id for the '<em><b>To</b></em>' reference.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 * @ordered
288 */
289 int INFORMATION_LINK__TO = 1;
290
291 /**
292 * The number of structural features of the '<em>Information Link</em>' class.
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 * @ordered
297 */
298 int INFORMATION_LINK_FEATURE_COUNT = 2;
299
300 /**
301 * The number of operations of the '<em>Information Link</em>' class.
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 * @ordered
306 */
307 int INFORMATION_LINK_OPERATION_COUNT = 0;
308
309 /**
310 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl
314 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalInterface()
315 * @generated
316 */
317 int FUNCTIONAL_INTERFACE = 5;
318
319 /**
320 * The feature id for the '<em><b>Data</b></em>' containment reference list.
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 * @ordered
325 */
326 int FUNCTIONAL_INTERFACE__DATA = 0;
327
328 /**
329 * The feature id for the '<em><b>Element</b></em>' container reference.
330 * <!-- begin-user-doc -->
331 * <!-- end-user-doc -->
332 * @generated
333 * @ordered
334 */
335 int FUNCTIONAL_INTERFACE__ELEMENT = 1;
336
337 /**
338 * The number of structural features of the '<em>Functional Interface</em>' class.
339 * <!-- begin-user-doc -->
340 * <!-- end-user-doc -->
341 * @generated
342 * @ordered
343 */
344 int FUNCTIONAL_INTERFACE_FEATURE_COUNT = 2;
345
346 /**
347 * The number of operations of the '<em>Functional Interface</em>' class.
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @generated
351 * @ordered
352 */
353 int FUNCTIONAL_INTERFACE_OPERATION_COUNT = 0;
354
355 /**
356 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
357 * <!-- begin-user-doc -->
358 * <!-- end-user-doc -->
359 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl
360 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalData()
361 * @generated
362 */
363 int FUNCTIONAL_DATA = 8;
364
365 /**
366 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 * @ordered
371 */
372 int FUNCTIONAL_DATA__TERMINATOR = 0;
373
374 /**
375 * The feature id for the '<em><b>Interface</b></em>' container reference.
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 * @ordered
380 */
381 int FUNCTIONAL_DATA__INTERFACE = 1;
382
383 /**
384 * The number of structural features of the '<em>Functional Data</em>' class.
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 * @ordered
389 */
390 int FUNCTIONAL_DATA_FEATURE_COUNT = 2;
391
392 /**
393 * The number of operations of the '<em>Functional Data</em>' class.
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 * @ordered
398 */
399 int FUNCTIONAL_DATA_OPERATION_COUNT = 0;
400
401 /**
402 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInputImpl
406 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalInput()
407 * @generated
408 */
409 int FUNCTIONAL_INPUT = 6;
410
411 /**
412 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @generated
416 * @ordered
417 */
418 int FUNCTIONAL_INPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
419
420 /**
421 * The feature id for the '<em><b>Interface</b></em>' container reference.
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 * @ordered
426 */
427 int FUNCTIONAL_INPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
428
429 /**
430 * The feature id for the '<em><b>Incoming Links</b></em>' reference list.
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 * @ordered
435 */
436 int FUNCTIONAL_INPUT__INCOMING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
437
438 /**
439 * The number of structural features of the '<em>Functional Input</em>' class.
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 * @ordered
444 */
445 int FUNCTIONAL_INPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
446
447 /**
448 * The number of operations of the '<em>Functional Input</em>' class.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 * @ordered
453 */
454 int FUNCTIONAL_INPUT_OPERATION_COUNT = FUNCTIONAL_DATA_OPERATION_COUNT + 0;
455
456 /**
457 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
458 * <!-- begin-user-doc -->
459 * <!-- end-user-doc -->
460 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalOutputImpl
461 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalOutput()
462 * @generated
463 */
464 int FUNCTIONAL_OUTPUT = 7;
465
466 /**
467 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
468 * <!-- begin-user-doc -->
469 * <!-- end-user-doc -->
470 * @generated
471 * @ordered
472 */
473 int FUNCTIONAL_OUTPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
474
475 /**
476 * The feature id for the '<em><b>Interface</b></em>' container reference.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @generated
480 * @ordered
481 */
482 int FUNCTIONAL_OUTPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
483
484 /**
485 * The feature id for the '<em><b>Outgoing Links</b></em>' containment reference list.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 * @ordered
490 */
491 int FUNCTIONAL_OUTPUT__OUTGOING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
492
493 /**
494 * The number of structural features of the '<em>Functional Output</em>' class.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 * @ordered
499 */
500 int FUNCTIONAL_OUTPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
501
502 /**
503 * The number of operations of the '<em>Functional Output</em>' class.
504 * <!-- begin-user-doc -->
505 * <!-- end-user-doc -->
506 * @generated
507 * @ordered
508 */
509 int FUNCTIONAL_OUTPUT_OPERATION_COUNT = FUNCTIONAL_DATA_OPERATION_COUNT + 0;
510
511 /**
512 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType <em>Function Type</em>}' enum.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType
516 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionType()
517 * @generated
518 */
519 int FUNCTION_TYPE = 9;
520
521
522 /**
523 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement <em>Functional Element</em>}'.
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @return the meta object for class '<em>Functional Element</em>'.
527 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement
528 * @generated
529 */
530 EClass getFunctionalElement();
531
532 /**
533 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getInterface <em>Interface</em>}'.
534 * <!-- begin-user-doc -->
535 * <!-- end-user-doc -->
536 * @return the meta object for the containment reference '<em>Interface</em>'.
537 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getInterface()
538 * @see #getFunctionalElement()
539 * @generated
540 */
541 EReference getFunctionalElement_Interface();
542
543 /**
544 * Returns the meta object for the reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getModel <em>Model</em>}'.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @return the meta object for the reference '<em>Model</em>'.
548 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getModel()
549 * @see #getFunctionalElement()
550 * @generated
551 */
552 EReference getFunctionalElement_Model();
553
554 /**
555 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getParent <em>Parent</em>}'.
556 * <!-- begin-user-doc -->
557 * <!-- end-user-doc -->
558 * @return the meta object for the container reference '<em>Parent</em>'.
559 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement#getParent()
560 * @see #getFunctionalElement()
561 * @generated
562 */
563 EReference getFunctionalElement_Parent();
564
565 /**
566 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel <em>Functional Architecture Model</em>}'.
567 * <!-- begin-user-doc -->
568 * <!-- end-user-doc -->
569 * @return the meta object for class '<em>Functional Architecture Model</em>'.
570 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel
571 * @generated
572 */
573 EClass getFunctionalArchitectureModel();
574
575 /**
576 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}'.
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @return the meta object for the containment reference list '<em>Root Elements</em>'.
580 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel#getRootElements()
581 * @see #getFunctionalArchitectureModel()
582 * @generated
583 */
584 EReference getFunctionalArchitectureModel_RootElements();
585
586 /**
587 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function <em>Function</em>}'.
588 * <!-- begin-user-doc -->
589 * <!-- end-user-doc -->
590 * @return the meta object for class '<em>Function</em>'.
591 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function
592 * @generated
593 */
594 EClass getFunction();
595
596 /**
597 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getSubElements <em>Sub Elements</em>}'.
598 * <!-- begin-user-doc -->
599 * <!-- end-user-doc -->
600 * @return the meta object for the containment reference list '<em>Sub Elements</em>'.
601 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getSubElements()
602 * @see #getFunction()
603 * @generated
604 */
605 EReference getFunction_SubElements();
606
607 /**
608 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getType <em>Type</em>}'.
609 * <!-- begin-user-doc -->
610 * <!-- end-user-doc -->
611 * @return the meta object for the attribute '<em>Type</em>'.
612 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function#getType()
613 * @see #getFunction()
614 * @generated
615 */
616 EAttribute getFunction_Type();
617
618 /**
619 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator <em>FAM Terminator</em>}'.
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @return the meta object for class '<em>FAM Terminator</em>'.
623 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator
624 * @generated
625 */
626 EClass getFAMTerminator();
627
628 /**
629 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator#getData <em>Data</em>}'.
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @return the meta object for the container reference '<em>Data</em>'.
633 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator#getData()
634 * @see #getFAMTerminator()
635 * @generated
636 */
637 EReference getFAMTerminator_Data();
638
639 /**
640 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink <em>Information Link</em>}'.
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @return the meta object for class '<em>Information Link</em>'.
644 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink
645 * @generated
646 */
647 EClass getInformationLink();
648
649 /**
650 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getFrom <em>From</em>}'.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @return the meta object for the container reference '<em>From</em>'.
654 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getFrom()
655 * @see #getInformationLink()
656 * @generated
657 */
658 EReference getInformationLink_From();
659
660 /**
661 * Returns the meta object for the reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getTo <em>To</em>}'.
662 * <!-- begin-user-doc -->
663 * <!-- end-user-doc -->
664 * @return the meta object for the reference '<em>To</em>'.
665 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink#getTo()
666 * @see #getInformationLink()
667 * @generated
668 */
669 EReference getInformationLink_To();
670
671 /**
672 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface <em>Functional Interface</em>}'.
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @return the meta object for class '<em>Functional Interface</em>'.
676 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface
677 * @generated
678 */
679 EClass getFunctionalInterface();
680
681 /**
682 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getData <em>Data</em>}'.
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @return the meta object for the containment reference list '<em>Data</em>'.
686 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getData()
687 * @see #getFunctionalInterface()
688 * @generated
689 */
690 EReference getFunctionalInterface_Data();
691
692 /**
693 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getElement <em>Element</em>}'.
694 * <!-- begin-user-doc -->
695 * <!-- end-user-doc -->
696 * @return the meta object for the container reference '<em>Element</em>'.
697 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface#getElement()
698 * @see #getFunctionalInterface()
699 * @generated
700 */
701 EReference getFunctionalInterface_Element();
702
703 /**
704 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput <em>Functional Input</em>}'.
705 * <!-- begin-user-doc -->
706 * <!-- end-user-doc -->
707 * @return the meta object for class '<em>Functional Input</em>'.
708 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput
709 * @generated
710 */
711 EClass getFunctionalInput();
712
713 /**
714 * Returns the meta object for the reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}'.
715 * <!-- begin-user-doc -->
716 * <!-- end-user-doc -->
717 * @return the meta object for the reference list '<em>Incoming Links</em>'.
718 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput#getIncomingLinks()
719 * @see #getFunctionalInput()
720 * @generated
721 */
722 EReference getFunctionalInput_IncomingLinks();
723
724 /**
725 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput <em>Functional Output</em>}'.
726 * <!-- begin-user-doc -->
727 * <!-- end-user-doc -->
728 * @return the meta object for class '<em>Functional Output</em>'.
729 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput
730 * @generated
731 */
732 EClass getFunctionalOutput();
733
734 /**
735 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}'.
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @return the meta object for the containment reference list '<em>Outgoing Links</em>'.
739 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput#getOutgoingLinks()
740 * @see #getFunctionalOutput()
741 * @generated
742 */
743 EReference getFunctionalOutput_OutgoingLinks();
744
745 /**
746 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData <em>Functional Data</em>}'.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @return the meta object for class '<em>Functional Data</em>'.
750 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData
751 * @generated
752 */
753 EClass getFunctionalData();
754
755 /**
756 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getTerminator <em>Terminator</em>}'.
757 * <!-- begin-user-doc -->
758 * <!-- end-user-doc -->
759 * @return the meta object for the containment reference '<em>Terminator</em>'.
760 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getTerminator()
761 * @see #getFunctionalData()
762 * @generated
763 */
764 EReference getFunctionalData_Terminator();
765
766 /**
767 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getInterface <em>Interface</em>}'.
768 * <!-- begin-user-doc -->
769 * <!-- end-user-doc -->
770 * @return the meta object for the container reference '<em>Interface</em>'.
771 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData#getInterface()
772 * @see #getFunctionalData()
773 * @generated
774 */
775 EReference getFunctionalData_Interface();
776
777 /**
778 * Returns the meta object for enum '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType <em>Function Type</em>}'.
779 * <!-- begin-user-doc -->
780 * <!-- end-user-doc -->
781 * @return the meta object for enum '<em>Function Type</em>'.
782 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType
783 * @generated
784 */
785 EEnum getFunctionType();
786
787 /**
788 * Returns the factory that creates the instances of the model.
789 * <!-- begin-user-doc -->
790 * <!-- end-user-doc -->
791 * @return the factory that creates the instances of the model.
792 * @generated
793 */
794 famFactory getfamFactory();
795
796 /**
797 * <!-- begin-user-doc -->
798 * Defines literals for the meta objects that represent
799 * <ul>
800 * <li>each class,</li>
801 * <li>each feature of each class,</li>
802 * <li>each operation of each class,</li>
803 * <li>each enum,</li>
804 * <li>and each data type</li>
805 * </ul>
806 * <!-- end-user-doc -->
807 * @generated
808 */
809 interface Literals {
810 /**
811 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl
815 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalElement()
816 * @generated
817 */
818 EClass FUNCTIONAL_ELEMENT = eINSTANCE.getFunctionalElement();
819
820 /**
821 * The meta object literal for the '<em><b>Interface</b></em>' containment reference feature.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 */
826 EReference FUNCTIONAL_ELEMENT__INTERFACE = eINSTANCE.getFunctionalElement_Interface();
827
828 /**
829 * The meta object literal for the '<em><b>Model</b></em>' reference feature.
830 * <!-- begin-user-doc -->
831 * <!-- end-user-doc -->
832 * @generated
833 */
834 EReference FUNCTIONAL_ELEMENT__MODEL = eINSTANCE.getFunctionalElement_Model();
835
836 /**
837 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
838 * <!-- begin-user-doc -->
839 * <!-- end-user-doc -->
840 * @generated
841 */
842 EReference FUNCTIONAL_ELEMENT__PARENT = eINSTANCE.getFunctionalElement_Parent();
843
844 /**
845 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalArchitectureModelImpl <em>Functional Architecture Model</em>}' class.
846 * <!-- begin-user-doc -->
847 * <!-- end-user-doc -->
848 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalArchitectureModelImpl
849 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalArchitectureModel()
850 * @generated
851 */
852 EClass FUNCTIONAL_ARCHITECTURE_MODEL = eINSTANCE.getFunctionalArchitectureModel();
853
854 /**
855 * The meta object literal for the '<em><b>Root Elements</b></em>' containment reference list feature.
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 */
860 EReference FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = eINSTANCE.getFunctionalArchitectureModel_RootElements();
861
862 /**
863 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl <em>Function</em>}' class.
864 * <!-- begin-user-doc -->
865 * <!-- end-user-doc -->
866 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl
867 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunction()
868 * @generated
869 */
870 EClass FUNCTION = eINSTANCE.getFunction();
871
872 /**
873 * The meta object literal for the '<em><b>Sub Elements</b></em>' containment reference list feature.
874 * <!-- begin-user-doc -->
875 * <!-- end-user-doc -->
876 * @generated
877 */
878 EReference FUNCTION__SUB_ELEMENTS = eINSTANCE.getFunction_SubElements();
879
880 /**
881 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @generated
885 */
886 EAttribute FUNCTION__TYPE = eINSTANCE.getFunction_Type();
887
888 /**
889 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FAMTerminatorImpl
893 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFAMTerminator()
894 * @generated
895 */
896 EClass FAM_TERMINATOR = eINSTANCE.getFAMTerminator();
897
898 /**
899 * The meta object literal for the '<em><b>Data</b></em>' container reference feature.
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 */
904 EReference FAM_TERMINATOR__DATA = eINSTANCE.getFAMTerminator_Data();
905
906 /**
907 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.InformationLinkImpl <em>Information Link</em>}' class.
908 * <!-- begin-user-doc -->
909 * <!-- end-user-doc -->
910 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.InformationLinkImpl
911 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getInformationLink()
912 * @generated
913 */
914 EClass INFORMATION_LINK = eINSTANCE.getInformationLink();
915
916 /**
917 * The meta object literal for the '<em><b>From</b></em>' container reference feature.
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 */
922 EReference INFORMATION_LINK__FROM = eINSTANCE.getInformationLink_From();
923
924 /**
925 * The meta object literal for the '<em><b>To</b></em>' reference feature.
926 * <!-- begin-user-doc -->
927 * <!-- end-user-doc -->
928 * @generated
929 */
930 EReference INFORMATION_LINK__TO = eINSTANCE.getInformationLink_To();
931
932 /**
933 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
934 * <!-- begin-user-doc -->
935 * <!-- end-user-doc -->
936 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl
937 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalInterface()
938 * @generated
939 */
940 EClass FUNCTIONAL_INTERFACE = eINSTANCE.getFunctionalInterface();
941
942 /**
943 * The meta object literal for the '<em><b>Data</b></em>' containment reference list feature.
944 * <!-- begin-user-doc -->
945 * <!-- end-user-doc -->
946 * @generated
947 */
948 EReference FUNCTIONAL_INTERFACE__DATA = eINSTANCE.getFunctionalInterface_Data();
949
950 /**
951 * The meta object literal for the '<em><b>Element</b></em>' container reference feature.
952 * <!-- begin-user-doc -->
953 * <!-- end-user-doc -->
954 * @generated
955 */
956 EReference FUNCTIONAL_INTERFACE__ELEMENT = eINSTANCE.getFunctionalInterface_Element();
957
958 /**
959 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInputImpl
963 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalInput()
964 * @generated
965 */
966 EClass FUNCTIONAL_INPUT = eINSTANCE.getFunctionalInput();
967
968 /**
969 * The meta object literal for the '<em><b>Incoming Links</b></em>' reference list feature.
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @generated
973 */
974 EReference FUNCTIONAL_INPUT__INCOMING_LINKS = eINSTANCE.getFunctionalInput_IncomingLinks();
975
976 /**
977 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
978 * <!-- begin-user-doc -->
979 * <!-- end-user-doc -->
980 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalOutputImpl
981 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalOutput()
982 * @generated
983 */
984 EClass FUNCTIONAL_OUTPUT = eINSTANCE.getFunctionalOutput();
985
986 /**
987 * The meta object literal for the '<em><b>Outgoing Links</b></em>' containment reference list feature.
988 * <!-- begin-user-doc -->
989 * <!-- end-user-doc -->
990 * @generated
991 */
992 EReference FUNCTIONAL_OUTPUT__OUTGOING_LINKS = eINSTANCE.getFunctionalOutput_OutgoingLinks();
993
994 /**
995 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
996 * <!-- begin-user-doc -->
997 * <!-- end-user-doc -->
998 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl
999 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionalData()
1000 * @generated
1001 */
1002 EClass FUNCTIONAL_DATA = eINSTANCE.getFunctionalData();
1003
1004 /**
1005 * The meta object literal for the '<em><b>Terminator</b></em>' containment reference feature.
1006 * <!-- begin-user-doc -->
1007 * <!-- end-user-doc -->
1008 * @generated
1009 */
1010 EReference FUNCTIONAL_DATA__TERMINATOR = eINSTANCE.getFunctionalData_Terminator();
1011
1012 /**
1013 * The meta object literal for the '<em><b>Interface</b></em>' container reference feature.
1014 * <!-- begin-user-doc -->
1015 * <!-- end-user-doc -->
1016 * @generated
1017 */
1018 EReference FUNCTIONAL_DATA__INTERFACE = eINSTANCE.getFunctionalData_Interface();
1019
1020 /**
1021 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType <em>Function Type</em>}' enum.
1022 * <!-- begin-user-doc -->
1023 * <!-- end-user-doc -->
1024 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType
1025 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.famPackageImpl#getFunctionType()
1026 * @generated
1027 */
1028 EEnum FUNCTION_TYPE = eINSTANCE.getFunctionType();
1029
1030 }
1031
1032} //famPackage
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FAMTerminatorImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FAMTerminatorImpl.java
new file mode 100644
index 00000000..6eba60f6
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FAMTerminatorImpl.java
@@ -0,0 +1,196 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 famPackage.Literals.FAM_TERMINATOR;
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 public FunctionalData getData() {
59 if (eContainerFeatureID() != famPackage.FAM_TERMINATOR__DATA) return null;
60 return (FunctionalData)eInternalContainer();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 public NotificationChain basicSetData(FunctionalData newData, NotificationChain msgs) {
69 msgs = eBasicSetContainer((InternalEObject)newData, famPackage.FAM_TERMINATOR__DATA, msgs);
70 return msgs;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public void setData(FunctionalData newData) {
79 if (newData != eInternalContainer() || (eContainerFeatureID() != famPackage.FAM_TERMINATOR__DATA && newData != null)) {
80 if (EcoreUtil.isAncestor(this, newData))
81 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
82 NotificationChain msgs = null;
83 if (eInternalContainer() != null)
84 msgs = eBasicRemoveFromContainer(msgs);
85 if (newData != null)
86 msgs = ((InternalEObject)newData).eInverseAdd(this, famPackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
87 msgs = basicSetData(newData, msgs);
88 if (msgs != null) msgs.dispatch();
89 }
90 else if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.FAM_TERMINATOR__DATA, newData, newData));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
101 switch (featureID) {
102 case famPackage.FAM_TERMINATOR__DATA:
103 if (eInternalContainer() != null)
104 msgs = eBasicRemoveFromContainer(msgs);
105 return basicSetData((FunctionalData)otherEnd, msgs);
106 }
107 return super.eInverseAdd(otherEnd, featureID, msgs);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case famPackage.FAM_TERMINATOR__DATA:
119 return basicSetData(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
131 switch (eContainerFeatureID()) {
132 case famPackage.FAM_TERMINATOR__DATA:
133 return eInternalContainer().eInverseRemove(this, famPackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
134 }
135 return super.eBasicRemoveFromContainerFeature(msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public Object eGet(int featureID, boolean resolve, boolean coreType) {
145 switch (featureID) {
146 case famPackage.FAM_TERMINATOR__DATA:
147 return getData();
148 }
149 return super.eGet(featureID, resolve, coreType);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case famPackage.FAM_TERMINATOR__DATA:
161 setData((FunctionalData)newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case famPackage.FAM_TERMINATOR__DATA:
176 setData((FunctionalData)null);
177 return;
178 }
179 super.eUnset(featureID);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public boolean eIsSet(int featureID) {
189 switch (featureID) {
190 case famPackage.FAM_TERMINATOR__DATA:
191 return getData() != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //FAMTerminatorImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionImpl.java
new file mode 100644
index 00000000..ec3e884e
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionImpl.java
@@ -0,0 +1,191 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
9
10import java.util.Collection;
11
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.EStructuralFeature;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Function</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl#getSubElements <em>Sub Elements</em>}</li>
32 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionImpl#getType <em>Type</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FunctionImpl extends FunctionalElementImpl implements Function {
38 /**
39 * The cached value of the '{@link #getSubElements() <em>Sub Elements</em>}' containment reference list.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getSubElements()
43 * @generated
44 * @ordered
45 */
46 protected EList<FunctionalElement> subElements;
47
48 /**
49 * The cached setting delegate for the '{@link #getType() <em>Type</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getType()
53 * @generated
54 * @ordered
55 */
56 protected EStructuralFeature.Internal.SettingDelegate TYPE__ESETTING_DELEGATE = ((EStructuralFeature.Internal)famPackage.Literals.FUNCTION__TYPE).getSettingDelegate();
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 protected FunctionImpl() {
64 super();
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 protected EClass eStaticClass() {
74 return famPackage.Literals.FUNCTION;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public EList<FunctionalElement> getSubElements() {
83 if (subElements == null) {
84 subElements = new EObjectContainmentWithInverseEList<FunctionalElement>(FunctionalElement.class, this, famPackage.FUNCTION__SUB_ELEMENTS, famPackage.FUNCTIONAL_ELEMENT__PARENT);
85 }
86 return subElements;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public FunctionType getType() {
95 return (FunctionType)TYPE__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @SuppressWarnings("unchecked")
104 @Override
105 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
106 switch (featureID) {
107 case famPackage.FUNCTION__SUB_ELEMENTS:
108 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSubElements()).basicAdd(otherEnd, msgs);
109 }
110 return super.eInverseAdd(otherEnd, featureID, msgs);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
120 switch (featureID) {
121 case famPackage.FUNCTION__SUB_ELEMENTS:
122 return ((InternalEList<?>)getSubElements()).basicRemove(otherEnd, msgs);
123 }
124 return super.eInverseRemove(otherEnd, featureID, msgs);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public Object eGet(int featureID, boolean resolve, boolean coreType) {
134 switch (featureID) {
135 case famPackage.FUNCTION__SUB_ELEMENTS:
136 return getSubElements();
137 case famPackage.FUNCTION__TYPE:
138 return getType();
139 }
140 return super.eGet(featureID, resolve, coreType);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @SuppressWarnings("unchecked")
149 @Override
150 public void eSet(int featureID, Object newValue) {
151 switch (featureID) {
152 case famPackage.FUNCTION__SUB_ELEMENTS:
153 getSubElements().clear();
154 getSubElements().addAll((Collection<? extends FunctionalElement>)newValue);
155 return;
156 }
157 super.eSet(featureID, newValue);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eUnset(int featureID) {
167 switch (featureID) {
168 case famPackage.FUNCTION__SUB_ELEMENTS:
169 getSubElements().clear();
170 return;
171 }
172 super.eUnset(featureID);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public boolean eIsSet(int featureID) {
182 switch (featureID) {
183 case famPackage.FUNCTION__SUB_ELEMENTS:
184 return subElements != null && !subElements.isEmpty();
185 case famPackage.FUNCTION__TYPE:
186 return TYPE__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
187 }
188 return super.eIsSet(featureID);
189 }
190
191} //FunctionImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalArchitectureModelImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalArchitectureModelImpl.java
new file mode 100644
index 00000000..1b45df44
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalArchitectureModelImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 famPackage.Literals.FUNCTIONAL_ARCHITECTURE_MODEL;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<FunctionalElement> getRootElements() {
72 if (rootElements == null) {
73 rootElements = new EObjectContainmentEList<FunctionalElement>(FunctionalElement.class, this, famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
74 }
75 return rootElements;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
87 return ((InternalEList<?>)getRootElements()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
101 return getRootElements();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
116 getRootElements().clear();
117 getRootElements().addAll((Collection<? extends FunctionalElement>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
132 getRootElements().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
147 return rootElements != null && !rootElements.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //FunctionalArchitectureModelImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalDataImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalDataImpl.java
new file mode 100644
index 00000000..069d53d4
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalDataImpl.java
@@ -0,0 +1,267 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 Data</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl#getTerminator <em>Terminator</em>}</li>
30 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalDataImpl#getInterface <em>Interface</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public abstract class FunctionalDataImpl extends MinimalEObjectImpl.Container implements FunctionalData {
36 /**
37 * The cached value of the '{@link #getTerminator() <em>Terminator</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getTerminator()
41 * @generated
42 * @ordered
43 */
44 protected FAMTerminator terminator;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected FunctionalDataImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return famPackage.Literals.FUNCTIONAL_DATA;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
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, famPackage.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 public void setTerminator(FAMTerminator newTerminator) {
95 if (newTerminator != terminator) {
96 NotificationChain msgs = null;
97 if (terminator != null)
98 msgs = ((InternalEObject)terminator).eInverseRemove(this, famPackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
99 if (newTerminator != null)
100 msgs = ((InternalEObject)newTerminator).eInverseAdd(this, famPackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
101 msgs = basicSetTerminator(newTerminator, msgs);
102 if (msgs != null) msgs.dispatch();
103 }
104 else if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.FUNCTIONAL_DATA__TERMINATOR, newTerminator, newTerminator));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public FunctionalInterface getInterface() {
114 if (eContainerFeatureID() != famPackage.FUNCTIONAL_DATA__INTERFACE) return null;
115 return (FunctionalInterface)eInternalContainer();
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 public NotificationChain basicSetInterface(FunctionalInterface newInterface, NotificationChain msgs) {
124 msgs = eBasicSetContainer((InternalEObject)newInterface, famPackage.FUNCTIONAL_DATA__INTERFACE, msgs);
125 return msgs;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public void setInterface(FunctionalInterface newInterface) {
134 if (newInterface != eInternalContainer() || (eContainerFeatureID() != famPackage.FUNCTIONAL_DATA__INTERFACE && newInterface != null)) {
135 if (EcoreUtil.isAncestor(this, newInterface))
136 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
137 NotificationChain msgs = null;
138 if (eInternalContainer() != null)
139 msgs = eBasicRemoveFromContainer(msgs);
140 if (newInterface != null)
141 msgs = ((InternalEObject)newInterface).eInverseAdd(this, famPackage.FUNCTIONAL_INTERFACE__DATA, FunctionalInterface.class, msgs);
142 msgs = basicSetInterface(newInterface, msgs);
143 if (msgs != null) msgs.dispatch();
144 }
145 else if (eNotificationRequired())
146 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.FUNCTIONAL_DATA__INTERFACE, newInterface, newInterface));
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
156 switch (featureID) {
157 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
158 if (terminator != null)
159 msgs = ((InternalEObject)terminator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - famPackage.FUNCTIONAL_DATA__TERMINATOR, null, msgs);
160 return basicSetTerminator((FAMTerminator)otherEnd, msgs);
161 case famPackage.FUNCTIONAL_DATA__INTERFACE:
162 if (eInternalContainer() != null)
163 msgs = eBasicRemoveFromContainer(msgs);
164 return basicSetInterface((FunctionalInterface)otherEnd, msgs);
165 }
166 return super.eInverseAdd(otherEnd, featureID, msgs);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
176 switch (featureID) {
177 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
178 return basicSetTerminator(null, msgs);
179 case famPackage.FUNCTIONAL_DATA__INTERFACE:
180 return basicSetInterface(null, msgs);
181 }
182 return super.eInverseRemove(otherEnd, featureID, msgs);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
192 switch (eContainerFeatureID()) {
193 case famPackage.FUNCTIONAL_DATA__INTERFACE:
194 return eInternalContainer().eInverseRemove(this, famPackage.FUNCTIONAL_INTERFACE__DATA, FunctionalInterface.class, msgs);
195 }
196 return super.eBasicRemoveFromContainerFeature(msgs);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public Object eGet(int featureID, boolean resolve, boolean coreType) {
206 switch (featureID) {
207 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
208 return getTerminator();
209 case famPackage.FUNCTIONAL_DATA__INTERFACE:
210 return getInterface();
211 }
212 return super.eGet(featureID, resolve, coreType);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eSet(int featureID, Object newValue) {
222 switch (featureID) {
223 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
224 setTerminator((FAMTerminator)newValue);
225 return;
226 case famPackage.FUNCTIONAL_DATA__INTERFACE:
227 setInterface((FunctionalInterface)newValue);
228 return;
229 }
230 super.eSet(featureID, newValue);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public void eUnset(int featureID) {
240 switch (featureID) {
241 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
242 setTerminator((FAMTerminator)null);
243 return;
244 case famPackage.FUNCTIONAL_DATA__INTERFACE:
245 setInterface((FunctionalInterface)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID) {
258 switch (featureID) {
259 case famPackage.FUNCTIONAL_DATA__TERMINATOR:
260 return terminator != null;
261 case famPackage.FUNCTIONAL_DATA__INTERFACE:
262 return getInterface() != null;
263 }
264 return super.eIsSet(featureID);
265 }
266
267} //FunctionalDataImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalElementImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalElementImpl.java
new file mode 100644
index 00000000..318a8706
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalElementImpl.java
@@ -0,0 +1,318 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
9import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.EStructuralFeature;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20
21import org.eclipse.emf.ecore.util.EcoreUtil;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Functional Element</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl#getInterface <em>Interface</em>}</li>
32 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl#getModel <em>Model</em>}</li>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalElementImpl#getParent <em>Parent</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class FunctionalElementImpl extends MinimalEObjectImpl.Container implements FunctionalElement {
39 /**
40 * The cached value of the '{@link #getInterface() <em>Interface</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getInterface()
44 * @generated
45 * @ordered
46 */
47 protected FunctionalInterface interface_;
48
49 /**
50 * The cached setting delegate for the '{@link #getModel() <em>Model</em>}' reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getModel()
54 * @generated
55 * @ordered
56 */
57 protected EStructuralFeature.Internal.SettingDelegate MODEL__ESETTING_DELEGATE = ((EStructuralFeature.Internal)famPackage.Literals.FUNCTIONAL_ELEMENT__MODEL).getSettingDelegate();
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected FunctionalElementImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return famPackage.Literals.FUNCTIONAL_ELEMENT;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public FunctionalInterface getInterface() {
84 return interface_;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetInterface(FunctionalInterface newInterface, NotificationChain msgs) {
93 FunctionalInterface oldInterface = interface_;
94 interface_ = newInterface;
95 if (eNotificationRequired()) {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, famPackage.FUNCTIONAL_ELEMENT__INTERFACE, oldInterface, newInterface);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setInterface(FunctionalInterface newInterface) {
108 if (newInterface != interface_) {
109 NotificationChain msgs = null;
110 if (interface_ != null)
111 msgs = ((InternalEObject)interface_).eInverseRemove(this, famPackage.FUNCTIONAL_INTERFACE__ELEMENT, FunctionalInterface.class, msgs);
112 if (newInterface != null)
113 msgs = ((InternalEObject)newInterface).eInverseAdd(this, famPackage.FUNCTIONAL_INTERFACE__ELEMENT, FunctionalInterface.class, msgs);
114 msgs = basicSetInterface(newInterface, msgs);
115 if (msgs != null) msgs.dispatch();
116 }
117 else if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.FUNCTIONAL_ELEMENT__INTERFACE, newInterface, newInterface));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public FunctionalArchitectureModel getModel() {
127 return (FunctionalArchitectureModel)MODEL__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public FunctionalArchitectureModel basicGetModel() {
136 return (FunctionalArchitectureModel)MODEL__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public void setModel(FunctionalArchitectureModel newModel) {
145 MODEL__ESETTING_DELEGATE.dynamicSet(this, null, 0, newModel);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 public Function getParent() {
154 if (eContainerFeatureID() != famPackage.FUNCTIONAL_ELEMENT__PARENT) return null;
155 return (Function)eInternalContainer();
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public NotificationChain basicSetParent(Function newParent, NotificationChain msgs) {
164 msgs = eBasicSetContainer((InternalEObject)newParent, famPackage.FUNCTIONAL_ELEMENT__PARENT, msgs);
165 return msgs;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 public void setParent(Function newParent) {
174 if (newParent != eInternalContainer() || (eContainerFeatureID() != famPackage.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, famPackage.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, famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
198 if (interface_ != null)
199 msgs = ((InternalEObject)interface_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - famPackage.FUNCTIONAL_ELEMENT__INTERFACE, null, msgs);
200 return basicSetInterface((FunctionalInterface)otherEnd, msgs);
201 case famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
218 return basicSetInterface(null, msgs);
219 case famPackage.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 famPackage.FUNCTIONAL_ELEMENT__PARENT:
234 return eInternalContainer().eInverseRemove(this, famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
248 return getInterface();
249 case famPackage.FUNCTIONAL_ELEMENT__MODEL:
250 if (resolve) return getModel();
251 return basicGetModel();
252 case famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
267 setInterface((FunctionalInterface)newValue);
268 return;
269 case famPackage.FUNCTIONAL_ELEMENT__MODEL:
270 setModel((FunctionalArchitectureModel)newValue);
271 return;
272 case famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
288 setInterface((FunctionalInterface)null);
289 return;
290 case famPackage.FUNCTIONAL_ELEMENT__MODEL:
291 setModel((FunctionalArchitectureModel)null);
292 return;
293 case famPackage.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 famPackage.FUNCTIONAL_ELEMENT__INTERFACE:
309 return interface_ != null;
310 case famPackage.FUNCTIONAL_ELEMENT__MODEL:
311 return MODEL__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
312 case famPackage.FUNCTIONAL_ELEMENT__PARENT:
313 return getParent() != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //FunctionalElementImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInputImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInputImpl.java
new file mode 100644
index 00000000..b62e9742
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInputImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 famPackage.Literals.FUNCTIONAL_INPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<InformationLink> getIncomingLinks() {
70 if (incomingLinks == null) {
71 incomingLinks = new EObjectWithInverseResolvingEList<InformationLink>(InformationLink.class, this, famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS, famPackage.INFORMATION_LINK__TO);
72 }
73 return incomingLinks;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingLinks()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
100 return ((InternalEList<?>)getIncomingLinks()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
114 return getIncomingLinks();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
129 getIncomingLinks().clear();
130 getIncomingLinks().addAll((Collection<? extends InformationLink>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
145 getIncomingLinks().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
160 return incomingLinks != null && !incomingLinks.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //FunctionalInputImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInterfaceImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInterfaceImpl.java
new file mode 100644
index 00000000..b9417a23
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalInterfaceImpl.java
@@ -0,0 +1,243 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Functional Interface</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl#getData <em>Data</em>}</li>
36 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.FunctionalInterfaceImpl#getElement <em>Element</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public class FunctionalInterfaceImpl extends MinimalEObjectImpl.Container implements FunctionalInterface {
42 /**
43 * The cached value of the '{@link #getData() <em>Data</em>}' containment reference list.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getData()
47 * @generated
48 * @ordered
49 */
50 protected EList<FunctionalData> data;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected FunctionalInterfaceImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return famPackage.Literals.FUNCTIONAL_INTERFACE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public EList<FunctionalData> getData() {
77 if (data == null) {
78 data = new EObjectContainmentWithInverseEList<FunctionalData>(FunctionalData.class, this, famPackage.FUNCTIONAL_INTERFACE__DATA, famPackage.FUNCTIONAL_DATA__INTERFACE);
79 }
80 return data;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public FunctionalElement getElement() {
89 if (eContainerFeatureID() != famPackage.FUNCTIONAL_INTERFACE__ELEMENT) return null;
90 return (FunctionalElement)eInternalContainer();
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public NotificationChain basicSetElement(FunctionalElement newElement, NotificationChain msgs) {
99 msgs = eBasicSetContainer((InternalEObject)newElement, famPackage.FUNCTIONAL_INTERFACE__ELEMENT, msgs);
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setElement(FunctionalElement newElement) {
109 if (newElement != eInternalContainer() || (eContainerFeatureID() != famPackage.FUNCTIONAL_INTERFACE__ELEMENT && newElement != null)) {
110 if (EcoreUtil.isAncestor(this, newElement))
111 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
112 NotificationChain msgs = null;
113 if (eInternalContainer() != null)
114 msgs = eBasicRemoveFromContainer(msgs);
115 if (newElement != null)
116 msgs = ((InternalEObject)newElement).eInverseAdd(this, famPackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
117 msgs = basicSetElement(newElement, msgs);
118 if (msgs != null) msgs.dispatch();
119 }
120 else if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.FUNCTIONAL_INTERFACE__ELEMENT, newElement, newElement));
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @SuppressWarnings("unchecked")
130 @Override
131 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
132 switch (featureID) {
133 case famPackage.FUNCTIONAL_INTERFACE__DATA:
134 return ((InternalEList<InternalEObject>)(InternalEList<?>)getData()).basicAdd(otherEnd, msgs);
135 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
136 if (eInternalContainer() != null)
137 msgs = eBasicRemoveFromContainer(msgs);
138 return basicSetElement((FunctionalElement)otherEnd, msgs);
139 }
140 return super.eInverseAdd(otherEnd, featureID, msgs);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
150 switch (featureID) {
151 case famPackage.FUNCTIONAL_INTERFACE__DATA:
152 return ((InternalEList<?>)getData()).basicRemove(otherEnd, msgs);
153 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
154 return basicSetElement(null, msgs);
155 }
156 return super.eInverseRemove(otherEnd, featureID, msgs);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
166 switch (eContainerFeatureID()) {
167 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
168 return eInternalContainer().eInverseRemove(this, famPackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
169 }
170 return super.eBasicRemoveFromContainerFeature(msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case famPackage.FUNCTIONAL_INTERFACE__DATA:
182 return getData();
183 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
184 return getElement();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @SuppressWarnings("unchecked")
195 @Override
196 public void eSet(int featureID, Object newValue) {
197 switch (featureID) {
198 case famPackage.FUNCTIONAL_INTERFACE__DATA:
199 getData().clear();
200 getData().addAll((Collection<? extends FunctionalData>)newValue);
201 return;
202 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
203 setElement((FunctionalElement)newValue);
204 return;
205 }
206 super.eSet(featureID, newValue);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void eUnset(int featureID) {
216 switch (featureID) {
217 case famPackage.FUNCTIONAL_INTERFACE__DATA:
218 getData().clear();
219 return;
220 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
221 setElement((FunctionalElement)null);
222 return;
223 }
224 super.eUnset(featureID);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public boolean eIsSet(int featureID) {
234 switch (featureID) {
235 case famPackage.FUNCTIONAL_INTERFACE__DATA:
236 return data != null && !data.isEmpty();
237 case famPackage.FUNCTIONAL_INTERFACE__ELEMENT:
238 return getElement() != null;
239 }
240 return super.eIsSet(featureID);
241 }
242
243} //FunctionalInterfaceImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalOutputImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalOutputImpl.java
new file mode 100644
index 00000000..30bde348
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/FunctionalOutputImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 famPackage.Literals.FUNCTIONAL_OUTPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<InformationLink> getOutgoingLinks() {
70 if (outgoingLinks == null) {
71 outgoingLinks = new EObjectContainmentWithInverseEList<InformationLink>(InformationLink.class, this, famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, famPackage.INFORMATION_LINK__FROM);
72 }
73 return outgoingLinks;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingLinks()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
100 return ((InternalEList<?>)getOutgoingLinks()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
114 return getOutgoingLinks();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
129 getOutgoingLinks().clear();
130 getOutgoingLinks().addAll((Collection<? extends InformationLink>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
145 getOutgoingLinks().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
160 return outgoingLinks != null && !outgoingLinks.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //FunctionalOutputImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/InformationLinkImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/InformationLinkImpl.java
new file mode 100644
index 00000000..b87f4201
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/InformationLinkImpl.java
@@ -0,0 +1,285 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl.InformationLinkImpl#getFrom <em>From</em>}</li>
30 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.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 famPackage.Literals.INFORMATION_LINK;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public FunctionalOutput getFrom() {
71 if (eContainerFeatureID() != famPackage.INFORMATION_LINK__FROM) return null;
72 return (FunctionalOutput)eInternalContainer();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetFrom(FunctionalOutput newFrom, NotificationChain msgs) {
81 msgs = eBasicSetContainer((InternalEObject)newFrom, famPackage.INFORMATION_LINK__FROM, msgs);
82 return msgs;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public void setFrom(FunctionalOutput newFrom) {
91 if (newFrom != eInternalContainer() || (eContainerFeatureID() != famPackage.INFORMATION_LINK__FROM && newFrom != null)) {
92 if (EcoreUtil.isAncestor(this, newFrom))
93 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
94 NotificationChain msgs = null;
95 if (eInternalContainer() != null)
96 msgs = eBasicRemoveFromContainer(msgs);
97 if (newFrom != null)
98 msgs = ((InternalEObject)newFrom).eInverseAdd(this, famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
99 msgs = basicSetFrom(newFrom, msgs);
100 if (msgs != null) msgs.dispatch();
101 }
102 else if (eNotificationRequired())
103 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.INFORMATION_LINK__FROM, newFrom, newFrom));
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public FunctionalInput getTo() {
112 if (to != null && to.eIsProxy()) {
113 InternalEObject oldTo = (InternalEObject)to;
114 to = (FunctionalInput)eResolveProxy(oldTo);
115 if (to != oldTo) {
116 if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.RESOLVE, famPackage.INFORMATION_LINK__TO, oldTo, to));
118 }
119 }
120 return to;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public FunctionalInput basicGetTo() {
129 return to;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public NotificationChain basicSetTo(FunctionalInput newTo, NotificationChain msgs) {
138 FunctionalInput oldTo = to;
139 to = newTo;
140 if (eNotificationRequired()) {
141 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, famPackage.INFORMATION_LINK__TO, oldTo, newTo);
142 if (msgs == null) msgs = notification; else msgs.add(notification);
143 }
144 return msgs;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public void setTo(FunctionalInput newTo) {
153 if (newTo != to) {
154 NotificationChain msgs = null;
155 if (to != null)
156 msgs = ((InternalEObject)to).eInverseRemove(this, famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
157 if (newTo != null)
158 msgs = ((InternalEObject)newTo).eInverseAdd(this, famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
159 msgs = basicSetTo(newTo, msgs);
160 if (msgs != null) msgs.dispatch();
161 }
162 else if (eNotificationRequired())
163 eNotify(new ENotificationImpl(this, Notification.SET, famPackage.INFORMATION_LINK__TO, newTo, newTo));
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
173 switch (featureID) {
174 case famPackage.INFORMATION_LINK__FROM:
175 if (eInternalContainer() != null)
176 msgs = eBasicRemoveFromContainer(msgs);
177 return basicSetFrom((FunctionalOutput)otherEnd, msgs);
178 case famPackage.INFORMATION_LINK__TO:
179 if (to != null)
180 msgs = ((InternalEObject)to).eInverseRemove(this, famPackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
181 return basicSetTo((FunctionalInput)otherEnd, msgs);
182 }
183 return super.eInverseAdd(otherEnd, featureID, msgs);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
193 switch (featureID) {
194 case famPackage.INFORMATION_LINK__FROM:
195 return basicSetFrom(null, msgs);
196 case famPackage.INFORMATION_LINK__TO:
197 return basicSetTo(null, msgs);
198 }
199 return super.eInverseRemove(otherEnd, featureID, msgs);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
209 switch (eContainerFeatureID()) {
210 case famPackage.INFORMATION_LINK__FROM:
211 return eInternalContainer().eInverseRemove(this, famPackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
212 }
213 return super.eBasicRemoveFromContainerFeature(msgs);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public Object eGet(int featureID, boolean resolve, boolean coreType) {
223 switch (featureID) {
224 case famPackage.INFORMATION_LINK__FROM:
225 return getFrom();
226 case famPackage.INFORMATION_LINK__TO:
227 if (resolve) return getTo();
228 return basicGetTo();
229 }
230 return super.eGet(featureID, resolve, coreType);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public void eSet(int featureID, Object newValue) {
240 switch (featureID) {
241 case famPackage.INFORMATION_LINK__FROM:
242 setFrom((FunctionalOutput)newValue);
243 return;
244 case famPackage.INFORMATION_LINK__TO:
245 setTo((FunctionalInput)newValue);
246 return;
247 }
248 super.eSet(featureID, newValue);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void eUnset(int featureID) {
258 switch (featureID) {
259 case famPackage.INFORMATION_LINK__FROM:
260 setFrom((FunctionalOutput)null);
261 return;
262 case famPackage.INFORMATION_LINK__TO:
263 setTo((FunctionalInput)null);
264 return;
265 }
266 super.eUnset(featureID);
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public boolean eIsSet(int featureID) {
276 switch (featureID) {
277 case famPackage.INFORMATION_LINK__FROM:
278 return getFrom() != null;
279 case famPackage.INFORMATION_LINK__TO:
280 return to != null;
281 }
282 return super.eIsSet(featureID);
283 }
284
285} //InformationLinkImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famFactoryImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famFactoryImpl.java
new file mode 100644
index 00000000..5c2a9c51
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famFactoryImpl.java
@@ -0,0 +1,219 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EDataType;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.impl.EFactoryImpl;
10import org.eclipse.emf.ecore.plugin.EcorePlugin;
11
12import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
13import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
14import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType;
15import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
16import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
17import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
18import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
19import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
20import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famFactory;
21import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model <b>Factory</b>.
26 * <!-- end-user-doc -->
27 * @generated
28 */
29public class famFactoryImpl extends EFactoryImpl implements famFactory {
30 /**
31 * Creates the default factory implementation.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 public static famFactory init() {
37 try {
38 famFactory thefamFactory = (famFactory)EPackage.Registry.INSTANCE.getEFactory(famPackage.eNS_URI);
39 if (thefamFactory != null) {
40 return thefamFactory;
41 }
42 }
43 catch (Exception exception) {
44 EcorePlugin.INSTANCE.log(exception);
45 }
46 return new famFactoryImpl();
47 }
48
49 /**
50 * Creates an instance of the factory.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 public famFactoryImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 public EObject create(EClass eClass) {
66 switch (eClass.getClassifierID()) {
67 case famPackage.FUNCTIONAL_ARCHITECTURE_MODEL: return createFunctionalArchitectureModel();
68 case famPackage.FUNCTION: return createFunction();
69 case famPackage.FAM_TERMINATOR: return createFAMTerminator();
70 case famPackage.INFORMATION_LINK: return createInformationLink();
71 case famPackage.FUNCTIONAL_INTERFACE: return createFunctionalInterface();
72 case famPackage.FUNCTIONAL_INPUT: return createFunctionalInput();
73 case famPackage.FUNCTIONAL_OUTPUT: return createFunctionalOutput();
74 default:
75 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
76 }
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public Object createFromString(EDataType eDataType, String initialValue) {
86 switch (eDataType.getClassifierID()) {
87 case famPackage.FUNCTION_TYPE:
88 return createFunctionTypeFromString(eDataType, initialValue);
89 default:
90 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
91 }
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public String convertToString(EDataType eDataType, Object instanceValue) {
101 switch (eDataType.getClassifierID()) {
102 case famPackage.FUNCTION_TYPE:
103 return convertFunctionTypeToString(eDataType, instanceValue);
104 default:
105 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
106 }
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public FunctionalArchitectureModel createFunctionalArchitectureModel() {
115 FunctionalArchitectureModelImpl functionalArchitectureModel = new FunctionalArchitectureModelImpl();
116 return functionalArchitectureModel;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public Function createFunction() {
125 FunctionImpl function = new FunctionImpl();
126 return function;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public FAMTerminator createFAMTerminator() {
135 FAMTerminatorImpl famTerminator = new FAMTerminatorImpl();
136 return famTerminator;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public InformationLink createInformationLink() {
145 InformationLinkImpl informationLink = new InformationLinkImpl();
146 return informationLink;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public FunctionalInterface createFunctionalInterface() {
155 FunctionalInterfaceImpl functionalInterface = new FunctionalInterfaceImpl();
156 return functionalInterface;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 public FunctionalInput createFunctionalInput() {
165 FunctionalInputImpl functionalInput = new FunctionalInputImpl();
166 return functionalInput;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public FunctionalOutput createFunctionalOutput() {
175 FunctionalOutputImpl functionalOutput = new FunctionalOutputImpl();
176 return functionalOutput;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 public FunctionType createFunctionTypeFromString(EDataType eDataType, String initialValue) {
185 FunctionType result = FunctionType.get(initialValue);
186 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
187 return result;
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 public String convertFunctionTypeToString(EDataType eDataType, Object instanceValue) {
196 return instanceValue == null ? null : instanceValue.toString();
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 public famPackage getfamPackage() {
205 return (famPackage)getEPackage();
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @deprecated
212 * @generated
213 */
214 @Deprecated
215 public static famPackage getPackage() {
216 return famPackage.eINSTANCE;
217 }
218
219} //famFactoryImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famPackageImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famPackageImpl.java
new file mode 100644
index 00000000..e928e04e
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/impl/famPackageImpl.java
@@ -0,0 +1,574 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
6import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
7import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionType;
8import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
9import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
10import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
11import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
12import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
13import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
14import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
15import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famFactory;
16import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
17
18import org.eclipse.emf.ecore.EAttribute;
19import org.eclipse.emf.ecore.EClass;
20import org.eclipse.emf.ecore.EEnum;
21import org.eclipse.emf.ecore.EPackage;
22import org.eclipse.emf.ecore.EReference;
23
24import org.eclipse.emf.ecore.impl.EPackageImpl;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model <b>Package</b>.
29 * <!-- end-user-doc -->
30 * @generated
31 */
32public class famPackageImpl extends EPackageImpl implements famPackage {
33 /**
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 private EClass functionalElementEClass = null;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 private EClass functionalArchitectureModelEClass = null;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 private EClass functionEClass = null;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 private EClass famTerminatorEClass = null;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 private EClass informationLinkEClass = null;
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 private EClass functionalInterfaceEClass = null;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 private EClass functionalInputEClass = null;
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 private EClass functionalOutputEClass = null;
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 private EClass functionalDataEClass = null;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 private EEnum functionTypeEEnum = null;
102
103 /**
104 * Creates an instance of the model <b>Package</b>, registered with
105 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
106 * package URI value.
107 * <p>Note: the correct way to create the package is via the static
108 * factory method {@link #init init()}, which also performs
109 * initialization of the package, or returns the registered package,
110 * if one already exists.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @see org.eclipse.emf.ecore.EPackage.Registry
114 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage#eNS_URI
115 * @see #init()
116 * @generated
117 */
118 private famPackageImpl() {
119 super(eNS_URI, famFactory.eINSTANCE);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 private static boolean isInited = false;
128
129 /**
130 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
131 *
132 * <p>This method is used to initialize {@link famPackage#eINSTANCE} when that field is accessed.
133 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see #eNS_URI
137 * @see #createPackageContents()
138 * @see #initializePackageContents()
139 * @generated
140 */
141 public static famPackage init() {
142 if (isInited) return (famPackage)EPackage.Registry.INSTANCE.getEPackage(famPackage.eNS_URI);
143
144 // Obtain or create and register package
145 famPackageImpl thefamPackage = (famPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof famPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new famPackageImpl());
146
147 isInited = true;
148
149 // Create package meta-data objects
150 thefamPackage.createPackageContents();
151
152 // Initialize created meta-data
153 thefamPackage.initializePackageContents();
154
155 // Mark meta-data to indicate it can't be changed
156 thefamPackage.freeze();
157
158
159 // Update the registry and return the package
160 EPackage.Registry.INSTANCE.put(famPackage.eNS_URI, thefamPackage);
161 return thefamPackage;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 public EClass getFunctionalElement() {
170 return functionalElementEClass;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public EReference getFunctionalElement_Interface() {
179 return (EReference)functionalElementEClass.getEStructuralFeatures().get(0);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 public EReference getFunctionalElement_Model() {
188 return (EReference)functionalElementEClass.getEStructuralFeatures().get(1);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public EReference getFunctionalElement_Parent() {
197 return (EReference)functionalElementEClass.getEStructuralFeatures().get(2);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 public EClass getFunctionalArchitectureModel() {
206 return functionalArchitectureModelEClass;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 public EReference getFunctionalArchitectureModel_RootElements() {
215 return (EReference)functionalArchitectureModelEClass.getEStructuralFeatures().get(0);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 public EClass getFunction() {
224 return functionEClass;
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 public EReference getFunction_SubElements() {
233 return (EReference)functionEClass.getEStructuralFeatures().get(0);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 public EAttribute getFunction_Type() {
242 return (EAttribute)functionEClass.getEStructuralFeatures().get(1);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 public EClass getFAMTerminator() {
251 return famTerminatorEClass;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 public EReference getFAMTerminator_Data() {
260 return (EReference)famTerminatorEClass.getEStructuralFeatures().get(0);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 public EClass getInformationLink() {
269 return informationLinkEClass;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 public EReference getInformationLink_From() {
278 return (EReference)informationLinkEClass.getEStructuralFeatures().get(0);
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 public EReference getInformationLink_To() {
287 return (EReference)informationLinkEClass.getEStructuralFeatures().get(1);
288 }
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 public EClass getFunctionalInterface() {
296 return functionalInterfaceEClass;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public EReference getFunctionalInterface_Data() {
305 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(0);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 public EReference getFunctionalInterface_Element() {
314 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(1);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 public EClass getFunctionalInput() {
323 return functionalInputEClass;
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 public EReference getFunctionalInput_IncomingLinks() {
332 return (EReference)functionalInputEClass.getEStructuralFeatures().get(0);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 public EClass getFunctionalOutput() {
341 return functionalOutputEClass;
342 }
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 public EReference getFunctionalOutput_OutgoingLinks() {
350 return (EReference)functionalOutputEClass.getEStructuralFeatures().get(0);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 public EClass getFunctionalData() {
359 return functionalDataEClass;
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 public EReference getFunctionalData_Terminator() {
368 return (EReference)functionalDataEClass.getEStructuralFeatures().get(0);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 public EReference getFunctionalData_Interface() {
377 return (EReference)functionalDataEClass.getEStructuralFeatures().get(1);
378 }
379
380 /**
381 * <!-- begin-user-doc -->
382 * <!-- end-user-doc -->
383 * @generated
384 */
385 public EEnum getFunctionType() {
386 return functionTypeEEnum;
387 }
388
389 /**
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @generated
393 */
394 public famFactory getfamFactory() {
395 return (famFactory)getEFactoryInstance();
396 }
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private boolean isCreated = false;
404
405 /**
406 * Creates the meta-model objects for the package. This method is
407 * guarded to have no affect on any invocation but its first.
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 public void createPackageContents() {
413 if (isCreated) return;
414 isCreated = true;
415
416 // Create classes and their features
417 functionalElementEClass = createEClass(FUNCTIONAL_ELEMENT);
418 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__INTERFACE);
419 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__MODEL);
420 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__PARENT);
421
422 functionalArchitectureModelEClass = createEClass(FUNCTIONAL_ARCHITECTURE_MODEL);
423 createEReference(functionalArchitectureModelEClass, FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
424
425 functionEClass = createEClass(FUNCTION);
426 createEReference(functionEClass, FUNCTION__SUB_ELEMENTS);
427 createEAttribute(functionEClass, FUNCTION__TYPE);
428
429 famTerminatorEClass = createEClass(FAM_TERMINATOR);
430 createEReference(famTerminatorEClass, FAM_TERMINATOR__DATA);
431
432 informationLinkEClass = createEClass(INFORMATION_LINK);
433 createEReference(informationLinkEClass, INFORMATION_LINK__FROM);
434 createEReference(informationLinkEClass, INFORMATION_LINK__TO);
435
436 functionalInterfaceEClass = createEClass(FUNCTIONAL_INTERFACE);
437 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__DATA);
438 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__ELEMENT);
439
440 functionalInputEClass = createEClass(FUNCTIONAL_INPUT);
441 createEReference(functionalInputEClass, FUNCTIONAL_INPUT__INCOMING_LINKS);
442
443 functionalOutputEClass = createEClass(FUNCTIONAL_OUTPUT);
444 createEReference(functionalOutputEClass, FUNCTIONAL_OUTPUT__OUTGOING_LINKS);
445
446 functionalDataEClass = createEClass(FUNCTIONAL_DATA);
447 createEReference(functionalDataEClass, FUNCTIONAL_DATA__TERMINATOR);
448 createEReference(functionalDataEClass, FUNCTIONAL_DATA__INTERFACE);
449
450 // Create enums
451 functionTypeEEnum = createEEnum(FUNCTION_TYPE);
452 }
453
454 /**
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @generated
458 */
459 private boolean isInitialized = false;
460
461 /**
462 * Complete the initialization of the package and its meta-model. This
463 * method is guarded to have no affect on any invocation but its first.
464 * <!-- begin-user-doc -->
465 * <!-- end-user-doc -->
466 * @generated
467 */
468 public void initializePackageContents() {
469 if (isInitialized) return;
470 isInitialized = true;
471
472 // Initialize package
473 setName(eNAME);
474 setNsPrefix(eNS_PREFIX);
475 setNsURI(eNS_URI);
476
477 // Create type parameters
478
479 // Set bounds for type parameters
480
481 // Add supertypes to classes
482 functionEClass.getESuperTypes().add(this.getFunctionalElement());
483 functionalInputEClass.getESuperTypes().add(this.getFunctionalData());
484 functionalOutputEClass.getESuperTypes().add(this.getFunctionalData());
485
486 // Initialize classes, features, and operations; add parameters
487 initEClass(functionalElementEClass, FunctionalElement.class, "FunctionalElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
488 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);
489 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);
490 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);
491
492 initEClass(functionalArchitectureModelEClass, FunctionalArchitectureModel.class, "FunctionalArchitectureModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
493 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);
494
495 initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
496 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);
497 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);
498
499 initEClass(famTerminatorEClass, FAMTerminator.class, "FAMTerminator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
500 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);
501
502 initEClass(informationLinkEClass, InformationLink.class, "InformationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
503 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);
504 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);
505
506 initEClass(functionalInterfaceEClass, FunctionalInterface.class, "FunctionalInterface", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
507 initEReference(getFunctionalInterface_Data(), this.getFunctionalData(), this.getFunctionalData_Interface(), "data", null, 0, -1, FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
508 initEReference(getFunctionalInterface_Element(), this.getFunctionalElement(), this.getFunctionalElement_Interface(), "element", null, 0, 1, FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
509
510 initEClass(functionalInputEClass, FunctionalInput.class, "FunctionalInput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
511 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);
512
513 initEClass(functionalOutputEClass, FunctionalOutput.class, "FunctionalOutput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
514 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);
515
516 initEClass(functionalDataEClass, FunctionalData.class, "FunctionalData", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
517 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);
518 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);
519
520 // Initialize enums and add enum literals
521 initEEnum(functionTypeEEnum, FunctionType.class, "FunctionType");
522 addEEnumLiteral(functionTypeEEnum, FunctionType.ROOT);
523 addEEnumLiteral(functionTypeEEnum, FunctionType.INTERMEDIATE);
524 addEEnumLiteral(functionTypeEEnum, FunctionType.LEAF);
525
526 // Create resource
527 createResource(eNS_URI);
528
529 // Create annotations
530 // http://www.eclipse.org/emf/2002/Ecore
531 createEcoreAnnotations();
532 // org.eclipse.viatra.query.querybasedfeature
533 createOrgAnnotations();
534 }
535
536 /**
537 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
538 * <!-- begin-user-doc -->
539 * <!-- end-user-doc -->
540 * @generated
541 */
542 protected void createEcoreAnnotations() {
543 String source = "http://www.eclipse.org/emf/2002/Ecore";
544 addAnnotation
545 (this,
546 source,
547 new String[] {
548 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature"
549 });
550 }
551
552 /**
553 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 */
558 protected void createOrgAnnotations() {
559 String source = "org.eclipse.viatra.query.querybasedfeature";
560 addAnnotation
561 (getFunctionalElement_Model(),
562 source,
563 new String[] {
564 "patternFQN", "ca.mcgill.ecse.dslreasoner.standalone.test.fam.queries.model"
565 });
566 addAnnotation
567 (getFunction_Type(),
568 source,
569 new String[] {
570 "patternFQN", "ca.mcgill.ecse.dslreasoner.standalone.test.fam.queries.type"
571 });
572 }
573
574} //famPackageImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famAdapterFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famAdapterFactory.java
new file mode 100644
index 00000000..b5a4e37b
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famAdapterFactory.java
@@ -0,0 +1,271 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.util;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notifier;
7import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
8import org.eclipse.emf.ecore.EObject;
9
10import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
11import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
12import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
13import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
14import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
15import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
16import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
17import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
18import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
19import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * The <b>Adapter Factory</b> for the model.
24 * It provides an adapter <code>createXXX</code> method for each class of the model.
25 * <!-- end-user-doc -->
26 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage
27 * @generated
28 */
29public class famAdapterFactory extends AdapterFactoryImpl {
30 /**
31 * The cached model package.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 protected static famPackage modelPackage;
37
38 /**
39 * Creates an instance of the adapter factory.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 public famAdapterFactory() {
45 if (modelPackage == null) {
46 modelPackage = famPackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Returns whether this factory is applicable for the type of the object.
52 * <!-- begin-user-doc -->
53 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
54 * <!-- end-user-doc -->
55 * @return whether this factory is applicable for the type of the object.
56 * @generated
57 */
58 @Override
59 public boolean isFactoryForType(Object object) {
60 if (object == modelPackage) {
61 return true;
62 }
63 if (object instanceof EObject) {
64 return ((EObject)object).eClass().getEPackage() == modelPackage;
65 }
66 return false;
67 }
68
69 /**
70 * The switch that delegates to the <code>createXXX</code> methods.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected famSwitch<Adapter> modelSwitch =
76 new famSwitch<Adapter>() {
77 @Override
78 public Adapter caseFunctionalElement(FunctionalElement object) {
79 return createFunctionalElementAdapter();
80 }
81 @Override
82 public Adapter caseFunctionalArchitectureModel(FunctionalArchitectureModel object) {
83 return createFunctionalArchitectureModelAdapter();
84 }
85 @Override
86 public Adapter caseFunction(Function object) {
87 return createFunctionAdapter();
88 }
89 @Override
90 public Adapter caseFAMTerminator(FAMTerminator object) {
91 return createFAMTerminatorAdapter();
92 }
93 @Override
94 public Adapter caseInformationLink(InformationLink object) {
95 return createInformationLinkAdapter();
96 }
97 @Override
98 public Adapter caseFunctionalInterface(FunctionalInterface object) {
99 return createFunctionalInterfaceAdapter();
100 }
101 @Override
102 public Adapter caseFunctionalInput(FunctionalInput object) {
103 return createFunctionalInputAdapter();
104 }
105 @Override
106 public Adapter caseFunctionalOutput(FunctionalOutput object) {
107 return createFunctionalOutputAdapter();
108 }
109 @Override
110 public Adapter caseFunctionalData(FunctionalData object) {
111 return createFunctionalDataAdapter();
112 }
113 @Override
114 public Adapter defaultCase(EObject object) {
115 return createEObjectAdapter();
116 }
117 };
118
119 /**
120 * Creates an adapter for the <code>target</code>.
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @param target the object to adapt.
124 * @return the adapter for the <code>target</code>.
125 * @generated
126 */
127 @Override
128 public Adapter createAdapter(Notifier target) {
129 return modelSwitch.doSwitch((EObject)target);
130 }
131
132
133 /**
134 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement <em>Functional Element</em>}'.
135 * <!-- begin-user-doc -->
136 * This default implementation returns null so that we can easily ignore cases;
137 * it's useful to ignore a case when inheritance will catch all the cases anyway.
138 * <!-- end-user-doc -->
139 * @return the new adapter.
140 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement
141 * @generated
142 */
143 public Adapter createFunctionalElementAdapter() {
144 return null;
145 }
146
147 /**
148 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel <em>Functional Architecture Model</em>}'.
149 * <!-- begin-user-doc -->
150 * This default implementation returns null so that we can easily ignore cases;
151 * it's useful to ignore a case when inheritance will catch all the cases anyway.
152 * <!-- end-user-doc -->
153 * @return the new adapter.
154 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel
155 * @generated
156 */
157 public Adapter createFunctionalArchitectureModelAdapter() {
158 return null;
159 }
160
161 /**
162 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function <em>Function</em>}'.
163 * <!-- begin-user-doc -->
164 * This default implementation returns null so that we can easily ignore cases;
165 * it's useful to ignore a case when inheritance will catch all the cases anyway.
166 * <!-- end-user-doc -->
167 * @return the new adapter.
168 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function
169 * @generated
170 */
171 public Adapter createFunctionAdapter() {
172 return null;
173 }
174
175 /**
176 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator <em>FAM Terminator</em>}'.
177 * <!-- begin-user-doc -->
178 * This default implementation returns null so that we can easily ignore cases;
179 * it's useful to ignore a case when inheritance will catch all the cases anyway.
180 * <!-- end-user-doc -->
181 * @return the new adapter.
182 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator
183 * @generated
184 */
185 public Adapter createFAMTerminatorAdapter() {
186 return null;
187 }
188
189 /**
190 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink <em>Information Link</em>}'.
191 * <!-- begin-user-doc -->
192 * This default implementation returns null so that we can easily ignore cases;
193 * it's useful to ignore a case when inheritance will catch all the cases anyway.
194 * <!-- end-user-doc -->
195 * @return the new adapter.
196 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink
197 * @generated
198 */
199 public Adapter createInformationLinkAdapter() {
200 return null;
201 }
202
203 /**
204 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface <em>Functional Interface</em>}'.
205 * <!-- begin-user-doc -->
206 * This default implementation returns null so that we can easily ignore cases;
207 * it's useful to ignore a case when inheritance will catch all the cases anyway.
208 * <!-- end-user-doc -->
209 * @return the new adapter.
210 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface
211 * @generated
212 */
213 public Adapter createFunctionalInterfaceAdapter() {
214 return null;
215 }
216
217 /**
218 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput <em>Functional Input</em>}'.
219 * <!-- begin-user-doc -->
220 * This default implementation returns null so that we can easily ignore cases;
221 * it's useful to ignore a case when inheritance will catch all the cases anyway.
222 * <!-- end-user-doc -->
223 * @return the new adapter.
224 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput
225 * @generated
226 */
227 public Adapter createFunctionalInputAdapter() {
228 return null;
229 }
230
231 /**
232 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput <em>Functional Output</em>}'.
233 * <!-- begin-user-doc -->
234 * This default implementation returns null so that we can easily ignore cases;
235 * it's useful to ignore a case when inheritance will catch all the cases anyway.
236 * <!-- end-user-doc -->
237 * @return the new adapter.
238 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput
239 * @generated
240 */
241 public Adapter createFunctionalOutputAdapter() {
242 return null;
243 }
244
245 /**
246 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData <em>Functional Data</em>}'.
247 * <!-- begin-user-doc -->
248 * This default implementation returns null so that we can easily ignore cases;
249 * it's useful to ignore a case when inheritance will catch all the cases anyway.
250 * <!-- end-user-doc -->
251 * @return the new adapter.
252 * @see ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData
253 * @generated
254 */
255 public Adapter createFunctionalDataAdapter() {
256 return null;
257 }
258
259 /**
260 * Creates a new adapter for the default case.
261 * <!-- begin-user-doc -->
262 * This default implementation returns null.
263 * <!-- end-user-doc -->
264 * @return the new adapter.
265 * @generated
266 */
267 public Adapter createEObjectAdapter() {
268 return null;
269 }
270
271} //famAdapterFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famSwitch.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famSwitch.java
new file mode 100644
index 00000000..979bd3e9
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/fam/util/famSwitch.java
@@ -0,0 +1,289 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.fam.util;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.util.Switch;
8
9import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FAMTerminator;
10import ca.mcgill.ecse.dslreasoner.standalone.test.fam.Function;
11import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalArchitectureModel;
12import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalData;
13import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalElement;
14import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInput;
15import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalInterface;
16import ca.mcgill.ecse.dslreasoner.standalone.test.fam.FunctionalOutput;
17import ca.mcgill.ecse.dslreasoner.standalone.test.fam.InformationLink;
18import ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage;
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 ca.mcgill.ecse.dslreasoner.standalone.test.fam.famPackage
31 * @generated
32 */
33public class famSwitch<T> extends Switch<T> {
34 /**
35 * The cached model package
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 protected static famPackage modelPackage;
41
42 /**
43 * Creates an instance of the switch.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public famSwitch() {
49 if (modelPackage == null) {
50 modelPackage = famPackage.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 famPackage.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 famPackage.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 famPackage.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 famPackage.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 famPackage.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 famPackage.FUNCTIONAL_INTERFACE: {
109 FunctionalInterface functionalInterface = (FunctionalInterface)theEObject;
110 T result = caseFunctionalInterface(functionalInterface);
111 if (result == null) result = defaultCase(theEObject);
112 return result;
113 }
114 case famPackage.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 famPackage.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 famPackage.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(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} //famSwitch
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Dir.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Dir.java
new file mode 100644
index 00000000..03290097
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Dir.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Dir</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir#getContents <em>Contents</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getDir()
20 * @model
21 * @generated
22 */
23public interface Dir extends FSObject {
24 /**
25 * Returns the value of the '<em><b>Contents</b></em>' containment reference list.
26 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject}.
27 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent <em>Parent</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Contents</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>Contents</em>' containment reference list.
35 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getDir_Contents()
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent
37 * @model opposite="parent" containment="true"
38 * @generated
39 */
40 EList<FSObject> getContents();
41
42} // Dir
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FSObject.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FSObject.java
new file mode 100644
index 00000000..87e4e4df
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FSObject.java
@@ -0,0 +1,52 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>FS Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent <em>Parent</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFSObject()
20 * @model abstract="true"
21 * @generated
22 */
23public interface FSObject extends EObject {
24 /**
25 * Returns the value of the '<em><b>Parent</b></em>' container reference.
26 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir#getContents <em>Contents</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Parent</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>Parent</em>' container reference.
34 * @see #setParent(Dir)
35 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFSObject_Parent()
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir#getContents
37 * @model opposite="contents" transient="false"
38 * @generated
39 */
40 Dir getParent();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent <em>Parent</em>}' container reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Parent</em>' container reference.
47 * @see #getParent()
48 * @generated
49 */
50 void setParent(Dir value);
51
52} // FSObject
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/File.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/File.java
new file mode 100644
index 00000000..f829076c
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/File.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>File</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFile()
13 * @model
14 * @generated
15 */
16public interface File extends FSObject {
17} // File
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FileSystem.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FileSystem.java
new file mode 100644
index 00000000..d8ca61ea
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/FileSystem.java
@@ -0,0 +1,69 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
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>File System</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getRoot <em>Root</em>}</li>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getLive <em>Live</em>}</li>
20 * </ul>
21 *
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFileSystem()
23 * @model
24 * @generated
25 */
26public interface FileSystem extends EObject {
27 /**
28 * Returns the value of the '<em><b>Root</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Root</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>Root</em>' containment reference.
36 * @see #setRoot(Dir)
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFileSystem_Root()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 Dir getRoot();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getRoot <em>Root</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Root</em>' containment reference.
48 * @see #getRoot()
49 * @generated
50 */
51 void setRoot(Dir value);
52
53 /**
54 * Returns the value of the '<em><b>Live</b></em>' reference list.
55 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Live</em>' reference list 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>Live</em>' reference list.
63 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getFileSystem_Live()
64 * @model transient="true" changeable="false" volatile="true" derived="true"
65 * @generated
66 */
67 EList<FSObject> getLive();
68
69} // FileSystem
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Model.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Model.java
new file mode 100644
index 00000000..e75bd41a
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/Model.java
@@ -0,0 +1,69 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
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>Model</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getFilesystems <em>Filesystems</em>}</li>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getOtherFSObjects <em>Other FS Objects</em>}</li>
20 * </ul>
21 *
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getModel()
23 * @model
24 * @generated
25 */
26public interface Model extends EObject {
27 /**
28 * Returns the value of the '<em><b>Filesystems</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Filesystems</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>Filesystems</em>' containment reference.
36 * @see #setFilesystems(FileSystem)
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getModel_Filesystems()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 FileSystem getFilesystems();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getFilesystems <em>Filesystems</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Filesystems</em>' containment reference.
48 * @see #getFilesystems()
49 * @generated
50 */
51 void setFilesystems(FileSystem value);
52
53 /**
54 * Returns the value of the '<em><b>Other FS Objects</b></em>' containment reference list.
55 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Other FS Objects</em>' containment reference list 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>Other FS Objects</em>' containment reference list.
63 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#getModel_OtherFSObjects()
64 * @model containment="true"
65 * @generated
66 */
67 EList<FSObject> getOtherFSObjects();
68
69} // Model
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemFactory.java
new file mode 100644
index 00000000..401becfb
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemFactory.java
@@ -0,0 +1,69 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
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 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage
13 * @generated
14 */
15public interface filesystemFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 filesystemFactory eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>File System</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>File System</em>'.
29 * @generated
30 */
31 FileSystem createFileSystem();
32
33 /**
34 * Returns a new object of class '<em>Dir</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Dir</em>'.
38 * @generated
39 */
40 Dir createDir();
41
42 /**
43 * Returns a new object of class '<em>File</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>File</em>'.
47 * @generated
48 */
49 File createFile();
50
51 /**
52 * Returns a new object of class '<em>Model</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Model</em>'.
56 * @generated
57 */
58 Model createModel();
59
60 /**
61 * Returns the package supported by this factory.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the package supported by this factory.
65 * @generated
66 */
67 filesystemPackage getfilesystemPackage();
68
69} //filesystemFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemPackage.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemPackage.java
new file mode 100644
index 00000000..08133f96
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/filesystemPackage.java
@@ -0,0 +1,511 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemFactory
22 * @model kind="package"
23 * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'"
24 * @generated
25 */
26public interface filesystemPackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "filesystem";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "FileSystemMetamodel";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "filesystem";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 filesystemPackage eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl <em>File System</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl
64 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFileSystem()
65 * @generated
66 */
67 int FILE_SYSTEM = 0;
68
69 /**
70 * The feature id for the '<em><b>Root</b></em>' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int FILE_SYSTEM__ROOT = 0;
77
78 /**
79 * The feature id for the '<em><b>Live</b></em>' reference list.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int FILE_SYSTEM__LIVE = 1;
86
87 /**
88 * The number of structural features of the '<em>File System</em>' class.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int FILE_SYSTEM_FEATURE_COUNT = 2;
95
96 /**
97 * The number of operations of the '<em>File System</em>' class.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 * @ordered
102 */
103 int FILE_SYSTEM_OPERATION_COUNT = 0;
104
105 /**
106 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FSObjectImpl <em>FS Object</em>}' class.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FSObjectImpl
110 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFSObject()
111 * @generated
112 */
113 int FS_OBJECT = 1;
114
115 /**
116 * The feature id for the '<em><b>Parent</b></em>' container reference.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 * @ordered
121 */
122 int FS_OBJECT__PARENT = 0;
123
124 /**
125 * The number of structural features of the '<em>FS Object</em>' class.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 * @ordered
130 */
131 int FS_OBJECT_FEATURE_COUNT = 1;
132
133 /**
134 * The number of operations of the '<em>FS Object</em>' class.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int FS_OBJECT_OPERATION_COUNT = 0;
141
142 /**
143 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.DirImpl <em>Dir</em>}' class.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.DirImpl
147 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getDir()
148 * @generated
149 */
150 int DIR = 2;
151
152 /**
153 * The feature id for the '<em><b>Parent</b></em>' container reference.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 * @ordered
158 */
159 int DIR__PARENT = FS_OBJECT__PARENT;
160
161 /**
162 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 * @ordered
167 */
168 int DIR__CONTENTS = FS_OBJECT_FEATURE_COUNT + 0;
169
170 /**
171 * The number of structural features of the '<em>Dir</em>' class.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 * @ordered
176 */
177 int DIR_FEATURE_COUNT = FS_OBJECT_FEATURE_COUNT + 1;
178
179 /**
180 * The number of operations of the '<em>Dir</em>' class.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 * @ordered
185 */
186 int DIR_OPERATION_COUNT = FS_OBJECT_OPERATION_COUNT + 0;
187
188 /**
189 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileImpl <em>File</em>}' class.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileImpl
193 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFile()
194 * @generated
195 */
196 int FILE = 3;
197
198 /**
199 * The feature id for the '<em><b>Parent</b></em>' container reference.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int FILE__PARENT = FS_OBJECT__PARENT;
206
207 /**
208 * The number of structural features of the '<em>File</em>' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 * @ordered
213 */
214 int FILE_FEATURE_COUNT = FS_OBJECT_FEATURE_COUNT + 0;
215
216 /**
217 * The number of operations of the '<em>File</em>' class.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 * @ordered
222 */
223 int FILE_OPERATION_COUNT = FS_OBJECT_OPERATION_COUNT + 0;
224
225 /**
226 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl <em>Model</em>}' class.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl
230 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getModel()
231 * @generated
232 */
233 int MODEL = 4;
234
235 /**
236 * The feature id for the '<em><b>Filesystems</b></em>' containment reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int MODEL__FILESYSTEMS = 0;
243
244 /**
245 * The feature id for the '<em><b>Other FS Objects</b></em>' containment reference list.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int MODEL__OTHER_FS_OBJECTS = 1;
252
253 /**
254 * The number of structural features of the '<em>Model</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int MODEL_FEATURE_COUNT = 2;
261
262 /**
263 * The number of operations of the '<em>Model</em>' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 * @ordered
268 */
269 int MODEL_OPERATION_COUNT = 0;
270
271
272 /**
273 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem <em>File System</em>}'.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @return the meta object for class '<em>File System</em>'.
277 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem
278 * @generated
279 */
280 EClass getFileSystem();
281
282 /**
283 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getRoot <em>Root</em>}'.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @return the meta object for the containment reference '<em>Root</em>'.
287 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getRoot()
288 * @see #getFileSystem()
289 * @generated
290 */
291 EReference getFileSystem_Root();
292
293 /**
294 * Returns the meta object for the reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getLive <em>Live</em>}'.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @return the meta object for the reference list '<em>Live</em>'.
298 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem#getLive()
299 * @see #getFileSystem()
300 * @generated
301 */
302 EReference getFileSystem_Live();
303
304 /**
305 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject <em>FS Object</em>}'.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @return the meta object for class '<em>FS Object</em>'.
309 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject
310 * @generated
311 */
312 EClass getFSObject();
313
314 /**
315 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent <em>Parent</em>}'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return the meta object for the container reference '<em>Parent</em>'.
319 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject#getParent()
320 * @see #getFSObject()
321 * @generated
322 */
323 EReference getFSObject_Parent();
324
325 /**
326 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir <em>Dir</em>}'.
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @return the meta object for class '<em>Dir</em>'.
330 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir
331 * @generated
332 */
333 EClass getDir();
334
335 /**
336 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir#getContents <em>Contents</em>}'.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @return the meta object for the containment reference list '<em>Contents</em>'.
340 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir#getContents()
341 * @see #getDir()
342 * @generated
343 */
344 EReference getDir_Contents();
345
346 /**
347 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File <em>File</em>}'.
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @return the meta object for class '<em>File</em>'.
351 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File
352 * @generated
353 */
354 EClass getFile();
355
356 /**
357 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model <em>Model</em>}'.
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @return the meta object for class '<em>Model</em>'.
361 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model
362 * @generated
363 */
364 EClass getModel();
365
366 /**
367 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getFilesystems <em>Filesystems</em>}'.
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @return the meta object for the containment reference '<em>Filesystems</em>'.
371 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getFilesystems()
372 * @see #getModel()
373 * @generated
374 */
375 EReference getModel_Filesystems();
376
377 /**
378 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getOtherFSObjects <em>Other FS Objects</em>}'.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @return the meta object for the containment reference list '<em>Other FS Objects</em>'.
382 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model#getOtherFSObjects()
383 * @see #getModel()
384 * @generated
385 */
386 EReference getModel_OtherFSObjects();
387
388 /**
389 * Returns the factory that creates the instances of the model.
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @return the factory that creates the instances of the model.
393 * @generated
394 */
395 filesystemFactory getfilesystemFactory();
396
397 /**
398 * <!-- begin-user-doc -->
399 * Defines literals for the meta objects that represent
400 * <ul>
401 * <li>each class,</li>
402 * <li>each feature of each class,</li>
403 * <li>each operation of each class,</li>
404 * <li>each enum,</li>
405 * <li>and each data type</li>
406 * </ul>
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 interface Literals {
411 /**
412 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl <em>File System</em>}' class.
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl
416 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFileSystem()
417 * @generated
418 */
419 EClass FILE_SYSTEM = eINSTANCE.getFileSystem();
420
421 /**
422 * The meta object literal for the '<em><b>Root</b></em>' containment reference feature.
423 * <!-- begin-user-doc -->
424 * <!-- end-user-doc -->
425 * @generated
426 */
427 EReference FILE_SYSTEM__ROOT = eINSTANCE.getFileSystem_Root();
428
429 /**
430 * The meta object literal for the '<em><b>Live</b></em>' reference list feature.
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 EReference FILE_SYSTEM__LIVE = eINSTANCE.getFileSystem_Live();
436
437 /**
438 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FSObjectImpl <em>FS Object</em>}' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FSObjectImpl
442 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFSObject()
443 * @generated
444 */
445 EClass FS_OBJECT = eINSTANCE.getFSObject();
446
447 /**
448 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 */
453 EReference FS_OBJECT__PARENT = eINSTANCE.getFSObject_Parent();
454
455 /**
456 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.DirImpl <em>Dir</em>}' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.DirImpl
460 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getDir()
461 * @generated
462 */
463 EClass DIR = eINSTANCE.getDir();
464
465 /**
466 * The meta object literal for the '<em><b>Contents</b></em>' containment reference list feature.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @generated
470 */
471 EReference DIR__CONTENTS = eINSTANCE.getDir_Contents();
472
473 /**
474 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileImpl <em>File</em>}' class.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileImpl
478 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getFile()
479 * @generated
480 */
481 EClass FILE = eINSTANCE.getFile();
482
483 /**
484 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl <em>Model</em>}' class.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl
488 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemPackageImpl#getModel()
489 * @generated
490 */
491 EClass MODEL = eINSTANCE.getModel();
492
493 /**
494 * The meta object literal for the '<em><b>Filesystems</b></em>' containment reference feature.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 */
499 EReference MODEL__FILESYSTEMS = eINSTANCE.getModel_Filesystems();
500
501 /**
502 * The meta object literal for the '<em><b>Other FS Objects</b></em>' containment reference list feature.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @generated
506 */
507 EReference MODEL__OTHER_FS_OBJECTS = eINSTANCE.getModel_OtherFSObjects();
508
509 }
510
511} //filesystemPackage
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/DirImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/DirImpl.java
new file mode 100644
index 00000000..2e2fbcba
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/DirImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject;
7import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
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>Dir</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.DirImpl#getContents <em>Contents</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class DirImpl extends FSObjectImpl implements Dir {
35 /**
36 * The cached value of the '{@link #getContents() <em>Contents</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getContents()
40 * @generated
41 * @ordered
42 */
43 protected EList<FSObject> contents;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected DirImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return filesystemPackage.Literals.DIR;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<FSObject> getContents() {
70 if (contents == null) {
71 contents = new EObjectContainmentWithInverseEList<FSObject>(FSObject.class, this, filesystemPackage.DIR__CONTENTS, filesystemPackage.FS_OBJECT__PARENT);
72 }
73 return contents;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case filesystemPackage.DIR__CONTENTS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getContents()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case filesystemPackage.DIR__CONTENTS:
100 return ((InternalEList<?>)getContents()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case filesystemPackage.DIR__CONTENTS:
114 return getContents();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case filesystemPackage.DIR__CONTENTS:
129 getContents().clear();
130 getContents().addAll((Collection<? extends FSObject>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case filesystemPackage.DIR__CONTENTS:
145 getContents().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case filesystemPackage.DIR__CONTENTS:
160 return contents != null && !contents.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //DirImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FSObjectImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FSObjectImpl.java
new file mode 100644
index 00000000..25ea1fbb
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FSObjectImpl.java
@@ -0,0 +1,196 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject;
7import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
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>FS Object</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FSObjectImpl#getParent <em>Parent</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public abstract class FSObjectImpl extends MinimalEObjectImpl.Container implements FSObject {
34 /**
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 protected FSObjectImpl() {
40 super();
41 }
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 @Override
49 protected EClass eStaticClass() {
50 return filesystemPackage.Literals.FS_OBJECT;
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 public Dir getParent() {
59 if (eContainerFeatureID() != filesystemPackage.FS_OBJECT__PARENT) return null;
60 return (Dir)eInternalContainer();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 public NotificationChain basicSetParent(Dir newParent, NotificationChain msgs) {
69 msgs = eBasicSetContainer((InternalEObject)newParent, filesystemPackage.FS_OBJECT__PARENT, msgs);
70 return msgs;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public void setParent(Dir newParent) {
79 if (newParent != eInternalContainer() || (eContainerFeatureID() != filesystemPackage.FS_OBJECT__PARENT && newParent != null)) {
80 if (EcoreUtil.isAncestor(this, newParent))
81 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
82 NotificationChain msgs = null;
83 if (eInternalContainer() != null)
84 msgs = eBasicRemoveFromContainer(msgs);
85 if (newParent != null)
86 msgs = ((InternalEObject)newParent).eInverseAdd(this, filesystemPackage.DIR__CONTENTS, Dir.class, msgs);
87 msgs = basicSetParent(newParent, msgs);
88 if (msgs != null) msgs.dispatch();
89 }
90 else if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, filesystemPackage.FS_OBJECT__PARENT, newParent, newParent));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
101 switch (featureID) {
102 case filesystemPackage.FS_OBJECT__PARENT:
103 if (eInternalContainer() != null)
104 msgs = eBasicRemoveFromContainer(msgs);
105 return basicSetParent((Dir)otherEnd, msgs);
106 }
107 return super.eInverseAdd(otherEnd, featureID, msgs);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case filesystemPackage.FS_OBJECT__PARENT:
119 return basicSetParent(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
131 switch (eContainerFeatureID()) {
132 case filesystemPackage.FS_OBJECT__PARENT:
133 return eInternalContainer().eInverseRemove(this, filesystemPackage.DIR__CONTENTS, Dir.class, msgs);
134 }
135 return super.eBasicRemoveFromContainerFeature(msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public Object eGet(int featureID, boolean resolve, boolean coreType) {
145 switch (featureID) {
146 case filesystemPackage.FS_OBJECT__PARENT:
147 return getParent();
148 }
149 return super.eGet(featureID, resolve, coreType);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case filesystemPackage.FS_OBJECT__PARENT:
161 setParent((Dir)newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case filesystemPackage.FS_OBJECT__PARENT:
176 setParent((Dir)null);
177 return;
178 }
179 super.eUnset(featureID);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public boolean eIsSet(int featureID) {
189 switch (featureID) {
190 case filesystemPackage.FS_OBJECT__PARENT:
191 return getParent() != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //FSObjectImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileImpl.java
new file mode 100644
index 00000000..29eb47fd
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>File</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class FileImpl extends FSObjectImpl implements File {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected FileImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return filesystemPackage.Literals.FILE;
35 }
36
37} //FileImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileSystemImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileSystemImpl.java
new file mode 100644
index 00000000..b5ef2b66
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/FileSystemImpl.java
@@ -0,0 +1,198 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject;
7import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem;
8import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
9
10import org.eclipse.emf.common.notify.Notification;
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.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>File System</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl#getRoot <em>Root</em>}</li>
30 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl#getLive <em>Live</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class FileSystemImpl extends MinimalEObjectImpl.Container implements FileSystem {
36 /**
37 * The cached value of the '{@link #getRoot() <em>Root</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getRoot()
41 * @generated
42 * @ordered
43 */
44 protected Dir root;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected FileSystemImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return filesystemPackage.Literals.FILE_SYSTEM;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public Dir getRoot() {
71 return root;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 public NotificationChain basicSetRoot(Dir newRoot, NotificationChain msgs) {
80 Dir oldRoot = root;
81 root = newRoot;
82 if (eNotificationRequired()) {
83 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, filesystemPackage.FILE_SYSTEM__ROOT, oldRoot, newRoot);
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 public void setRoot(Dir newRoot) {
95 if (newRoot != root) {
96 NotificationChain msgs = null;
97 if (root != null)
98 msgs = ((InternalEObject)root).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - filesystemPackage.FILE_SYSTEM__ROOT, null, msgs);
99 if (newRoot != null)
100 msgs = ((InternalEObject)newRoot).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - filesystemPackage.FILE_SYSTEM__ROOT, null, msgs);
101 msgs = basicSetRoot(newRoot, msgs);
102 if (msgs != null) msgs.dispatch();
103 }
104 else if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, filesystemPackage.FILE_SYSTEM__ROOT, newRoot, newRoot));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @SuppressWarnings("unchecked")
114 public EList<FSObject> getLive() {
115 // TODO: implement this method to return the 'Live' reference list
116 // Ensure that you remove @generated or mark it @generated NOT
117 // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting
118 // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used.
119 throw new UnsupportedOperationException();
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
129 switch (featureID) {
130 case filesystemPackage.FILE_SYSTEM__ROOT:
131 return basicSetRoot(null, msgs);
132 }
133 return super.eInverseRemove(otherEnd, featureID, msgs);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public Object eGet(int featureID, boolean resolve, boolean coreType) {
143 switch (featureID) {
144 case filesystemPackage.FILE_SYSTEM__ROOT:
145 return getRoot();
146 case filesystemPackage.FILE_SYSTEM__LIVE:
147 return getLive();
148 }
149 return super.eGet(featureID, resolve, coreType);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case filesystemPackage.FILE_SYSTEM__ROOT:
161 setRoot((Dir)newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case filesystemPackage.FILE_SYSTEM__ROOT:
176 setRoot((Dir)null);
177 return;
178 }
179 super.eUnset(featureID);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public boolean eIsSet(int featureID) {
189 switch (featureID) {
190 case filesystemPackage.FILE_SYSTEM__ROOT:
191 return root != null;
192 case filesystemPackage.FILE_SYSTEM__LIVE:
193 return !getLive().isEmpty();
194 }
195 return super.eIsSet(featureID);
196 }
197
198} //FileSystemImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/ModelImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/ModelImpl.java
new file mode 100644
index 00000000..a21f5b6e
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/ModelImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem;
7import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model;
8import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
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;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Model</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl#getFilesystems <em>Filesystems</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.ModelImpl#getOtherFSObjects <em>Other FS Objects</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
41 /**
42 * The cached value of the '{@link #getFilesystems() <em>Filesystems</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getFilesystems()
46 * @generated
47 * @ordered
48 */
49 protected FileSystem filesystems;
50
51 /**
52 * The cached value of the '{@link #getOtherFSObjects() <em>Other FS Objects</em>}' containment reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getOtherFSObjects()
56 * @generated
57 * @ordered
58 */
59 protected EList<FSObject> otherFSObjects;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected ModelImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return filesystemPackage.Literals.MODEL;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public FileSystem getFilesystems() {
86 return filesystems;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public NotificationChain basicSetFilesystems(FileSystem newFilesystems, NotificationChain msgs) {
95 FileSystem oldFilesystems = filesystems;
96 filesystems = newFilesystems;
97 if (eNotificationRequired()) {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, filesystemPackage.MODEL__FILESYSTEMS, oldFilesystems, newFilesystems);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public void setFilesystems(FileSystem newFilesystems) {
110 if (newFilesystems != filesystems) {
111 NotificationChain msgs = null;
112 if (filesystems != null)
113 msgs = ((InternalEObject)filesystems).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - filesystemPackage.MODEL__FILESYSTEMS, null, msgs);
114 if (newFilesystems != null)
115 msgs = ((InternalEObject)newFilesystems).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - filesystemPackage.MODEL__FILESYSTEMS, null, msgs);
116 msgs = basicSetFilesystems(newFilesystems, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, filesystemPackage.MODEL__FILESYSTEMS, newFilesystems, newFilesystems));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public EList<FSObject> getOtherFSObjects() {
129 if (otherFSObjects == null) {
130 otherFSObjects = new EObjectContainmentEList<FSObject>(FSObject.class, this, filesystemPackage.MODEL__OTHER_FS_OBJECTS);
131 }
132 return otherFSObjects;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
142 switch (featureID) {
143 case filesystemPackage.MODEL__FILESYSTEMS:
144 return basicSetFilesystems(null, msgs);
145 case filesystemPackage.MODEL__OTHER_FS_OBJECTS:
146 return ((InternalEList<?>)getOtherFSObjects()).basicRemove(otherEnd, msgs);
147 }
148 return super.eInverseRemove(otherEnd, featureID, msgs);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public Object eGet(int featureID, boolean resolve, boolean coreType) {
158 switch (featureID) {
159 case filesystemPackage.MODEL__FILESYSTEMS:
160 return getFilesystems();
161 case filesystemPackage.MODEL__OTHER_FS_OBJECTS:
162 return getOtherFSObjects();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @SuppressWarnings("unchecked")
173 @Override
174 public void eSet(int featureID, Object newValue) {
175 switch (featureID) {
176 case filesystemPackage.MODEL__FILESYSTEMS:
177 setFilesystems((FileSystem)newValue);
178 return;
179 case filesystemPackage.MODEL__OTHER_FS_OBJECTS:
180 getOtherFSObjects().clear();
181 getOtherFSObjects().addAll((Collection<? extends FSObject>)newValue);
182 return;
183 }
184 super.eSet(featureID, newValue);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void eUnset(int featureID) {
194 switch (featureID) {
195 case filesystemPackage.MODEL__FILESYSTEMS:
196 setFilesystems((FileSystem)null);
197 return;
198 case filesystemPackage.MODEL__OTHER_FS_OBJECTS:
199 getOtherFSObjects().clear();
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID) {
212 switch (featureID) {
213 case filesystemPackage.MODEL__FILESYSTEMS:
214 return filesystems != null;
215 case filesystemPackage.MODEL__OTHER_FS_OBJECTS:
216 return otherFSObjects != null && !otherFSObjects.isEmpty();
217 }
218 return super.eIsSet(featureID);
219 }
220
221} //ModelImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemFactoryImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemFactoryImpl.java
new file mode 100644
index 00000000..a3526e36
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemFactoryImpl.java
@@ -0,0 +1,128 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class filesystemFactoryImpl extends EFactoryImpl implements filesystemFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static filesystemFactory init() {
29 try {
30 filesystemFactory thefilesystemFactory = (filesystemFactory)EPackage.Registry.INSTANCE.getEFactory(filesystemPackage.eNS_URI);
31 if (thefilesystemFactory != null) {
32 return thefilesystemFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new filesystemFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public filesystemFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case filesystemPackage.FILE_SYSTEM: return createFileSystem();
60 case filesystemPackage.DIR: return createDir();
61 case filesystemPackage.FILE: return createFile();
62 case filesystemPackage.MODEL: return createModel();
63 default:
64 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
65 }
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public FileSystem createFileSystem() {
74 FileSystemImpl fileSystem = new FileSystemImpl();
75 return fileSystem;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public Dir createDir() {
84 DirImpl dir = new DirImpl();
85 return dir;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public File createFile() {
94 FileImpl file = new FileImpl();
95 return file;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public Model createModel() {
104 ModelImpl model = new ModelImpl();
105 return model;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public filesystemPackage getfilesystemPackage() {
114 return (filesystemPackage)getEPackage();
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @deprecated
121 * @generated
122 */
123 @Deprecated
124 public static filesystemPackage getPackage() {
125 return filesystemPackage.eINSTANCE;
126 }
127
128} //filesystemFactoryImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemPackageImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemPackageImpl.java
new file mode 100644
index 00000000..5bd41020
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/impl/filesystemPackageImpl.java
@@ -0,0 +1,338 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir;
6import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject;
7import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File;
8import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem;
9import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model;
10import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemFactory;
11import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.EPackage;
15import org.eclipse.emf.ecore.EReference;
16
17import org.eclipse.emf.ecore.impl.EPackageImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model <b>Package</b>.
22 * <!-- end-user-doc -->
23 * @generated
24 */
25public class filesystemPackageImpl extends EPackageImpl implements filesystemPackage {
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 private EClass fileSystemEClass = null;
32
33 /**
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 private EClass fsObjectEClass = null;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 private EClass dirEClass = null;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 private EClass fileEClass = null;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 private EClass modelEClass = null;
60
61 /**
62 * Creates an instance of the model <b>Package</b>, registered with
63 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
64 * package URI value.
65 * <p>Note: the correct way to create the package is via the static
66 * factory method {@link #init init()}, which also performs
67 * initialization of the package, or returns the registered package,
68 * if one already exists.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see org.eclipse.emf.ecore.EPackage.Registry
72 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage#eNS_URI
73 * @see #init()
74 * @generated
75 */
76 private filesystemPackageImpl() {
77 super(eNS_URI, filesystemFactory.eINSTANCE);
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 private static boolean isInited = false;
86
87 /**
88 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
89 *
90 * <p>This method is used to initialize {@link filesystemPackage#eINSTANCE} when that field is accessed.
91 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #eNS_URI
95 * @see #createPackageContents()
96 * @see #initializePackageContents()
97 * @generated
98 */
99 public static filesystemPackage init() {
100 if (isInited) return (filesystemPackage)EPackage.Registry.INSTANCE.getEPackage(filesystemPackage.eNS_URI);
101
102 // Obtain or create and register package
103 filesystemPackageImpl thefilesystemPackage = (filesystemPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof filesystemPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new filesystemPackageImpl());
104
105 isInited = true;
106
107 // Create package meta-data objects
108 thefilesystemPackage.createPackageContents();
109
110 // Initialize created meta-data
111 thefilesystemPackage.initializePackageContents();
112
113 // Mark meta-data to indicate it can't be changed
114 thefilesystemPackage.freeze();
115
116
117 // Update the registry and return the package
118 EPackage.Registry.INSTANCE.put(filesystemPackage.eNS_URI, thefilesystemPackage);
119 return thefilesystemPackage;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EClass getFileSystem() {
128 return fileSystemEClass;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public EReference getFileSystem_Root() {
137 return (EReference)fileSystemEClass.getEStructuralFeatures().get(0);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public EReference getFileSystem_Live() {
146 return (EReference)fileSystemEClass.getEStructuralFeatures().get(1);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public EClass getFSObject() {
155 return fsObjectEClass;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public EReference getFSObject_Parent() {
164 return (EReference)fsObjectEClass.getEStructuralFeatures().get(0);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public EClass getDir() {
173 return dirEClass;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public EReference getDir_Contents() {
182 return (EReference)dirEClass.getEStructuralFeatures().get(0);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public EClass getFile() {
191 return fileEClass;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public EClass getModel() {
200 return modelEClass;
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 public EReference getModel_Filesystems() {
209 return (EReference)modelEClass.getEStructuralFeatures().get(0);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 public EReference getModel_OtherFSObjects() {
218 return (EReference)modelEClass.getEStructuralFeatures().get(1);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 public filesystemFactory getfilesystemFactory() {
227 return (filesystemFactory)getEFactoryInstance();
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 private boolean isCreated = false;
236
237 /**
238 * Creates the meta-model objects for the package. This method is
239 * guarded to have no affect on any invocation but its first.
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 public void createPackageContents() {
245 if (isCreated) return;
246 isCreated = true;
247
248 // Create classes and their features
249 fileSystemEClass = createEClass(FILE_SYSTEM);
250 createEReference(fileSystemEClass, FILE_SYSTEM__ROOT);
251 createEReference(fileSystemEClass, FILE_SYSTEM__LIVE);
252
253 fsObjectEClass = createEClass(FS_OBJECT);
254 createEReference(fsObjectEClass, FS_OBJECT__PARENT);
255
256 dirEClass = createEClass(DIR);
257 createEReference(dirEClass, DIR__CONTENTS);
258
259 fileEClass = createEClass(FILE);
260
261 modelEClass = createEClass(MODEL);
262 createEReference(modelEClass, MODEL__FILESYSTEMS);
263 createEReference(modelEClass, MODEL__OTHER_FS_OBJECTS);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 private boolean isInitialized = false;
272
273 /**
274 * Complete the initialization of the package and its meta-model. This
275 * method is guarded to have no affect on any invocation but its first.
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 public void initializePackageContents() {
281 if (isInitialized) return;
282 isInitialized = true;
283
284 // Initialize package
285 setName(eNAME);
286 setNsPrefix(eNS_PREFIX);
287 setNsURI(eNS_URI);
288
289 // Create type parameters
290
291 // Set bounds for type parameters
292
293 // Add supertypes to classes
294 dirEClass.getESuperTypes().add(this.getFSObject());
295 fileEClass.getESuperTypes().add(this.getFSObject());
296
297 // Initialize classes, features, and operations; add parameters
298 initEClass(fileSystemEClass, FileSystem.class, "FileSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
299 initEReference(getFileSystem_Root(), this.getDir(), null, "root", null, 1, 1, FileSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
300 initEReference(getFileSystem_Live(), this.getFSObject(), null, "live", null, 0, -1, FileSystem.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
301
302 initEClass(fsObjectEClass, FSObject.class, "FSObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
303 initEReference(getFSObject_Parent(), this.getDir(), this.getDir_Contents(), "parent", null, 0, 1, FSObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
304
305 initEClass(dirEClass, Dir.class, "Dir", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
306 initEReference(getDir_Contents(), this.getFSObject(), this.getFSObject_Parent(), "contents", null, 0, -1, Dir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
307
308 initEClass(fileEClass, File.class, "File", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
309
310 initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
311 initEReference(getModel_Filesystems(), this.getFileSystem(), null, "filesystems", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
312 initEReference(getModel_OtherFSObjects(), this.getFSObject(), null, "otherFSObjects", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
313
314 // Create resource
315 createResource(eNS_URI);
316
317 // Create annotations
318 // http://www.eclipse.org/emf/2002/Ecore
319 createEcoreAnnotations();
320 }
321
322 /**
323 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 protected void createEcoreAnnotations() {
329 String source = "http://www.eclipse.org/emf/2002/Ecore";
330 addAnnotation
331 (this,
332 source,
333 new String[] {
334 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature"
335 });
336 }
337
338} //filesystemPackageImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemAdapterFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemAdapterFactory.java
new file mode 100644
index 00000000..d9aed046
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemAdapterFactory.java
@@ -0,0 +1,192 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.util;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage
20 * @generated
21 */
22public class filesystemAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static filesystemPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public filesystemAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = filesystemPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected filesystemSwitch<Adapter> modelSwitch =
69 new filesystemSwitch<Adapter>() {
70 @Override
71 public Adapter caseFileSystem(FileSystem object) {
72 return createFileSystemAdapter();
73 }
74 @Override
75 public Adapter caseFSObject(FSObject object) {
76 return createFSObjectAdapter();
77 }
78 @Override
79 public Adapter caseDir(Dir object) {
80 return createDirAdapter();
81 }
82 @Override
83 public Adapter caseFile(File object) {
84 return createFileAdapter();
85 }
86 @Override
87 public Adapter caseModel(Model object) {
88 return createModelAdapter();
89 }
90 @Override
91 public Adapter defaultCase(EObject object) {
92 return createEObjectAdapter();
93 }
94 };
95
96 /**
97 * Creates an adapter for the <code>target</code>.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @param target the object to adapt.
101 * @return the adapter for the <code>target</code>.
102 * @generated
103 */
104 @Override
105 public Adapter createAdapter(Notifier target) {
106 return modelSwitch.doSwitch((EObject)target);
107 }
108
109
110 /**
111 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem <em>File System</em>}'.
112 * <!-- begin-user-doc -->
113 * This default implementation returns null so that we can easily ignore cases;
114 * it's useful to ignore a case when inheritance will catch all the cases anyway.
115 * <!-- end-user-doc -->
116 * @return the new adapter.
117 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FileSystem
118 * @generated
119 */
120 public Adapter createFileSystemAdapter() {
121 return null;
122 }
123
124 /**
125 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject <em>FS Object</em>}'.
126 * <!-- begin-user-doc -->
127 * This default implementation returns null so that we can easily ignore cases;
128 * it's useful to ignore a case when inheritance will catch all the cases anyway.
129 * <!-- end-user-doc -->
130 * @return the new adapter.
131 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.FSObject
132 * @generated
133 */
134 public Adapter createFSObjectAdapter() {
135 return null;
136 }
137
138 /**
139 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir <em>Dir</em>}'.
140 * <!-- begin-user-doc -->
141 * This default implementation returns null so that we can easily ignore cases;
142 * it's useful to ignore a case when inheritance will catch all the cases anyway.
143 * <!-- end-user-doc -->
144 * @return the new adapter.
145 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Dir
146 * @generated
147 */
148 public Adapter createDirAdapter() {
149 return null;
150 }
151
152 /**
153 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File <em>File</em>}'.
154 * <!-- begin-user-doc -->
155 * This default implementation returns null so that we can easily ignore cases;
156 * it's useful to ignore a case when inheritance will catch all the cases anyway.
157 * <!-- end-user-doc -->
158 * @return the new adapter.
159 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.File
160 * @generated
161 */
162 public Adapter createFileAdapter() {
163 return null;
164 }
165
166 /**
167 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model <em>Model</em>}'.
168 * <!-- begin-user-doc -->
169 * This default implementation returns null so that we can easily ignore cases;
170 * it's useful to ignore a case when inheritance will catch all the cases anyway.
171 * <!-- end-user-doc -->
172 * @return the new adapter.
173 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.Model
174 * @generated
175 */
176 public Adapter createModelAdapter() {
177 return null;
178 }
179
180 /**
181 * Creates a new adapter for the default case.
182 * <!-- begin-user-doc -->
183 * This default implementation returns null.
184 * <!-- end-user-doc -->
185 * @return the new adapter.
186 * @generated
187 */
188 public Adapter createEObjectAdapter() {
189 return null;
190 }
191
192} //filesystemAdapterFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemSwitch.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemSwitch.java
new file mode 100644
index 00000000..33f4c7a4
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/filesystem/util/filesystemSwitch.java
@@ -0,0 +1,196 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.util;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.filesystemPackage
23 * @generated
24 */
25public class filesystemSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static filesystemPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public filesystemSwitch() {
41 if (modelPackage == null) {
42 modelPackage = filesystemPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case filesystemPackage.FILE_SYSTEM: {
70 FileSystem fileSystem = (FileSystem)theEObject;
71 T result = caseFileSystem(fileSystem);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case filesystemPackage.FS_OBJECT: {
76 FSObject fsObject = (FSObject)theEObject;
77 T result = caseFSObject(fsObject);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case filesystemPackage.DIR: {
82 Dir dir = (Dir)theEObject;
83 T result = caseDir(dir);
84 if (result == null) result = caseFSObject(dir);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case filesystemPackage.FILE: {
89 File file = (File)theEObject;
90 T result = caseFile(file);
91 if (result == null) result = caseFSObject(file);
92 if (result == null) result = defaultCase(theEObject);
93 return result;
94 }
95 case filesystemPackage.MODEL: {
96 Model model = (Model)theEObject;
97 T result = caseModel(model);
98 if (result == null) result = defaultCase(theEObject);
99 return result;
100 }
101 default: return defaultCase(theEObject);
102 }
103 }
104
105 /**
106 * Returns the result of interpreting the object as an instance of '<em>File System</em>'.
107 * <!-- begin-user-doc -->
108 * This implementation returns null;
109 * returning a non-null result will terminate the switch.
110 * <!-- end-user-doc -->
111 * @param object the target of the switch.
112 * @return the result of interpreting the object as an instance of '<em>File System</em>'.
113 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
114 * @generated
115 */
116 public T caseFileSystem(FileSystem object) {
117 return null;
118 }
119
120 /**
121 * Returns the result of interpreting the object as an instance of '<em>FS Object</em>'.
122 * <!-- begin-user-doc -->
123 * This implementation returns null;
124 * returning a non-null result will terminate the switch.
125 * <!-- end-user-doc -->
126 * @param object the target of the switch.
127 * @return the result of interpreting the object as an instance of '<em>FS Object</em>'.
128 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
129 * @generated
130 */
131 public T caseFSObject(FSObject object) {
132 return null;
133 }
134
135 /**
136 * Returns the result of interpreting the object as an instance of '<em>Dir</em>'.
137 * <!-- begin-user-doc -->
138 * This implementation returns null;
139 * returning a non-null result will terminate the switch.
140 * <!-- end-user-doc -->
141 * @param object the target of the switch.
142 * @return the result of interpreting the object as an instance of '<em>Dir</em>'.
143 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
144 * @generated
145 */
146 public T caseDir(Dir object) {
147 return null;
148 }
149
150 /**
151 * Returns the result of interpreting the object as an instance of '<em>File</em>'.
152 * <!-- begin-user-doc -->
153 * This implementation returns null;
154 * returning a non-null result will terminate the switch.
155 * <!-- end-user-doc -->
156 * @param object the target of the switch.
157 * @return the result of interpreting the object as an instance of '<em>File</em>'.
158 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
159 * @generated
160 */
161 public T caseFile(File object) {
162 return null;
163 }
164
165 /**
166 * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
167 * <!-- begin-user-doc -->
168 * This implementation returns null;
169 * returning a non-null result will terminate the switch.
170 * <!-- end-user-doc -->
171 * @param object the target of the switch.
172 * @return the result of interpreting the object as an instance of '<em>Model</em>'.
173 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
174 * @generated
175 */
176 public T caseModel(Model object) {
177 return null;
178 }
179
180 /**
181 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
182 * <!-- begin-user-doc -->
183 * This implementation returns null;
184 * returning a non-null result will terminate the switch, but this is the last case anyway.
185 * <!-- end-user-doc -->
186 * @param object the target of the switch.
187 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
188 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
189 * @generated
190 */
191 @Override
192 public T defaultCase(EObject object) {
193 return null;
194 }
195
196} //filesystemSwitch
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Choice.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Choice.java
new file mode 100644
index 00000000..fc2f0328
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Choice.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Choice</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getChoice()
13 * @model
14 * @generated
15 */
16public interface Choice extends Pseudostate {
17} // Choice
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/CompositeElement.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/CompositeElement.java
new file mode 100644
index 00000000..b0e38bcf
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/CompositeElement.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
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>Composite Element</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement#getRegions <em>Regions</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getCompositeElement()
22 * @model abstract="true"
23 * @generated
24 */
25public interface CompositeElement extends EObject {
26 /**
27 * Returns the value of the '<em><b>Regions</b></em>' containment reference list.
28 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Regions</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>Regions</em>' containment reference list.
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getCompositeElement_Regions()
37 * @model containment="true"
38 * @generated
39 */
40 EList<Region> getRegions();
41
42} // CompositeElement
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Exit.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Exit.java
new file mode 100644
index 00000000..b134c14f
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Exit.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Exit</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getExit()
13 * @model
14 * @generated
15 */
16public interface Exit extends Pseudostate {
17} // Exit
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/FinalState.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/FinalState.java
new file mode 100644
index 00000000..5ec2a16a
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/FinalState.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Final State</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getFinalState()
13 * @model
14 * @generated
15 */
16public interface FinalState extends RegularState {
17} // FinalState
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Pseudostate.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Pseudostate.java
new file mode 100644
index 00000000..670a172a
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Pseudostate.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Pseudostate</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getPseudostate()
13 * @model abstract="true"
14 * @generated
15 */
16public interface Pseudostate extends Vertex {
17} // Pseudostate
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Region.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Region.java
new file mode 100644
index 00000000..84081ae8
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Region.java
@@ -0,0 +1,42 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
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>Region</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region#getVertices <em>Vertices</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getRegion()
22 * @model
23 * @generated
24 */
25public interface Region extends EObject {
26 /**
27 * Returns the value of the '<em><b>Vertices</b></em>' containment reference list.
28 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Vertices</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>Vertices</em>' containment reference list.
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getRegion_Vertices()
37 * @model containment="true" ordered="false"
38 * @generated
39 */
40 EList<Vertex> getVertices();
41
42} // Region
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/RegularState.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/RegularState.java
new file mode 100644
index 00000000..4ad05644
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/RegularState.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Regular State</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getRegularState()
13 * @model abstract="true"
14 * @generated
15 */
16public interface RegularState extends Vertex {
17} // RegularState
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/State.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/State.java
new file mode 100644
index 00000000..09667a01
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/State.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>State</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getState()
13 * @model
14 * @generated
15 */
16public interface State extends RegularState, CompositeElement {
17} // State
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Statechart.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Statechart.java
new file mode 100644
index 00000000..0f8e383d
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Statechart.java
@@ -0,0 +1,17 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Statechart</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getStatechart()
13 * @model
14 * @generated
15 */
16public interface Statechart extends CompositeElement {
17} // Statechart
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Transition.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Transition.java
new file mode 100644
index 00000000..c90c8d23
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Transition.java
@@ -0,0 +1,81 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget <em>Target</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource <em>Source</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getTransition()
21 * @model
22 * @generated
23 */
24public interface Transition extends EObject {
25 /**
26 * Returns the value of the '<em><b>Target</b></em>' reference.
27 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Target</em>' 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>Target</em>' reference.
35 * @see #setTarget(Vertex)
36 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getTransition_Target()
37 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getIncomingTransitions
38 * @model opposite="incomingTransitions" required="true" ordered="false"
39 * @generated
40 */
41 Vertex getTarget();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget <em>Target</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Target</em>' reference.
48 * @see #getTarget()
49 * @generated
50 */
51 void setTarget(Vertex value);
52
53 /**
54 * Returns the value of the '<em><b>Source</b></em>' container reference.
55 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Source</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>Source</em>' container reference.
63 * @see #setSource(Vertex)
64 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getTransition_Source()
65 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getOutgoingTransitions
66 * @model opposite="outgoingTransitions" transient="false" ordered="false"
67 * @generated
68 */
69 Vertex getSource();
70
71 /**
72 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource <em>Source</em>}' container reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Source</em>' container reference.
76 * @see #getSource()
77 * @generated
78 */
79 void setSource(Vertex value);
80
81} // Transition
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Vertex.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Vertex.java
new file mode 100644
index 00000000..e4631e42
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/Vertex.java
@@ -0,0 +1,63 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
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>Vertex</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}</li>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}</li>
20 * </ul>
21 *
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getVertex()
23 * @model abstract="true"
24 * @generated
25 */
26public interface Vertex extends EObject {
27 /**
28 * Returns the value of the '<em><b>Incoming Transitions</b></em>' reference list.
29 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition}.
30 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget <em>Target</em>}'.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Incoming Transitions</em>' 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>Incoming Transitions</em>' reference list.
38 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getVertex_IncomingTransitions()
39 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget
40 * @model opposite="target" ordered="false"
41 * @generated
42 */
43 EList<Transition> getIncomingTransitions();
44
45 /**
46 * Returns the value of the '<em><b>Outgoing Transitions</b></em>' containment reference list.
47 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition}.
48 * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource <em>Source</em>}'.
49 * <!-- begin-user-doc -->
50 * <p>
51 * If the meaning of the '<em>Outgoing Transitions</em>' containment reference list isn't clear,
52 * there really should be more of a description here...
53 * </p>
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Outgoing Transitions</em>' containment reference list.
56 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#getVertex_OutgoingTransitions()
57 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource
58 * @model opposite="source" containment="true" ordered="false"
59 * @generated
60 */
61 EList<Transition> getOutgoingTransitions();
62
63} // Vertex
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduFactory.java
new file mode 100644
index 00000000..53afae22
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduFactory.java
@@ -0,0 +1,114 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
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 ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage
13 * @generated
14 */
15public interface YakinduFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 YakinduFactory eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Region</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Region</em>'.
29 * @generated
30 */
31 Region createRegion();
32
33 /**
34 * Returns a new object of class '<em>Transition</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Transition</em>'.
38 * @generated
39 */
40 Transition createTransition();
41
42 /**
43 * Returns a new object of class '<em>Statechart</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Statechart</em>'.
47 * @generated
48 */
49 Statechart createStatechart();
50
51 /**
52 * Returns a new object of class '<em>Entry</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Entry</em>'.
56 * @generated
57 */
58 Entry createEntry();
59
60 /**
61 * Returns a new object of class '<em>Synchronization</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Synchronization</em>'.
65 * @generated
66 */
67 Synchronization createSynchronization();
68
69 /**
70 * Returns a new object of class '<em>State</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>State</em>'.
74 * @generated
75 */
76 State createState();
77
78 /**
79 * Returns a new object of class '<em>Choice</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Choice</em>'.
83 * @generated
84 */
85 Choice createChoice();
86
87 /**
88 * Returns a new object of class '<em>Exit</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Exit</em>'.
92 * @generated
93 */
94 Exit createExit();
95
96 /**
97 * Returns a new object of class '<em>Final State</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Final State</em>'.
101 * @generated
102 */
103 FinalState createFinalState();
104
105 /**
106 * Returns the package supported by this factory.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return the package supported by this factory.
110 * @generated
111 */
112 YakinduPackage getYakinduPackage();
113
114} //YakinduFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduPackage.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduPackage.java
new file mode 100644
index 00000000..7fbe176c
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/YakinduPackage.java
@@ -0,0 +1,1038 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface YakinduPackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "yakindu";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "YakinduMetamodel";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "yakindu";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 YakinduPackage eINSTANCE = ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl <em>Vertex</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl
63 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getVertex()
64 * @generated
65 */
66 int VERTEX = 1;
67
68 /**
69 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int VERTEX__INCOMING_TRANSITIONS = 0;
76
77 /**
78 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int VERTEX__OUTGOING_TRANSITIONS = 1;
85
86 /**
87 * The number of structural features of the '<em>Vertex</em>' class.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int VERTEX_FEATURE_COUNT = 2;
94
95 /**
96 * The number of operations of the '<em>Vertex</em>' class.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 * @ordered
101 */
102 int VERTEX_OPERATION_COUNT = 0;
103
104 /**
105 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.PseudostateImpl <em>Pseudostate</em>}' class.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.PseudostateImpl
109 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getPseudostate()
110 * @generated
111 */
112 int PSEUDOSTATE = 0;
113
114 /**
115 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int PSEUDOSTATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS;
122
123 /**
124 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int PSEUDOSTATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS;
131
132 /**
133 * The number of structural features of the '<em>Pseudostate</em>' class.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 * @ordered
138 */
139 int PSEUDOSTATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0;
140
141 /**
142 * The number of operations of the '<em>Pseudostate</em>' class.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 * @ordered
147 */
148 int PSEUDOSTATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0;
149
150 /**
151 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegionImpl <em>Region</em>}' class.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegionImpl
155 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getRegion()
156 * @generated
157 */
158 int REGION = 2;
159
160 /**
161 * The feature id for the '<em><b>Vertices</b></em>' containment reference list.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int REGION__VERTICES = 0;
168
169 /**
170 * The number of structural features of the '<em>Region</em>' class.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 * @ordered
175 */
176 int REGION_FEATURE_COUNT = 1;
177
178 /**
179 * The number of operations of the '<em>Region</em>' class.
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 * @ordered
184 */
185 int REGION_OPERATION_COUNT = 0;
186
187 /**
188 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl <em>Transition</em>}' class.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl
192 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getTransition()
193 * @generated
194 */
195 int TRANSITION = 3;
196
197 /**
198 * The feature id for the '<em><b>Target</b></em>' reference.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 * @ordered
203 */
204 int TRANSITION__TARGET = 0;
205
206 /**
207 * The feature id for the '<em><b>Source</b></em>' container reference.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 * @ordered
212 */
213 int TRANSITION__SOURCE = 1;
214
215 /**
216 * The number of structural features of the '<em>Transition</em>' class.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 * @ordered
221 */
222 int TRANSITION_FEATURE_COUNT = 2;
223
224 /**
225 * The number of operations of the '<em>Transition</em>' class.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 * @ordered
230 */
231 int TRANSITION_OPERATION_COUNT = 0;
232
233 /**
234 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.CompositeElementImpl <em>Composite Element</em>}' class.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.CompositeElementImpl
238 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getCompositeElement()
239 * @generated
240 */
241 int COMPOSITE_ELEMENT = 9;
242
243 /**
244 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 * @ordered
249 */
250 int COMPOSITE_ELEMENT__REGIONS = 0;
251
252 /**
253 * The number of structural features of the '<em>Composite Element</em>' class.
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 * @ordered
258 */
259 int COMPOSITE_ELEMENT_FEATURE_COUNT = 1;
260
261 /**
262 * The number of operations of the '<em>Composite Element</em>' class.
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 * @ordered
267 */
268 int COMPOSITE_ELEMENT_OPERATION_COUNT = 0;
269
270 /**
271 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StatechartImpl <em>Statechart</em>}' class.
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StatechartImpl
275 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getStatechart()
276 * @generated
277 */
278 int STATECHART = 4;
279
280 /**
281 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 * @ordered
286 */
287 int STATECHART__REGIONS = COMPOSITE_ELEMENT__REGIONS;
288
289 /**
290 * The number of structural features of the '<em>Statechart</em>' class.
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 * @ordered
295 */
296 int STATECHART_FEATURE_COUNT = COMPOSITE_ELEMENT_FEATURE_COUNT + 0;
297
298 /**
299 * The number of operations of the '<em>Statechart</em>' class.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 * @ordered
304 */
305 int STATECHART_OPERATION_COUNT = COMPOSITE_ELEMENT_OPERATION_COUNT + 0;
306
307 /**
308 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.EntryImpl <em>Entry</em>}' class.
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.EntryImpl
312 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getEntry()
313 * @generated
314 */
315 int ENTRY = 5;
316
317 /**
318 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int ENTRY__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
325
326 /**
327 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int ENTRY__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
334
335 /**
336 * The number of structural features of the '<em>Entry</em>' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 * @ordered
341 */
342 int ENTRY_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
343
344 /**
345 * The number of operations of the '<em>Entry</em>' class.
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 * @ordered
350 */
351 int ENTRY_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
352
353 /**
354 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.SynchronizationImpl <em>Synchronization</em>}' class.
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.SynchronizationImpl
358 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getSynchronization()
359 * @generated
360 */
361 int SYNCHRONIZATION = 6;
362
363 /**
364 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int SYNCHRONIZATION__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
371
372 /**
373 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 * @ordered
378 */
379 int SYNCHRONIZATION__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
380
381 /**
382 * The number of structural features of the '<em>Synchronization</em>' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 * @ordered
387 */
388 int SYNCHRONIZATION_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
389
390 /**
391 * The number of operations of the '<em>Synchronization</em>' class.
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 * @ordered
396 */
397 int SYNCHRONIZATION_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
398
399 /**
400 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegularStateImpl <em>Regular State</em>}' class.
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegularStateImpl
404 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getRegularState()
405 * @generated
406 */
407 int REGULAR_STATE = 8;
408
409 /**
410 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int REGULAR_STATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS;
417
418 /**
419 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 * @ordered
424 */
425 int REGULAR_STATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS;
426
427 /**
428 * The number of structural features of the '<em>Regular State</em>' class.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 * @ordered
433 */
434 int REGULAR_STATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0;
435
436 /**
437 * The number of operations of the '<em>Regular State</em>' class.
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @generated
441 * @ordered
442 */
443 int REGULAR_STATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0;
444
445 /**
446 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StateImpl <em>State</em>}' class.
447 * <!-- begin-user-doc -->
448 * <!-- end-user-doc -->
449 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StateImpl
450 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getState()
451 * @generated
452 */
453 int STATE = 7;
454
455 /**
456 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS;
463
464 /**
465 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 * @ordered
470 */
471 int STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS;
472
473 /**
474 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 * @ordered
479 */
480 int STATE__REGIONS = REGULAR_STATE_FEATURE_COUNT + 0;
481
482 /**
483 * The number of structural features of the '<em>State</em>' class.
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 * @ordered
488 */
489 int STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 1;
490
491 /**
492 * The number of operations of the '<em>State</em>' class.
493 * <!-- begin-user-doc -->
494 * <!-- end-user-doc -->
495 * @generated
496 * @ordered
497 */
498 int STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0;
499
500 /**
501 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ChoiceImpl <em>Choice</em>}' class.
502 * <!-- begin-user-doc -->
503 * <!-- end-user-doc -->
504 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ChoiceImpl
505 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getChoice()
506 * @generated
507 */
508 int CHOICE = 10;
509
510 /**
511 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 * @ordered
516 */
517 int CHOICE__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
518
519 /**
520 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @generated
524 * @ordered
525 */
526 int CHOICE__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
527
528 /**
529 * The number of structural features of the '<em>Choice</em>' class.
530 * <!-- begin-user-doc -->
531 * <!-- end-user-doc -->
532 * @generated
533 * @ordered
534 */
535 int CHOICE_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
536
537 /**
538 * The number of operations of the '<em>Choice</em>' class.
539 * <!-- begin-user-doc -->
540 * <!-- end-user-doc -->
541 * @generated
542 * @ordered
543 */
544 int CHOICE_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
545
546 /**
547 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ExitImpl <em>Exit</em>}' class.
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ExitImpl
551 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getExit()
552 * @generated
553 */
554 int EXIT = 11;
555
556 /**
557 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
558 * <!-- begin-user-doc -->
559 * <!-- end-user-doc -->
560 * @generated
561 * @ordered
562 */
563 int EXIT__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
564
565 /**
566 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
567 * <!-- begin-user-doc -->
568 * <!-- end-user-doc -->
569 * @generated
570 * @ordered
571 */
572 int EXIT__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
573
574 /**
575 * The number of structural features of the '<em>Exit</em>' class.
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @generated
579 * @ordered
580 */
581 int EXIT_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
582
583 /**
584 * The number of operations of the '<em>Exit</em>' class.
585 * <!-- begin-user-doc -->
586 * <!-- end-user-doc -->
587 * @generated
588 * @ordered
589 */
590 int EXIT_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
591
592 /**
593 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.FinalStateImpl <em>Final State</em>}' class.
594 * <!-- begin-user-doc -->
595 * <!-- end-user-doc -->
596 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.FinalStateImpl
597 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getFinalState()
598 * @generated
599 */
600 int FINAL_STATE = 12;
601
602 /**
603 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
604 * <!-- begin-user-doc -->
605 * <!-- end-user-doc -->
606 * @generated
607 * @ordered
608 */
609 int FINAL_STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS;
610
611 /**
612 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
613 * <!-- begin-user-doc -->
614 * <!-- end-user-doc -->
615 * @generated
616 * @ordered
617 */
618 int FINAL_STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS;
619
620 /**
621 * The number of structural features of the '<em>Final State</em>' class.
622 * <!-- begin-user-doc -->
623 * <!-- end-user-doc -->
624 * @generated
625 * @ordered
626 */
627 int FINAL_STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 0;
628
629 /**
630 * The number of operations of the '<em>Final State</em>' class.
631 * <!-- begin-user-doc -->
632 * <!-- end-user-doc -->
633 * @generated
634 * @ordered
635 */
636 int FINAL_STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0;
637
638
639 /**
640 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate <em>Pseudostate</em>}'.
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @return the meta object for class '<em>Pseudostate</em>'.
644 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate
645 * @generated
646 */
647 EClass getPseudostate();
648
649 /**
650 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex <em>Vertex</em>}'.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @return the meta object for class '<em>Vertex</em>'.
654 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex
655 * @generated
656 */
657 EClass getVertex();
658
659 /**
660 * Returns the meta object for the reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'.
661 * <!-- begin-user-doc -->
662 * <!-- end-user-doc -->
663 * @return the meta object for the reference list '<em>Incoming Transitions</em>'.
664 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getIncomingTransitions()
665 * @see #getVertex()
666 * @generated
667 */
668 EReference getVertex_IncomingTransitions();
669
670 /**
671 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'.
672 * <!-- begin-user-doc -->
673 * <!-- end-user-doc -->
674 * @return the meta object for the containment reference list '<em>Outgoing Transitions</em>'.
675 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex#getOutgoingTransitions()
676 * @see #getVertex()
677 * @generated
678 */
679 EReference getVertex_OutgoingTransitions();
680
681 /**
682 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region <em>Region</em>}'.
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @return the meta object for class '<em>Region</em>'.
686 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region
687 * @generated
688 */
689 EClass getRegion();
690
691 /**
692 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region#getVertices <em>Vertices</em>}'.
693 * <!-- begin-user-doc -->
694 * <!-- end-user-doc -->
695 * @return the meta object for the containment reference list '<em>Vertices</em>'.
696 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region#getVertices()
697 * @see #getRegion()
698 * @generated
699 */
700 EReference getRegion_Vertices();
701
702 /**
703 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition <em>Transition</em>}'.
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @return the meta object for class '<em>Transition</em>'.
707 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition
708 * @generated
709 */
710 EClass getTransition();
711
712 /**
713 * Returns the meta object for the reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget <em>Target</em>}'.
714 * <!-- begin-user-doc -->
715 * <!-- end-user-doc -->
716 * @return the meta object for the reference '<em>Target</em>'.
717 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getTarget()
718 * @see #getTransition()
719 * @generated
720 */
721 EReference getTransition_Target();
722
723 /**
724 * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource <em>Source</em>}'.
725 * <!-- begin-user-doc -->
726 * <!-- end-user-doc -->
727 * @return the meta object for the container reference '<em>Source</em>'.
728 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition#getSource()
729 * @see #getTransition()
730 * @generated
731 */
732 EReference getTransition_Source();
733
734 /**
735 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart <em>Statechart</em>}'.
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @return the meta object for class '<em>Statechart</em>'.
739 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart
740 * @generated
741 */
742 EClass getStatechart();
743
744 /**
745 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Entry <em>Entry</em>}'.
746 * <!-- begin-user-doc -->
747 * <!-- end-user-doc -->
748 * @return the meta object for class '<em>Entry</em>'.
749 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Entry
750 * @generated
751 */
752 EClass getEntry();
753
754 /**
755 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Synchronization <em>Synchronization</em>}'.
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @return the meta object for class '<em>Synchronization</em>'.
759 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Synchronization
760 * @generated
761 */
762 EClass getSynchronization();
763
764 /**
765 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State <em>State</em>}'.
766 * <!-- begin-user-doc -->
767 * <!-- end-user-doc -->
768 * @return the meta object for class '<em>State</em>'.
769 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State
770 * @generated
771 */
772 EClass getState();
773
774 /**
775 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState <em>Regular State</em>}'.
776 * <!-- begin-user-doc -->
777 * <!-- end-user-doc -->
778 * @return the meta object for class '<em>Regular State</em>'.
779 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState
780 * @generated
781 */
782 EClass getRegularState();
783
784 /**
785 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement <em>Composite Element</em>}'.
786 * <!-- begin-user-doc -->
787 * <!-- end-user-doc -->
788 * @return the meta object for class '<em>Composite Element</em>'.
789 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement
790 * @generated
791 */
792 EClass getCompositeElement();
793
794 /**
795 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement#getRegions <em>Regions</em>}'.
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @return the meta object for the containment reference list '<em>Regions</em>'.
799 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement#getRegions()
800 * @see #getCompositeElement()
801 * @generated
802 */
803 EReference getCompositeElement_Regions();
804
805 /**
806 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice <em>Choice</em>}'.
807 * <!-- begin-user-doc -->
808 * <!-- end-user-doc -->
809 * @return the meta object for class '<em>Choice</em>'.
810 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice
811 * @generated
812 */
813 EClass getChoice();
814
815 /**
816 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit <em>Exit</em>}'.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @return the meta object for class '<em>Exit</em>'.
820 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit
821 * @generated
822 */
823 EClass getExit();
824
825 /**
826 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState <em>Final State</em>}'.
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @return the meta object for class '<em>Final State</em>'.
830 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState
831 * @generated
832 */
833 EClass getFinalState();
834
835 /**
836 * Returns the factory that creates the instances of the model.
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @return the factory that creates the instances of the model.
840 * @generated
841 */
842 YakinduFactory getYakinduFactory();
843
844 /**
845 * <!-- begin-user-doc -->
846 * Defines literals for the meta objects that represent
847 * <ul>
848 * <li>each class,</li>
849 * <li>each feature of each class,</li>
850 * <li>each operation of each class,</li>
851 * <li>each enum,</li>
852 * <li>and each data type</li>
853 * </ul>
854 * <!-- end-user-doc -->
855 * @generated
856 */
857 interface Literals {
858 /**
859 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.PseudostateImpl <em>Pseudostate</em>}' class.
860 * <!-- begin-user-doc -->
861 * <!-- end-user-doc -->
862 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.PseudostateImpl
863 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getPseudostate()
864 * @generated
865 */
866 EClass PSEUDOSTATE = eINSTANCE.getPseudostate();
867
868 /**
869 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl <em>Vertex</em>}' class.
870 * <!-- begin-user-doc -->
871 * <!-- end-user-doc -->
872 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl
873 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getVertex()
874 * @generated
875 */
876 EClass VERTEX = eINSTANCE.getVertex();
877
878 /**
879 * The meta object literal for the '<em><b>Incoming Transitions</b></em>' reference list feature.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @generated
883 */
884 EReference VERTEX__INCOMING_TRANSITIONS = eINSTANCE.getVertex_IncomingTransitions();
885
886 /**
887 * The meta object literal for the '<em><b>Outgoing Transitions</b></em>' containment reference list feature.
888 * <!-- begin-user-doc -->
889 * <!-- end-user-doc -->
890 * @generated
891 */
892 EReference VERTEX__OUTGOING_TRANSITIONS = eINSTANCE.getVertex_OutgoingTransitions();
893
894 /**
895 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegionImpl <em>Region</em>}' class.
896 * <!-- begin-user-doc -->
897 * <!-- end-user-doc -->
898 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegionImpl
899 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getRegion()
900 * @generated
901 */
902 EClass REGION = eINSTANCE.getRegion();
903
904 /**
905 * The meta object literal for the '<em><b>Vertices</b></em>' containment reference list feature.
906 * <!-- begin-user-doc -->
907 * <!-- end-user-doc -->
908 * @generated
909 */
910 EReference REGION__VERTICES = eINSTANCE.getRegion_Vertices();
911
912 /**
913 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl <em>Transition</em>}' class.
914 * <!-- begin-user-doc -->
915 * <!-- end-user-doc -->
916 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl
917 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getTransition()
918 * @generated
919 */
920 EClass TRANSITION = eINSTANCE.getTransition();
921
922 /**
923 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
924 * <!-- begin-user-doc -->
925 * <!-- end-user-doc -->
926 * @generated
927 */
928 EReference TRANSITION__TARGET = eINSTANCE.getTransition_Target();
929
930 /**
931 * The meta object literal for the '<em><b>Source</b></em>' container reference feature.
932 * <!-- begin-user-doc -->
933 * <!-- end-user-doc -->
934 * @generated
935 */
936 EReference TRANSITION__SOURCE = eINSTANCE.getTransition_Source();
937
938 /**
939 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StatechartImpl <em>Statechart</em>}' class.
940 * <!-- begin-user-doc -->
941 * <!-- end-user-doc -->
942 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StatechartImpl
943 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getStatechart()
944 * @generated
945 */
946 EClass STATECHART = eINSTANCE.getStatechart();
947
948 /**
949 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.EntryImpl <em>Entry</em>}' class.
950 * <!-- begin-user-doc -->
951 * <!-- end-user-doc -->
952 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.EntryImpl
953 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getEntry()
954 * @generated
955 */
956 EClass ENTRY = eINSTANCE.getEntry();
957
958 /**
959 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.SynchronizationImpl <em>Synchronization</em>}' class.
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.SynchronizationImpl
963 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getSynchronization()
964 * @generated
965 */
966 EClass SYNCHRONIZATION = eINSTANCE.getSynchronization();
967
968 /**
969 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StateImpl <em>State</em>}' class.
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StateImpl
973 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getState()
974 * @generated
975 */
976 EClass STATE = eINSTANCE.getState();
977
978 /**
979 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegularStateImpl <em>Regular State</em>}' class.
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegularStateImpl
983 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getRegularState()
984 * @generated
985 */
986 EClass REGULAR_STATE = eINSTANCE.getRegularState();
987
988 /**
989 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.CompositeElementImpl <em>Composite Element</em>}' class.
990 * <!-- begin-user-doc -->
991 * <!-- end-user-doc -->
992 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.CompositeElementImpl
993 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getCompositeElement()
994 * @generated
995 */
996 EClass COMPOSITE_ELEMENT = eINSTANCE.getCompositeElement();
997
998 /**
999 * The meta object literal for the '<em><b>Regions</b></em>' containment reference list feature.
1000 * <!-- begin-user-doc -->
1001 * <!-- end-user-doc -->
1002 * @generated
1003 */
1004 EReference COMPOSITE_ELEMENT__REGIONS = eINSTANCE.getCompositeElement_Regions();
1005
1006 /**
1007 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ChoiceImpl <em>Choice</em>}' class.
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ChoiceImpl
1011 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getChoice()
1012 * @generated
1013 */
1014 EClass CHOICE = eINSTANCE.getChoice();
1015
1016 /**
1017 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ExitImpl <em>Exit</em>}' class.
1018 * <!-- begin-user-doc -->
1019 * <!-- end-user-doc -->
1020 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.ExitImpl
1021 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getExit()
1022 * @generated
1023 */
1024 EClass EXIT = eINSTANCE.getExit();
1025
1026 /**
1027 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.FinalStateImpl <em>Final State</em>}' class.
1028 * <!-- begin-user-doc -->
1029 * <!-- end-user-doc -->
1030 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.FinalStateImpl
1031 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.YakinduPackageImpl#getFinalState()
1032 * @generated
1033 */
1034 EClass FINAL_STATE = eINSTANCE.getFinalState();
1035
1036 }
1037
1038} //YakinduPackage
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ChoiceImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ChoiceImpl.java
new file mode 100644
index 00000000..b757b42f
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ChoiceImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Choice</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ChoiceImpl extends PseudostateImpl implements Choice {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ChoiceImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.CHOICE;
35 }
36
37} //ChoiceImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/CompositeElementImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/CompositeElementImpl.java
new file mode 100644
index 00000000..8441ed27
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/CompositeElementImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
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>Composite Element</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.CompositeElementImpl#getRegions <em>Regions</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public abstract class CompositeElementImpl extends MinimalEObjectImpl.Container implements CompositeElement {
37 /**
38 * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getRegions()
42 * @generated
43 * @ordered
44 */
45 protected EList<Region> regions;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected CompositeElementImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return YakinduPackage.Literals.COMPOSITE_ELEMENT;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<Region> getRegions() {
72 if (regions == null) {
73 regions = new EObjectContainmentEList<Region>(Region.class, this, YakinduPackage.COMPOSITE_ELEMENT__REGIONS);
74 }
75 return regions;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS:
87 return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS:
101 return getRegions();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS:
116 getRegions().clear();
117 getRegions().addAll((Collection<? extends Region>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS:
132 getRegions().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS:
147 return regions != null && !regions.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //CompositeElementImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ExitImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ExitImpl.java
new file mode 100644
index 00000000..4859ef03
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/ExitImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Exit</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ExitImpl extends PseudostateImpl implements Exit {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ExitImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.EXIT;
35 }
36
37} //ExitImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/FinalStateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/FinalStateImpl.java
new file mode 100644
index 00000000..c4d4e157
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/FinalStateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Final State</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class FinalStateImpl extends RegularStateImpl implements FinalState {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected FinalStateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.FINAL_STATE;
35 }
36
37} //FinalStateImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/PseudostateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/PseudostateImpl.java
new file mode 100644
index 00000000..56c44b78
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/PseudostateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Pseudostate</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class PseudostateImpl extends VertexImpl implements Pseudostate {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PseudostateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.PSEUDOSTATE;
35 }
36
37} //PseudostateImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegionImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegionImpl.java
new file mode 100644
index 00000000..fa529ad6
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegionImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
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>Region</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.RegionImpl#getVertices <em>Vertices</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class RegionImpl extends MinimalEObjectImpl.Container implements Region {
37 /**
38 * The cached value of the '{@link #getVertices() <em>Vertices</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getVertices()
42 * @generated
43 * @ordered
44 */
45 protected EList<Vertex> vertices;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected RegionImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return YakinduPackage.Literals.REGION;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<Vertex> getVertices() {
72 if (vertices == null) {
73 vertices = new EObjectContainmentEList<Vertex>(Vertex.class, this, YakinduPackage.REGION__VERTICES);
74 }
75 return vertices;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case YakinduPackage.REGION__VERTICES:
87 return ((InternalEList<?>)getVertices()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case YakinduPackage.REGION__VERTICES:
101 return getVertices();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case YakinduPackage.REGION__VERTICES:
116 getVertices().clear();
117 getVertices().addAll((Collection<? extends Vertex>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case YakinduPackage.REGION__VERTICES:
132 getVertices().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case YakinduPackage.REGION__VERTICES:
147 return vertices != null && !vertices.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //RegionImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegularStateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegularStateImpl.java
new file mode 100644
index 00000000..5361d4d5
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/RegularStateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Regular State</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class RegularStateImpl extends VertexImpl implements RegularState {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RegularStateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.REGULAR_STATE;
35 }
36
37} //RegularStateImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StateImpl.java
new file mode 100644
index 00000000..85938d63
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StateImpl.java
@@ -0,0 +1,183 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State;
8import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
9
10import java.util.Collection;
11
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.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>State</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.StateImpl#getRegions <em>Regions</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class StateImpl extends RegularStateImpl implements State {
36 /**
37 * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getRegions()
41 * @generated
42 * @ordered
43 */
44 protected EList<Region> regions;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected StateImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return YakinduPackage.Literals.STATE;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public EList<Region> getRegions() {
71 if (regions == null) {
72 regions = new EObjectContainmentEList<Region>(Region.class, this, YakinduPackage.STATE__REGIONS);
73 }
74 return regions;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case YakinduPackage.STATE__REGIONS:
86 return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case YakinduPackage.STATE__REGIONS:
100 return getRegions();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case YakinduPackage.STATE__REGIONS:
115 getRegions().clear();
116 getRegions().addAll((Collection<? extends Region>)newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case YakinduPackage.STATE__REGIONS:
131 getRegions().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case YakinduPackage.STATE__REGIONS:
146 return regions != null && !regions.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
158 if (baseClass == CompositeElement.class) {
159 switch (derivedFeatureID) {
160 case YakinduPackage.STATE__REGIONS: return YakinduPackage.COMPOSITE_ELEMENT__REGIONS;
161 default: return -1;
162 }
163 }
164 return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
174 if (baseClass == CompositeElement.class) {
175 switch (baseFeatureID) {
176 case YakinduPackage.COMPOSITE_ELEMENT__REGIONS: return YakinduPackage.STATE__REGIONS;
177 default: return -1;
178 }
179 }
180 return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
181 }
182
183} //StateImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StatechartImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StatechartImpl.java
new file mode 100644
index 00000000..a74110da
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/StatechartImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Statechart</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class StatechartImpl extends CompositeElementImpl implements Statechart {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected StatechartImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakinduPackage.Literals.STATECHART;
35 }
36
37} //StatechartImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/TransitionImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/TransitionImpl.java
new file mode 100644
index 00000000..dfbca048
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/TransitionImpl.java
@@ -0,0 +1,284 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
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>Transition</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl#getTarget <em>Target</em>}</li>
29 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.TransitionImpl#getSource <em>Source</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition {
35 /**
36 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getTarget()
40 * @generated
41 * @ordered
42 */
43 protected Vertex target;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected TransitionImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return YakinduPackage.Literals.TRANSITION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public Vertex getTarget() {
70 if (target != null && target.eIsProxy()) {
71 InternalEObject oldTarget = (InternalEObject)target;
72 target = (Vertex)eResolveProxy(oldTarget);
73 if (target != oldTarget) {
74 if (eNotificationRequired())
75 eNotify(new ENotificationImpl(this, Notification.RESOLVE, YakinduPackage.TRANSITION__TARGET, oldTarget, target));
76 }
77 }
78 return target;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public Vertex basicGetTarget() {
87 return target;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public NotificationChain basicSetTarget(Vertex newTarget, NotificationChain msgs) {
96 Vertex oldTarget = target;
97 target = newTarget;
98 if (eNotificationRequired()) {
99 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YakinduPackage.TRANSITION__TARGET, oldTarget, newTarget);
100 if (msgs == null) msgs = notification; else msgs.add(notification);
101 }
102 return msgs;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public void setTarget(Vertex newTarget) {
111 if (newTarget != target) {
112 NotificationChain msgs = null;
113 if (target != null)
114 msgs = ((InternalEObject)target).eInverseRemove(this, YakinduPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
115 if (newTarget != null)
116 msgs = ((InternalEObject)newTarget).eInverseAdd(this, YakinduPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
117 msgs = basicSetTarget(newTarget, msgs);
118 if (msgs != null) msgs.dispatch();
119 }
120 else if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.SET, YakinduPackage.TRANSITION__TARGET, newTarget, newTarget));
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public Vertex getSource() {
130 if (eContainerFeatureID() != YakinduPackage.TRANSITION__SOURCE) return null;
131 return (Vertex)eInternalContainer();
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public NotificationChain basicSetSource(Vertex newSource, NotificationChain msgs) {
140 msgs = eBasicSetContainer((InternalEObject)newSource, YakinduPackage.TRANSITION__SOURCE, msgs);
141 return msgs;
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 public void setSource(Vertex newSource) {
150 if (newSource != eInternalContainer() || (eContainerFeatureID() != YakinduPackage.TRANSITION__SOURCE && newSource != null)) {
151 if (EcoreUtil.isAncestor(this, newSource))
152 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
153 NotificationChain msgs = null;
154 if (eInternalContainer() != null)
155 msgs = eBasicRemoveFromContainer(msgs);
156 if (newSource != null)
157 msgs = ((InternalEObject)newSource).eInverseAdd(this, YakinduPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs);
158 msgs = basicSetSource(newSource, msgs);
159 if (msgs != null) msgs.dispatch();
160 }
161 else if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.SET, YakinduPackage.TRANSITION__SOURCE, newSource, newSource));
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
172 switch (featureID) {
173 case YakinduPackage.TRANSITION__TARGET:
174 if (target != null)
175 msgs = ((InternalEObject)target).eInverseRemove(this, YakinduPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
176 return basicSetTarget((Vertex)otherEnd, msgs);
177 case YakinduPackage.TRANSITION__SOURCE:
178 if (eInternalContainer() != null)
179 msgs = eBasicRemoveFromContainer(msgs);
180 return basicSetSource((Vertex)otherEnd, msgs);
181 }
182 return super.eInverseAdd(otherEnd, featureID, msgs);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
192 switch (featureID) {
193 case YakinduPackage.TRANSITION__TARGET:
194 return basicSetTarget(null, msgs);
195 case YakinduPackage.TRANSITION__SOURCE:
196 return basicSetSource(null, msgs);
197 }
198 return super.eInverseRemove(otherEnd, featureID, msgs);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
208 switch (eContainerFeatureID()) {
209 case YakinduPackage.TRANSITION__SOURCE:
210 return eInternalContainer().eInverseRemove(this, YakinduPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs);
211 }
212 return super.eBasicRemoveFromContainerFeature(msgs);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public Object eGet(int featureID, boolean resolve, boolean coreType) {
222 switch (featureID) {
223 case YakinduPackage.TRANSITION__TARGET:
224 if (resolve) return getTarget();
225 return basicGetTarget();
226 case YakinduPackage.TRANSITION__SOURCE:
227 return getSource();
228 }
229 return super.eGet(featureID, resolve, coreType);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eSet(int featureID, Object newValue) {
239 switch (featureID) {
240 case YakinduPackage.TRANSITION__TARGET:
241 setTarget((Vertex)newValue);
242 return;
243 case YakinduPackage.TRANSITION__SOURCE:
244 setSource((Vertex)newValue);
245 return;
246 }
247 super.eSet(featureID, newValue);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public void eUnset(int featureID) {
257 switch (featureID) {
258 case YakinduPackage.TRANSITION__TARGET:
259 setTarget((Vertex)null);
260 return;
261 case YakinduPackage.TRANSITION__SOURCE:
262 setSource((Vertex)null);
263 return;
264 }
265 super.eUnset(featureID);
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public boolean eIsSet(int featureID) {
275 switch (featureID) {
276 case YakinduPackage.TRANSITION__TARGET:
277 return target != null;
278 case YakinduPackage.TRANSITION__SOURCE:
279 return getSource() != null;
280 }
281 return super.eIsSet(featureID);
282 }
283
284} //TransitionImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/VertexImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/VertexImpl.java
new file mode 100644
index 00000000..6384fb51
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/VertexImpl.java
@@ -0,0 +1,206 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
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.EObjectContainmentWithInverseEList;
21import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
22import org.eclipse.emf.ecore.util.InternalEList;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Vertex</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl#getIncomingTransitions <em>Incoming Transitions</em>}</li>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl.VertexImpl#getOutgoingTransitions <em>Outgoing Transitions</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class VertexImpl extends MinimalEObjectImpl.Container implements Vertex {
39 /**
40 * The cached value of the '{@link #getIncomingTransitions() <em>Incoming Transitions</em>}' reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getIncomingTransitions()
44 * @generated
45 * @ordered
46 */
47 protected EList<Transition> incomingTransitions;
48
49 /**
50 * The cached value of the '{@link #getOutgoingTransitions() <em>Outgoing Transitions</em>}' containment reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getOutgoingTransitions()
54 * @generated
55 * @ordered
56 */
57 protected EList<Transition> outgoingTransitions;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected VertexImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return YakinduPackage.Literals.VERTEX;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public EList<Transition> getIncomingTransitions() {
84 if (incomingTransitions == null) {
85 incomingTransitions = new EObjectWithInverseResolvingEList<Transition>(Transition.class, this, YakinduPackage.VERTEX__INCOMING_TRANSITIONS, YakinduPackage.TRANSITION__TARGET);
86 }
87 return incomingTransitions;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public EList<Transition> getOutgoingTransitions() {
96 if (outgoingTransitions == null) {
97 outgoingTransitions = new EObjectContainmentWithInverseEList<Transition>(Transition.class, this, YakinduPackage.VERTEX__OUTGOING_TRANSITIONS, YakinduPackage.TRANSITION__SOURCE);
98 }
99 return outgoingTransitions;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @SuppressWarnings("unchecked")
108 @Override
109 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
112 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingTransitions()).basicAdd(otherEnd, msgs);
113 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
114 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingTransitions()).basicAdd(otherEnd, msgs);
115 }
116 return super.eInverseAdd(otherEnd, featureID, msgs);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
126 switch (featureID) {
127 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
128 return ((InternalEList<?>)getIncomingTransitions()).basicRemove(otherEnd, msgs);
129 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
130 return ((InternalEList<?>)getOutgoingTransitions()).basicRemove(otherEnd, msgs);
131 }
132 return super.eInverseRemove(otherEnd, featureID, msgs);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
144 return getIncomingTransitions();
145 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
146 return getOutgoingTransitions();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @SuppressWarnings("unchecked")
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
161 getIncomingTransitions().clear();
162 getIncomingTransitions().addAll((Collection<? extends Transition>)newValue);
163 return;
164 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
165 getOutgoingTransitions().clear();
166 getOutgoingTransitions().addAll((Collection<? extends Transition>)newValue);
167 return;
168 }
169 super.eSet(featureID, newValue);
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public void eUnset(int featureID) {
179 switch (featureID) {
180 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
181 getIncomingTransitions().clear();
182 return;
183 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
184 getOutgoingTransitions().clear();
185 return;
186 }
187 super.eUnset(featureID);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public boolean eIsSet(int featureID) {
197 switch (featureID) {
198 case YakinduPackage.VERTEX__INCOMING_TRANSITIONS:
199 return incomingTransitions != null && !incomingTransitions.isEmpty();
200 case YakinduPackage.VERTEX__OUTGOING_TRANSITIONS:
201 return outgoingTransitions != null && !outgoingTransitions.isEmpty();
202 }
203 return super.eIsSet(featureID);
204 }
205
206} //VertexImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduFactoryImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduFactoryImpl.java
new file mode 100644
index 00000000..bd5ee1bd
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduFactoryImpl.java
@@ -0,0 +1,183 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class YakinduFactoryImpl extends EFactoryImpl implements YakinduFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static YakinduFactory init() {
29 try {
30 YakinduFactory theYakinduFactory = (YakinduFactory)EPackage.Registry.INSTANCE.getEFactory(YakinduPackage.eNS_URI);
31 if (theYakinduFactory != null) {
32 return theYakinduFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new YakinduFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public YakinduFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case YakinduPackage.REGION: return createRegion();
60 case YakinduPackage.TRANSITION: return createTransition();
61 case YakinduPackage.STATECHART: return createStatechart();
62 case YakinduPackage.ENTRY: return createEntry();
63 case YakinduPackage.SYNCHRONIZATION: return createSynchronization();
64 case YakinduPackage.STATE: return createState();
65 case YakinduPackage.CHOICE: return createChoice();
66 case YakinduPackage.EXIT: return createExit();
67 case YakinduPackage.FINAL_STATE: return createFinalState();
68 default:
69 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
70 }
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public Region createRegion() {
79 RegionImpl region = new RegionImpl();
80 return region;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public Transition createTransition() {
89 TransitionImpl transition = new TransitionImpl();
90 return transition;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public Statechart createStatechart() {
99 StatechartImpl statechart = new StatechartImpl();
100 return statechart;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public Entry createEntry() {
109 EntryImpl entry = new EntryImpl();
110 return entry;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Synchronization createSynchronization() {
119 SynchronizationImpl synchronization = new SynchronizationImpl();
120 return synchronization;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public State createState() {
129 StateImpl state = new StateImpl();
130 return state;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public Choice createChoice() {
139 ChoiceImpl choice = new ChoiceImpl();
140 return choice;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public Exit createExit() {
149 ExitImpl exit = new ExitImpl();
150 return exit;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public FinalState createFinalState() {
159 FinalStateImpl finalState = new FinalStateImpl();
160 return finalState;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public YakinduPackage getYakinduPackage() {
169 return (YakinduPackage)getEPackage();
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @deprecated
176 * @generated
177 */
178 @Deprecated
179 public static YakinduPackage getPackage() {
180 return YakinduPackage.eINSTANCE;
181 }
182
183} //YakinduFactoryImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduPackageImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduPackageImpl.java
new file mode 100644
index 00000000..0796c5d8
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/impl/YakinduPackageImpl.java
@@ -0,0 +1,494 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.impl;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice;
6import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement;
7import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Entry;
8import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit;
9import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState;
10import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate;
11import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region;
12import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState;
13import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State;
14import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart;
15import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Synchronization;
16import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition;
17import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex;
18import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduFactory;
19import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage;
20
21import org.eclipse.emf.ecore.EClass;
22import org.eclipse.emf.ecore.EPackage;
23import org.eclipse.emf.ecore.EReference;
24
25import org.eclipse.emf.ecore.impl.EPackageImpl;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model <b>Package</b>.
30 * <!-- end-user-doc -->
31 * @generated
32 */
33public class YakinduPackageImpl extends EPackageImpl implements YakinduPackage {
34 /**
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 private EClass pseudostateEClass = null;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 private EClass vertexEClass = null;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 private EClass regionEClass = null;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 private EClass transitionEClass = null;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 private EClass statechartEClass = null;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 private EClass entryEClass = null;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 private EClass synchronizationEClass = null;
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 private EClass stateEClass = null;
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 private EClass regularStateEClass = null;
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private EClass compositeElementEClass = null;
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 private EClass choiceEClass = null;
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 private EClass exitEClass = null;
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 private EClass finalStateEClass = null;
124
125 /**
126 * Creates an instance of the model <b>Package</b>, registered with
127 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
128 * package URI value.
129 * <p>Note: the correct way to create the package is via the static
130 * factory method {@link #init init()}, which also performs
131 * initialization of the package, or returns the registered package,
132 * if one already exists.
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @see org.eclipse.emf.ecore.EPackage.Registry
136 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage#eNS_URI
137 * @see #init()
138 * @generated
139 */
140 private YakinduPackageImpl() {
141 super(eNS_URI, YakinduFactory.eINSTANCE);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 private static boolean isInited = false;
150
151 /**
152 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
153 *
154 * <p>This method is used to initialize {@link YakinduPackage#eINSTANCE} when that field is accessed.
155 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #eNS_URI
159 * @see #createPackageContents()
160 * @see #initializePackageContents()
161 * @generated
162 */
163 public static YakinduPackage init() {
164 if (isInited) return (YakinduPackage)EPackage.Registry.INSTANCE.getEPackage(YakinduPackage.eNS_URI);
165
166 // Obtain or create and register package
167 Object registeredYakinduPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
168 YakinduPackageImpl theYakinduPackage = registeredYakinduPackage instanceof YakinduPackageImpl ? (YakinduPackageImpl)registeredYakinduPackage : new YakinduPackageImpl();
169
170 isInited = true;
171
172 // Create package meta-data objects
173 theYakinduPackage.createPackageContents();
174
175 // Initialize created meta-data
176 theYakinduPackage.initializePackageContents();
177
178 // Mark meta-data to indicate it can't be changed
179 theYakinduPackage.freeze();
180
181 // Update the registry and return the package
182 EPackage.Registry.INSTANCE.put(YakinduPackage.eNS_URI, theYakinduPackage);
183 return theYakinduPackage;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 public EClass getPseudostate() {
192 return pseudostateEClass;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 public EClass getVertex() {
201 return vertexEClass;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 public EReference getVertex_IncomingTransitions() {
210 return (EReference)vertexEClass.getEStructuralFeatures().get(0);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 public EReference getVertex_OutgoingTransitions() {
219 return (EReference)vertexEClass.getEStructuralFeatures().get(1);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 public EClass getRegion() {
228 return regionEClass;
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 public EReference getRegion_Vertices() {
237 return (EReference)regionEClass.getEStructuralFeatures().get(0);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 public EClass getTransition() {
246 return transitionEClass;
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 public EReference getTransition_Target() {
255 return (EReference)transitionEClass.getEStructuralFeatures().get(0);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 public EReference getTransition_Source() {
264 return (EReference)transitionEClass.getEStructuralFeatures().get(1);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 public EClass getStatechart() {
273 return statechartEClass;
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 public EClass getEntry() {
282 return entryEClass;
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 public EClass getSynchronization() {
291 return synchronizationEClass;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 public EClass getState() {
300 return stateEClass;
301 }
302
303 /**
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 */
308 public EClass getRegularState() {
309 return regularStateEClass;
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 public EClass getCompositeElement() {
318 return compositeElementEClass;
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 public EReference getCompositeElement_Regions() {
327 return (EReference)compositeElementEClass.getEStructuralFeatures().get(0);
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 public EClass getChoice() {
336 return choiceEClass;
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 public EClass getExit() {
345 return exitEClass;
346 }
347
348 /**
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 */
353 public EClass getFinalState() {
354 return finalStateEClass;
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 public YakinduFactory getYakinduFactory() {
363 return (YakinduFactory)getEFactoryInstance();
364 }
365
366 /**
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 */
371 private boolean isCreated = false;
372
373 /**
374 * Creates the meta-model objects for the package. This method is
375 * guarded to have no affect on any invocation but its first.
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public void createPackageContents() {
381 if (isCreated) return;
382 isCreated = true;
383
384 // Create classes and their features
385 pseudostateEClass = createEClass(PSEUDOSTATE);
386
387 vertexEClass = createEClass(VERTEX);
388 createEReference(vertexEClass, VERTEX__INCOMING_TRANSITIONS);
389 createEReference(vertexEClass, VERTEX__OUTGOING_TRANSITIONS);
390
391 regionEClass = createEClass(REGION);
392 createEReference(regionEClass, REGION__VERTICES);
393
394 transitionEClass = createEClass(TRANSITION);
395 createEReference(transitionEClass, TRANSITION__TARGET);
396 createEReference(transitionEClass, TRANSITION__SOURCE);
397
398 statechartEClass = createEClass(STATECHART);
399
400 entryEClass = createEClass(ENTRY);
401
402 synchronizationEClass = createEClass(SYNCHRONIZATION);
403
404 stateEClass = createEClass(STATE);
405
406 regularStateEClass = createEClass(REGULAR_STATE);
407
408 compositeElementEClass = createEClass(COMPOSITE_ELEMENT);
409 createEReference(compositeElementEClass, COMPOSITE_ELEMENT__REGIONS);
410
411 choiceEClass = createEClass(CHOICE);
412
413 exitEClass = createEClass(EXIT);
414
415 finalStateEClass = createEClass(FINAL_STATE);
416 }
417
418 /**
419 * <!-- begin-user-doc -->
420 * <!-- end-user-doc -->
421 * @generated
422 */
423 private boolean isInitialized = false;
424
425 /**
426 * Complete the initialization of the package and its meta-model. This
427 * method is guarded to have no affect on any invocation but its first.
428 * <!-- begin-user-doc -->
429 * <!-- end-user-doc -->
430 * @generated
431 */
432 public void initializePackageContents() {
433 if (isInitialized) return;
434 isInitialized = true;
435
436 // Initialize package
437 setName(eNAME);
438 setNsPrefix(eNS_PREFIX);
439 setNsURI(eNS_URI);
440
441 // Create type parameters
442
443 // Set bounds for type parameters
444
445 // Add supertypes to classes
446 pseudostateEClass.getESuperTypes().add(this.getVertex());
447 statechartEClass.getESuperTypes().add(this.getCompositeElement());
448 entryEClass.getESuperTypes().add(this.getPseudostate());
449 synchronizationEClass.getESuperTypes().add(this.getPseudostate());
450 stateEClass.getESuperTypes().add(this.getRegularState());
451 stateEClass.getESuperTypes().add(this.getCompositeElement());
452 regularStateEClass.getESuperTypes().add(this.getVertex());
453 choiceEClass.getESuperTypes().add(this.getPseudostate());
454 exitEClass.getESuperTypes().add(this.getPseudostate());
455 finalStateEClass.getESuperTypes().add(this.getRegularState());
456
457 // Initialize classes, features, and operations; add parameters
458 initEClass(pseudostateEClass, Pseudostate.class, "Pseudostate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
459
460 initEClass(vertexEClass, Vertex.class, "Vertex", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
461 initEReference(getVertex_IncomingTransitions(), this.getTransition(), this.getTransition_Target(), "incomingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
462 initEReference(getVertex_OutgoingTransitions(), this.getTransition(), this.getTransition_Source(), "outgoingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
463
464 initEClass(regionEClass, Region.class, "Region", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
465 initEReference(getRegion_Vertices(), this.getVertex(), null, "vertices", null, 0, -1, Region.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
466
467 initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
468 initEReference(getTransition_Target(), this.getVertex(), this.getVertex_IncomingTransitions(), "target", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
469 initEReference(getTransition_Source(), this.getVertex(), this.getVertex_OutgoingTransitions(), "source", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
470
471 initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
472
473 initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
474
475 initEClass(synchronizationEClass, Synchronization.class, "Synchronization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
476
477 initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
478
479 initEClass(regularStateEClass, RegularState.class, "RegularState", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
480
481 initEClass(compositeElementEClass, CompositeElement.class, "CompositeElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
482 initEReference(getCompositeElement_Regions(), this.getRegion(), null, "regions", null, 0, -1, CompositeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
483
484 initEClass(choiceEClass, Choice.class, "Choice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
485
486 initEClass(exitEClass, Exit.class, "Exit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
487
488 initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
489
490 // Create resource
491 createResource(eNS_URI);
492 }
493
494} //YakinduPackageImpl
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduAdapterFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduAdapterFactory.java
new file mode 100644
index 00000000..566f01e5
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduAdapterFactory.java
@@ -0,0 +1,336 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.util;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage
20 * @generated
21 */
22public class YakinduAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static YakinduPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public YakinduAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = YakinduPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected YakinduSwitch<Adapter> modelSwitch =
69 new YakinduSwitch<Adapter>() {
70 @Override
71 public Adapter casePseudostate(Pseudostate object) {
72 return createPseudostateAdapter();
73 }
74 @Override
75 public Adapter caseVertex(Vertex object) {
76 return createVertexAdapter();
77 }
78 @Override
79 public Adapter caseRegion(Region object) {
80 return createRegionAdapter();
81 }
82 @Override
83 public Adapter caseTransition(Transition object) {
84 return createTransitionAdapter();
85 }
86 @Override
87 public Adapter caseStatechart(Statechart object) {
88 return createStatechartAdapter();
89 }
90 @Override
91 public Adapter caseEntry(Entry object) {
92 return createEntryAdapter();
93 }
94 @Override
95 public Adapter caseSynchronization(Synchronization object) {
96 return createSynchronizationAdapter();
97 }
98 @Override
99 public Adapter caseState(State object) {
100 return createStateAdapter();
101 }
102 @Override
103 public Adapter caseRegularState(RegularState object) {
104 return createRegularStateAdapter();
105 }
106 @Override
107 public Adapter caseCompositeElement(CompositeElement object) {
108 return createCompositeElementAdapter();
109 }
110 @Override
111 public Adapter caseChoice(Choice object) {
112 return createChoiceAdapter();
113 }
114 @Override
115 public Adapter caseExit(Exit object) {
116 return createExitAdapter();
117 }
118 @Override
119 public Adapter caseFinalState(FinalState object) {
120 return createFinalStateAdapter();
121 }
122 @Override
123 public Adapter defaultCase(EObject object) {
124 return createEObjectAdapter();
125 }
126 };
127
128 /**
129 * Creates an adapter for the <code>target</code>.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param target the object to adapt.
133 * @return the adapter for the <code>target</code>.
134 * @generated
135 */
136 @Override
137 public Adapter createAdapter(Notifier target) {
138 return modelSwitch.doSwitch((EObject)target);
139 }
140
141
142 /**
143 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate <em>Pseudostate</em>}'.
144 * <!-- begin-user-doc -->
145 * This default implementation returns null so that we can easily ignore cases;
146 * it's useful to ignore a case when inheritance will catch all the cases anyway.
147 * <!-- end-user-doc -->
148 * @return the new adapter.
149 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Pseudostate
150 * @generated
151 */
152 public Adapter createPseudostateAdapter() {
153 return null;
154 }
155
156 /**
157 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex <em>Vertex</em>}'.
158 * <!-- begin-user-doc -->
159 * This default implementation returns null so that we can easily ignore cases;
160 * it's useful to ignore a case when inheritance will catch all the cases anyway.
161 * <!-- end-user-doc -->
162 * @return the new adapter.
163 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Vertex
164 * @generated
165 */
166 public Adapter createVertexAdapter() {
167 return null;
168 }
169
170 /**
171 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region <em>Region</em>}'.
172 * <!-- begin-user-doc -->
173 * This default implementation returns null so that we can easily ignore cases;
174 * it's useful to ignore a case when inheritance will catch all the cases anyway.
175 * <!-- end-user-doc -->
176 * @return the new adapter.
177 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Region
178 * @generated
179 */
180 public Adapter createRegionAdapter() {
181 return null;
182 }
183
184 /**
185 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition <em>Transition</em>}'.
186 * <!-- begin-user-doc -->
187 * This default implementation returns null so that we can easily ignore cases;
188 * it's useful to ignore a case when inheritance will catch all the cases anyway.
189 * <!-- end-user-doc -->
190 * @return the new adapter.
191 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Transition
192 * @generated
193 */
194 public Adapter createTransitionAdapter() {
195 return null;
196 }
197
198 /**
199 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart <em>Statechart</em>}'.
200 * <!-- begin-user-doc -->
201 * This default implementation returns null so that we can easily ignore cases;
202 * it's useful to ignore a case when inheritance will catch all the cases anyway.
203 * <!-- end-user-doc -->
204 * @return the new adapter.
205 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Statechart
206 * @generated
207 */
208 public Adapter createStatechartAdapter() {
209 return null;
210 }
211
212 /**
213 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Entry <em>Entry</em>}'.
214 * <!-- begin-user-doc -->
215 * This default implementation returns null so that we can easily ignore cases;
216 * it's useful to ignore a case when inheritance will catch all the cases anyway.
217 * <!-- end-user-doc -->
218 * @return the new adapter.
219 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Entry
220 * @generated
221 */
222 public Adapter createEntryAdapter() {
223 return null;
224 }
225
226 /**
227 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Synchronization <em>Synchronization</em>}'.
228 * <!-- begin-user-doc -->
229 * This default implementation returns null so that we can easily ignore cases;
230 * it's useful to ignore a case when inheritance will catch all the cases anyway.
231 * <!-- end-user-doc -->
232 * @return the new adapter.
233 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Synchronization
234 * @generated
235 */
236 public Adapter createSynchronizationAdapter() {
237 return null;
238 }
239
240 /**
241 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State <em>State</em>}'.
242 * <!-- begin-user-doc -->
243 * This default implementation returns null so that we can easily ignore cases;
244 * it's useful to ignore a case when inheritance will catch all the cases anyway.
245 * <!-- end-user-doc -->
246 * @return the new adapter.
247 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.State
248 * @generated
249 */
250 public Adapter createStateAdapter() {
251 return null;
252 }
253
254 /**
255 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState <em>Regular State</em>}'.
256 * <!-- begin-user-doc -->
257 * This default implementation returns null so that we can easily ignore cases;
258 * it's useful to ignore a case when inheritance will catch all the cases anyway.
259 * <!-- end-user-doc -->
260 * @return the new adapter.
261 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.RegularState
262 * @generated
263 */
264 public Adapter createRegularStateAdapter() {
265 return null;
266 }
267
268 /**
269 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement <em>Composite Element</em>}'.
270 * <!-- begin-user-doc -->
271 * This default implementation returns null so that we can easily ignore cases;
272 * it's useful to ignore a case when inheritance will catch all the cases anyway.
273 * <!-- end-user-doc -->
274 * @return the new adapter.
275 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.CompositeElement
276 * @generated
277 */
278 public Adapter createCompositeElementAdapter() {
279 return null;
280 }
281
282 /**
283 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice <em>Choice</em>}'.
284 * <!-- begin-user-doc -->
285 * This default implementation returns null so that we can easily ignore cases;
286 * it's useful to ignore a case when inheritance will catch all the cases anyway.
287 * <!-- end-user-doc -->
288 * @return the new adapter.
289 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Choice
290 * @generated
291 */
292 public Adapter createChoiceAdapter() {
293 return null;
294 }
295
296 /**
297 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit <em>Exit</em>}'.
298 * <!-- begin-user-doc -->
299 * This default implementation returns null so that we can easily ignore cases;
300 * it's useful to ignore a case when inheritance will catch all the cases anyway.
301 * <!-- end-user-doc -->
302 * @return the new adapter.
303 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.Exit
304 * @generated
305 */
306 public Adapter createExitAdapter() {
307 return null;
308 }
309
310 /**
311 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState <em>Final State</em>}'.
312 * <!-- begin-user-doc -->
313 * This default implementation returns null so that we can easily ignore cases;
314 * it's useful to ignore a case when inheritance will catch all the cases anyway.
315 * <!-- end-user-doc -->
316 * @return the new adapter.
317 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.FinalState
318 * @generated
319 */
320 public Adapter createFinalStateAdapter() {
321 return null;
322 }
323
324 /**
325 * Creates a new adapter for the default case.
326 * <!-- begin-user-doc -->
327 * This default implementation returns null.
328 * <!-- end-user-doc -->
329 * @return the new adapter.
330 * @generated
331 */
332 public Adapter createEObjectAdapter() {
333 return null;
334 }
335
336} //YakinduAdapterFactory
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduSwitch.java b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduSwitch.java
new file mode 100644
index 00000000..fdaff54d
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/src/ca/mcgill/ecse/dslreasoner/standalone/test/yakindu/util/YakinduSwitch.java
@@ -0,0 +1,378 @@
1/**
2 */
3package ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.util;
4
5import ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.YakinduPackage
23 * @generated
24 */
25public class YakinduSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static YakinduPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public YakinduSwitch() {
41 if (modelPackage == null) {
42 modelPackage = YakinduPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case YakinduPackage.PSEUDOSTATE: {
70 Pseudostate pseudostate = (Pseudostate)theEObject;
71 T result = casePseudostate(pseudostate);
72 if (result == null) result = caseVertex(pseudostate);
73 if (result == null) result = defaultCase(theEObject);
74 return result;
75 }
76 case YakinduPackage.VERTEX: {
77 Vertex vertex = (Vertex)theEObject;
78 T result = caseVertex(vertex);
79 if (result == null) result = defaultCase(theEObject);
80 return result;
81 }
82 case YakinduPackage.REGION: {
83 Region region = (Region)theEObject;
84 T result = caseRegion(region);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case YakinduPackage.TRANSITION: {
89 Transition transition = (Transition)theEObject;
90 T result = caseTransition(transition);
91 if (result == null) result = defaultCase(theEObject);
92 return result;
93 }
94 case YakinduPackage.STATECHART: {
95 Statechart statechart = (Statechart)theEObject;
96 T result = caseStatechart(statechart);
97 if (result == null) result = caseCompositeElement(statechart);
98 if (result == null) result = defaultCase(theEObject);
99 return result;
100 }
101 case YakinduPackage.ENTRY: {
102 Entry entry = (Entry)theEObject;
103 T result = caseEntry(entry);
104 if (result == null) result = casePseudostate(entry);
105 if (result == null) result = caseVertex(entry);
106 if (result == null) result = defaultCase(theEObject);
107 return result;
108 }
109 case YakinduPackage.SYNCHRONIZATION: {
110 Synchronization synchronization = (Synchronization)theEObject;
111 T result = caseSynchronization(synchronization);
112 if (result == null) result = casePseudostate(synchronization);
113 if (result == null) result = caseVertex(synchronization);
114 if (result == null) result = defaultCase(theEObject);
115 return result;
116 }
117 case YakinduPackage.STATE: {
118 State state = (State)theEObject;
119 T result = caseState(state);
120 if (result == null) result = caseRegularState(state);
121 if (result == null) result = caseCompositeElement(state);
122 if (result == null) result = caseVertex(state);
123 if (result == null) result = defaultCase(theEObject);
124 return result;
125 }
126 case YakinduPackage.REGULAR_STATE: {
127 RegularState regularState = (RegularState)theEObject;
128 T result = caseRegularState(regularState);
129 if (result == null) result = caseVertex(regularState);
130 if (result == null) result = defaultCase(theEObject);
131 return result;
132 }
133 case YakinduPackage.COMPOSITE_ELEMENT: {
134 CompositeElement compositeElement = (CompositeElement)theEObject;
135 T result = caseCompositeElement(compositeElement);
136 if (result == null) result = defaultCase(theEObject);
137 return result;
138 }
139 case YakinduPackage.CHOICE: {
140 Choice choice = (Choice)theEObject;
141 T result = caseChoice(choice);
142 if (result == null) result = casePseudostate(choice);
143 if (result == null) result = caseVertex(choice);
144 if (result == null) result = defaultCase(theEObject);
145 return result;
146 }
147 case YakinduPackage.EXIT: {
148 Exit exit = (Exit)theEObject;
149 T result = caseExit(exit);
150 if (result == null) result = casePseudostate(exit);
151 if (result == null) result = caseVertex(exit);
152 if (result == null) result = defaultCase(theEObject);
153 return result;
154 }
155 case YakinduPackage.FINAL_STATE: {
156 FinalState finalState = (FinalState)theEObject;
157 T result = caseFinalState(finalState);
158 if (result == null) result = caseRegularState(finalState);
159 if (result == null) result = caseVertex(finalState);
160 if (result == null) result = defaultCase(theEObject);
161 return result;
162 }
163 default: return defaultCase(theEObject);
164 }
165 }
166
167 /**
168 * Returns the result of interpreting the object as an instance of '<em>Pseudostate</em>'.
169 * <!-- begin-user-doc -->
170 * This implementation returns null;
171 * returning a non-null result will terminate the switch.
172 * <!-- end-user-doc -->
173 * @param object the target of the switch.
174 * @return the result of interpreting the object as an instance of '<em>Pseudostate</em>'.
175 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
176 * @generated
177 */
178 public T casePseudostate(Pseudostate object) {
179 return null;
180 }
181
182 /**
183 * Returns the result of interpreting the object as an instance of '<em>Vertex</em>'.
184 * <!-- begin-user-doc -->
185 * This implementation returns null;
186 * returning a non-null result will terminate the switch.
187 * <!-- end-user-doc -->
188 * @param object the target of the switch.
189 * @return the result of interpreting the object as an instance of '<em>Vertex</em>'.
190 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
191 * @generated
192 */
193 public T caseVertex(Vertex object) {
194 return null;
195 }
196
197 /**
198 * Returns the result of interpreting the object as an instance of '<em>Region</em>'.
199 * <!-- begin-user-doc -->
200 * This implementation returns null;
201 * returning a non-null result will terminate the switch.
202 * <!-- end-user-doc -->
203 * @param object the target of the switch.
204 * @return the result of interpreting the object as an instance of '<em>Region</em>'.
205 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
206 * @generated
207 */
208 public T caseRegion(Region object) {
209 return null;
210 }
211
212 /**
213 * Returns the result of interpreting the object as an instance of '<em>Transition</em>'.
214 * <!-- begin-user-doc -->
215 * This implementation returns null;
216 * returning a non-null result will terminate the switch.
217 * <!-- end-user-doc -->
218 * @param object the target of the switch.
219 * @return the result of interpreting the object as an instance of '<em>Transition</em>'.
220 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
221 * @generated
222 */
223 public T caseTransition(Transition object) {
224 return null;
225 }
226
227 /**
228 * Returns the result of interpreting the object as an instance of '<em>Statechart</em>'.
229 * <!-- begin-user-doc -->
230 * This implementation returns null;
231 * returning a non-null result will terminate the switch.
232 * <!-- end-user-doc -->
233 * @param object the target of the switch.
234 * @return the result of interpreting the object as an instance of '<em>Statechart</em>'.
235 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
236 * @generated
237 */
238 public T caseStatechart(Statechart object) {
239 return null;
240 }
241
242 /**
243 * Returns the result of interpreting the object as an instance of '<em>Entry</em>'.
244 * <!-- begin-user-doc -->
245 * This implementation returns null;
246 * returning a non-null result will terminate the switch.
247 * <!-- end-user-doc -->
248 * @param object the target of the switch.
249 * @return the result of interpreting the object as an instance of '<em>Entry</em>'.
250 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
251 * @generated
252 */
253 public T caseEntry(Entry object) {
254 return null;
255 }
256
257 /**
258 * Returns the result of interpreting the object as an instance of '<em>Synchronization</em>'.
259 * <!-- begin-user-doc -->
260 * This implementation returns null;
261 * returning a non-null result will terminate the switch.
262 * <!-- end-user-doc -->
263 * @param object the target of the switch.
264 * @return the result of interpreting the object as an instance of '<em>Synchronization</em>'.
265 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
266 * @generated
267 */
268 public T caseSynchronization(Synchronization object) {
269 return null;
270 }
271
272 /**
273 * Returns the result of interpreting the object as an instance of '<em>State</em>'.
274 * <!-- begin-user-doc -->
275 * This implementation returns null;
276 * returning a non-null result will terminate the switch.
277 * <!-- end-user-doc -->
278 * @param object the target of the switch.
279 * @return the result of interpreting the object as an instance of '<em>State</em>'.
280 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
281 * @generated
282 */
283 public T caseState(State object) {
284 return null;
285 }
286
287 /**
288 * Returns the result of interpreting the object as an instance of '<em>Regular State</em>'.
289 * <!-- begin-user-doc -->
290 * This implementation returns null;
291 * returning a non-null result will terminate the switch.
292 * <!-- end-user-doc -->
293 * @param object the target of the switch.
294 * @return the result of interpreting the object as an instance of '<em>Regular State</em>'.
295 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
296 * @generated
297 */
298 public T caseRegularState(RegularState object) {
299 return null;
300 }
301
302 /**
303 * Returns the result of interpreting the object as an instance of '<em>Composite Element</em>'.
304 * <!-- begin-user-doc -->
305 * This implementation returns null;
306 * returning a non-null result will terminate the switch.
307 * <!-- end-user-doc -->
308 * @param object the target of the switch.
309 * @return the result of interpreting the object as an instance of '<em>Composite Element</em>'.
310 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
311 * @generated
312 */
313 public T caseCompositeElement(CompositeElement object) {
314 return null;
315 }
316
317 /**
318 * Returns the result of interpreting the object as an instance of '<em>Choice</em>'.
319 * <!-- begin-user-doc -->
320 * This implementation returns null;
321 * returning a non-null result will terminate the switch.
322 * <!-- end-user-doc -->
323 * @param object the target of the switch.
324 * @return the result of interpreting the object as an instance of '<em>Choice</em>'.
325 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
326 * @generated
327 */
328 public T caseChoice(Choice object) {
329 return null;
330 }
331
332 /**
333 * Returns the result of interpreting the object as an instance of '<em>Exit</em>'.
334 * <!-- begin-user-doc -->
335 * This implementation returns null;
336 * returning a non-null result will terminate the switch.
337 * <!-- end-user-doc -->
338 * @param object the target of the switch.
339 * @return the result of interpreting the object as an instance of '<em>Exit</em>'.
340 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
341 * @generated
342 */
343 public T caseExit(Exit object) {
344 return null;
345 }
346
347 /**
348 * Returns the result of interpreting the object as an instance of '<em>Final State</em>'.
349 * <!-- begin-user-doc -->
350 * This implementation returns null;
351 * returning a non-null result will terminate the switch.
352 * <!-- end-user-doc -->
353 * @param object the target of the switch.
354 * @return the result of interpreting the object as an instance of '<em>Final State</em>'.
355 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
356 * @generated
357 */
358 public T caseFinalState(FinalState object) {
359 return null;
360 }
361
362 /**
363 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
364 * <!-- begin-user-doc -->
365 * This implementation returns null;
366 * returning a non-null result will terminate the switch, but this is the last case anyway.
367 * <!-- end-user-doc -->
368 * @param object the target of the switch.
369 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
370 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
371 * @generated
372 */
373 @Override
374 public T defaultCase(EObject object) {
375 return null;
376 }
377
378} //YakinduSwitch