From 60f01f46ba232ed6416054f0a6115cb2a9b70b4e Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 10 Jun 2017 19:05:05 +0200 Subject: Migrating Additional projects --- .../.classpath | 9 + .../.gitignore | 2 + .../.project | 34 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 27 + .../build.properties | 10 + .../BinaryElementRelationLink.java | 77 + .../partialinterpretation/NaryRelationLink.java | 40 + .../NaryRelationLinkElement.java | 50 + .../PartialConstantInterpretation.java | 52 + .../PartialFunctionInterpretation.java | 52 + .../PartialInterpretation.java | 251 ++ .../PartialRelationInterpretation.java | 126 + .../PartialTypeInterpratation.java | 88 + .../PartialinterpretationFactory.java | 114 + .../PartialinterpretationPackage.java | 1237 +++++++++ .../partialinterpretation/RelationLink.java | 18 + .../UnaryElementRelationLink.java | 50 + .../impl/BinaryElementRelationLinkImpl.java | 217 ++ .../impl/NaryRelationLinkElementImpl.java | 163 ++ .../impl/NaryRelationLinkImpl.java | 150 ++ .../impl/PartialConstantInterpretationImpl.java | 158 ++ .../impl/PartialFunctionInterpretationImpl.java | 158 ++ .../impl/PartialInterpretationImpl.java | 619 +++++ .../impl/PartialRelationInterpretationImpl.java | 337 +++ .../impl/PartialTypeInterpratationImpl.java | 231 ++ .../impl/PartialinterpretationFactoryImpl.java | 183 ++ .../impl/PartialinterpretationPackageImpl.java | 635 +++++ .../impl/RelationLinkImpl.java | 39 + .../impl/UnaryElementRelationLinkImpl.java | 157 ++ .../util/PartialinterpretationAdapterFactory.java | 282 ++ .../util/PartialinterpretationSwitch.java | 302 +++ .../model/PartialInterpretation.aird | 2710 ++++++++++++++++++++ .../model/PartialInterpretation.ecore | 76 + .../model/PartialInterpretation.genmodel | 49 + .../plugin.properties | 4 + .../plugin.xml | 17 + .../PartialInterpretationInitialiser.xtend | 112 + .../neighbourhood/Descriptor.xtend | 214 ++ ...rtherNodeDescriptorWithEquivalenceCounter.xtend | 16 + .../neighbourhood/NeighbourhoodWithTraces.xtend | 11 + .../neighbourhood/PartialInterpretation2Hash.xtend | 25 + ...artialInterpretation2ImmutableTypeLattice.xtend | 24 + ...mmutableTypeLatticeWithEquivalenceCounter.xtend | 56 + ...nterpretation2NeighbourhoodRepresentation.xtend | 345 +++ .../IdentifierBasedStateCoderFactory.xtend | 129 + .../NeighbourhoodBasedStateCoderFactory.xtend | 206 ++ .../visualisation/PartialInterpretation2Gml.xtend | 136 + 48 files changed, 10005 insertions(+) create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath new file mode 100644 index 00000000..75ccaa90 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore new file mode 100644 index 00000000..b33f6aff --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/xtend-gen/ diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project new file mode 100644 index 00000000..b8b85892 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project @@ -0,0 +1,34 @@ + + + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..295926d9 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF new file mode 100644 index 00000000..ea971e17 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF @@ -0,0 +1,27 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport, + hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport, + com.google.guava, + org.eclipse.xtext.xbase.lib, + org.eclipse.xtend.lib, + org.eclipse.xtend.lib.macro, + org.eclipse.viatra.query.runtime;bundle-version="1.5.0", + org.eclipse.viatra.dse;bundle-version="0.15.0" +Bundle-ActivationPolicy: lazy + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties new file mode 100644 index 00000000..72399047 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = ecore-gen/ +output.. = bin/ diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java new file mode 100644 index 00000000..bd88f469 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java @@ -0,0 +1,77 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +/** + * + * A representation of the model object 'Binary Element Relation Link'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink() + * @model + * @generated + */ +public interface BinaryElementRelationLink extends RelationLink { + /** + * Returns the value of the 'Param1' reference. + * + *

+ * If the meaning of the 'Param1' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Param1' reference. + * @see #setParam1(DefinedElement) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink_Param1() + * @model required="true" + * @generated + */ + DefinedElement getParam1(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1 Param1}' reference. + * + * + * @param value the new value of the 'Param1' reference. + * @see #getParam1() + * @generated + */ + void setParam1(DefinedElement value); + + /** + * Returns the value of the 'Param2' reference. + * + *

+ * If the meaning of the 'Param2' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Param2' reference. + * @see #setParam2(DefinedElement) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink_Param2() + * @model required="true" + * @generated + */ + DefinedElement getParam2(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2 Param2}' reference. + * + * + * @param value the new value of the 'Param2' reference. + * @see #getParam2() + * @generated + */ + void setParam2(DefinedElement value); + +} // BinaryElementRelationLink diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java new file mode 100644 index 00000000..b4981259 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java @@ -0,0 +1,40 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Nary Relation Link'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLink() + * @model + * @generated + */ +public interface NaryRelationLink extends RelationLink { + /** + * Returns the value of the 'Elements' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement}. + * + *

+ * If the meaning of the 'Elements' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Elements' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLink_Elements() + * @model containment="true" + * @generated + */ + EList getElements(); + +} // NaryRelationLink diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java new file mode 100644 index 00000000..4b70390f --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java @@ -0,0 +1,50 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Nary Relation Link Element'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLinkElement() + * @model + * @generated + */ +public interface NaryRelationLinkElement extends EObject { + /** + * Returns the value of the 'Index' attribute. + * + *

+ * If the meaning of the 'Index' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' attribute. + * @see #setIndex(int) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLinkElement_Index() + * @model + * @generated + */ + int getIndex(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex Index}' attribute. + * + * + * @param value the new value of the 'Index' attribute. + * @see #getIndex() + * @generated + */ + void setIndex(int value); + +} // NaryRelationLinkElement diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java new file mode 100644 index 00000000..29f2cb21 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java @@ -0,0 +1,52 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Partial Constant Interpretation'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialConstantInterpretation() + * @model + * @generated + */ +public interface PartialConstantInterpretation extends EObject { + /** + * Returns the value of the 'Interpretation Of' reference. + * + *

+ * If the meaning of the 'Interpretation Of' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Interpretation Of' reference. + * @see #setInterpretationOf(ConstantDeclaration) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialConstantInterpretation_InterpretationOf() + * @model required="true" + * @generated + */ + ConstantDeclaration getInterpretationOf(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf Interpretation Of}' reference. + * + * + * @param value the new value of the 'Interpretation Of' reference. + * @see #getInterpretationOf() + * @generated + */ + void setInterpretationOf(ConstantDeclaration value); + +} // PartialConstantInterpretation diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java new file mode 100644 index 00000000..26ce2480 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java @@ -0,0 +1,52 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Partial Function Interpretation'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialFunctionInterpretation() + * @model + * @generated + */ +public interface PartialFunctionInterpretation extends EObject { + /** + * Returns the value of the 'Interpretation Of' reference. + * + *

+ * If the meaning of the 'Interpretation Of' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Interpretation Of' reference. + * @see #setInterpretationOf(FunctionDeclaration) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialFunctionInterpretation_InterpretationOf() + * @model required="true" + * @generated + */ + FunctionDeclaration getInterpretationOf(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf Interpretation Of}' reference. + * + * + * @param value the new value of the 'Interpretation Of' reference. + * @see #getInterpretationOf() + * @generated + */ + void setInterpretationOf(FunctionDeclaration value); + +} // PartialFunctionInterpretation diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java new file mode 100644 index 00000000..46c85cc8 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java @@ -0,0 +1,251 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Partial Interpretation'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation() + * @model + * @generated + */ +public interface PartialInterpretation extends EObject { + /** + * Returns the value of the 'Problem' reference. + * + *

+ * If the meaning of the 'Problem' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Problem' reference. + * @see #setProblem(LogicProblem) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Problem() + * @model required="true" + * @generated + */ + LogicProblem getProblem(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem Problem}' reference. + * + * + * @param value the new value of the 'Problem' reference. + * @see #getProblem() + * @generated + */ + void setProblem(LogicProblem value); + + /** + * Returns the value of the 'Partialconstantinterpretation' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation}. + * + *

+ * If the meaning of the 'Partialconstantinterpretation' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Partialconstantinterpretation' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialconstantinterpretation() + * @model containment="true" + * @generated + */ + EList getPartialconstantinterpretation(); + + /** + * Returns the value of the 'Partialrelationinterpretation' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation}. + * + *

+ * If the meaning of the 'Partialrelationinterpretation' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Partialrelationinterpretation' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialrelationinterpretation() + * @model containment="true" + * @generated + */ + EList getPartialrelationinterpretation(); + + /** + * Returns the value of the 'Partialfunctioninterpretation' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation}. + * + *

+ * If the meaning of the 'Partialfunctioninterpretation' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Partialfunctioninterpretation' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialfunctioninterpretation() + * @model containment="true" + * @generated + */ + EList getPartialfunctioninterpretation(); + + /** + * Returns the value of the 'New Elements' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}. + * + *

+ * If the meaning of the 'New Elements' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'New Elements' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_NewElements() + * @model containment="true" + * @generated + */ + EList getNewElements(); + + /** + * Returns the value of the 'Partialtypeinterpratation' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation}. + * + *

+ * If the meaning of the 'Partialtypeinterpratation' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Partialtypeinterpratation' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialtypeinterpratation() + * @model containment="true" + * @generated + */ + EList getPartialtypeinterpratation(); + + /** + * Returns the value of the 'Min New Elements' attribute. + * The default value is "0". + * + *

+ * If the meaning of the 'Min New Elements' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min New Elements' attribute. + * @see #setMinNewElements(int) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_MinNewElements() + * @model default="0" id="true" required="true" + * @generated + */ + int getMinNewElements(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements Min New Elements}' attribute. + * + * + * @param value the new value of the 'Min New Elements' attribute. + * @see #getMinNewElements() + * @generated + */ + void setMinNewElements(int value); + + /** + * Returns the value of the 'Max New Elements' attribute. + * The default value is "0". + * + *

+ * If the meaning of the 'Max New Elements' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max New Elements' attribute. + * @see #setMaxNewElements(int) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_MaxNewElements() + * @model default="0" required="true" + * @generated + */ + int getMaxNewElements(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements Max New Elements}' attribute. + * + * + * @param value the new value of the 'Max New Elements' attribute. + * @see #getMaxNewElements() + * @generated + */ + void setMaxNewElements(int value); + + /** + * Returns the value of the 'Open World Element Prototype' containment reference. + * + *

+ * If the meaning of the 'Open World Element Prototype' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Open World Element Prototype' containment reference. + * @see #setOpenWorldElementPrototype(DefinedElement) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_OpenWorldElementPrototype() + * @model containment="true" required="true" + * @generated + */ + DefinedElement getOpenWorldElementPrototype(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype Open World Element Prototype}' containment reference. + * + * + * @param value the new value of the 'Open World Element Prototype' containment reference. + * @see #getOpenWorldElementPrototype() + * @generated + */ + void setOpenWorldElementPrototype(DefinedElement value); + + /** + * Returns the value of the 'Problem Conainer' containment reference. + * + *

+ * If the meaning of the 'Problem Conainer' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Problem Conainer' containment reference. + * @see #setProblemConainer(LogicProblem) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_ProblemConainer() + * @model containment="true" + * @generated + */ + LogicProblem getProblemConainer(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer Problem Conainer}' containment reference. + * + * + * @param value the new value of the 'Problem Conainer' containment reference. + * @see #getProblemConainer() + * @generated + */ + void setProblemConainer(LogicProblem value); + +} // PartialInterpretation diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java new file mode 100644 index 00000000..e1fa092f --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java @@ -0,0 +1,126 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference; +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Partial Relation Interpretation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf Interpretation Of}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks Relationlinks}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 Param1}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 Param2}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation() + * @model + * @generated + */ +public interface PartialRelationInterpretation extends EObject { + /** + * Returns the value of the 'Interpretation Of' reference. + * + *

+ * If the meaning of the 'Interpretation Of' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Interpretation Of' reference. + * @see #setInterpretationOf(RelationDeclaration) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_InterpretationOf() + * @model required="true" + * @generated + */ + RelationDeclaration getInterpretationOf(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf Interpretation Of}' reference. + * + * + * @param value the new value of the 'Interpretation Of' reference. + * @see #getInterpretationOf() + * @generated + */ + void setInterpretationOf(RelationDeclaration value); + + /** + * Returns the value of the 'Relationlinks' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink}. + * + *

+ * If the meaning of the 'Relationlinks' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Relationlinks' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Relationlinks() + * @model containment="true" + * @generated + */ + EList getRelationlinks(); + + /** + * Returns the value of the 'Param1' reference. + * + *

+ * If the meaning of the 'Param1' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Param1' reference. + * @see #setParam1(TypeReference) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Param1() + * @model + * @generated + */ + TypeReference getParam1(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 Param1}' reference. + * + * + * @param value the new value of the 'Param1' reference. + * @see #getParam1() + * @generated + */ + void setParam1(TypeReference value); + + /** + * Returns the value of the 'Param2' reference. + * + *

+ * If the meaning of the 'Param2' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Param2' reference. + * @see #setParam2(TypeReference) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Param2() + * @model + * @generated + */ + TypeReference getParam2(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 Param2}' reference. + * + * + * @param value the new value of the 'Param2' reference. + * @see #getParam2() + * @generated + */ + void setParam2(TypeReference value); + +} // PartialRelationInterpretation diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java new file mode 100644 index 00000000..ff313b42 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java @@ -0,0 +1,88 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Partial Type Interpratation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf Interpretation Of}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements Elements}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation Supertype Interpretation}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation() + * @model + * @generated + */ +public interface PartialTypeInterpratation extends EObject { + /** + * Returns the value of the 'Interpretation Of' reference. + * + *

+ * If the meaning of the 'Interpretation Of' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Interpretation Of' reference. + * @see #setInterpretationOf(TypeDeclaration) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_InterpretationOf() + * @model required="true" + * @generated + */ + TypeDeclaration getInterpretationOf(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf Interpretation Of}' reference. + * + * + * @param value the new value of the 'Interpretation Of' reference. + * @see #getInterpretationOf() + * @generated + */ + void setInterpretationOf(TypeDeclaration value); + + /** + * Returns the value of the 'Elements' reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}. + * + *

+ * If the meaning of the 'Elements' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Elements' reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_Elements() + * @model + * @generated + */ + EList getElements(); + + /** + * Returns the value of the 'Supertype Interpretation' reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation}. + * + *

+ * If the meaning of the 'Supertype Interpretation' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Supertype Interpretation' reference list. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_SupertypeInterpretation() + * @model + * @generated + */ + EList getSupertypeInterpretation(); + +} // PartialTypeInterpratation diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java new file mode 100644 index 00000000..406e2f02 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java @@ -0,0 +1,114 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage + * @generated + */ +public interface PartialinterpretationFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + PartialinterpretationFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationFactoryImpl.init(); + + /** + * Returns a new object of class 'Partial Interpretation'. + * + * + * @return a new object of class 'Partial Interpretation'. + * @generated + */ + PartialInterpretation createPartialInterpretation(); + + /** + * Returns a new object of class 'Partial Constant Interpretation'. + * + * + * @return a new object of class 'Partial Constant Interpretation'. + * @generated + */ + PartialConstantInterpretation createPartialConstantInterpretation(); + + /** + * Returns a new object of class 'Partial Relation Interpretation'. + * + * + * @return a new object of class 'Partial Relation Interpretation'. + * @generated + */ + PartialRelationInterpretation createPartialRelationInterpretation(); + + /** + * Returns a new object of class 'Partial Function Interpretation'. + * + * + * @return a new object of class 'Partial Function Interpretation'. + * @generated + */ + PartialFunctionInterpretation createPartialFunctionInterpretation(); + + /** + * Returns a new object of class 'Partial Type Interpratation'. + * + * + * @return a new object of class 'Partial Type Interpratation'. + * @generated + */ + PartialTypeInterpratation createPartialTypeInterpratation(); + + /** + * Returns a new object of class 'Unary Element Relation Link'. + * + * + * @return a new object of class 'Unary Element Relation Link'. + * @generated + */ + UnaryElementRelationLink createUnaryElementRelationLink(); + + /** + * Returns a new object of class 'Binary Element Relation Link'. + * + * + * @return a new object of class 'Binary Element Relation Link'. + * @generated + */ + BinaryElementRelationLink createBinaryElementRelationLink(); + + /** + * Returns a new object of class 'Nary Relation Link'. + * + * + * @return a new object of class 'Nary Relation Link'. + * @generated + */ + NaryRelationLink createNaryRelationLink(); + + /** + * Returns a new object of class 'Nary Relation Link Element'. + * + * + * @return a new object of class 'Nary Relation Link Element'. + * @generated + */ + NaryRelationLinkElement createNaryRelationLinkElement(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + PartialinterpretationPackage getPartialinterpretationPackage(); + +} //PartialinterpretationFactory diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java new file mode 100644 index 00000000..573500dd --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java @@ -0,0 +1,1237 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory + * @model kind="package" + * @generated + */ +public interface PartialinterpretationPackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "partialinterpretation"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "partialinterpretation"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + PartialinterpretationPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl.init(); + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl Partial Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialInterpretation() + * @generated + */ + int PARTIAL_INTERPRETATION = 0; + + /** + * The feature id for the 'Problem' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PROBLEM = 0; + + /** + * The feature id for the 'Partialconstantinterpretation' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION = 1; + + /** + * The feature id for the 'Partialrelationinterpretation' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION = 2; + + /** + * The feature id for the 'Partialfunctioninterpretation' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION = 3; + + /** + * The feature id for the 'New Elements' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__NEW_ELEMENTS = 4; + + /** + * The feature id for the 'Partialtypeinterpratation' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION = 5; + + /** + * The feature id for the 'Min New Elements' attribute. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS = 6; + + /** + * The feature id for the 'Max New Elements' attribute. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS = 7; + + /** + * The feature id for the 'Open World Element Prototype' containment reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE = 8; + + /** + * The feature id for the 'Problem Conainer' containment reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION__PROBLEM_CONAINER = 9; + + /** + * The number of structural features of the 'Partial Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION_FEATURE_COUNT = 10; + + /** + * The number of operations of the 'Partial Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_INTERPRETATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl Partial Constant Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialConstantInterpretation() + * @generated + */ + int PARTIAL_CONSTANT_INTERPRETATION = 1; + + /** + * The feature id for the 'Interpretation Of' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF = 0; + + /** + * The number of structural features of the 'Partial Constant Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_CONSTANT_INTERPRETATION_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Partial Constant Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_CONSTANT_INTERPRETATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl Partial Relation Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialRelationInterpretation() + * @generated + */ + int PARTIAL_RELATION_INTERPRETATION = 2; + + /** + * The feature id for the 'Interpretation Of' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF = 0; + + /** + * The feature id for the 'Relationlinks' containment reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS = 1; + + /** + * The feature id for the 'Param1' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION__PARAM1 = 2; + + /** + * The feature id for the 'Param2' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION__PARAM2 = 3; + + /** + * The number of structural features of the 'Partial Relation Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Partial Relation Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_RELATION_INTERPRETATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl Partial Function Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialFunctionInterpretation() + * @generated + */ + int PARTIAL_FUNCTION_INTERPRETATION = 3; + + /** + * The feature id for the 'Interpretation Of' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF = 0; + + /** + * The number of structural features of the 'Partial Function Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_FUNCTION_INTERPRETATION_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Partial Function Interpretation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_FUNCTION_INTERPRETATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl Partial Type Interpratation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialTypeInterpratation() + * @generated + */ + int PARTIAL_TYPE_INTERPRATATION = 4; + + /** + * The feature id for the 'Interpretation Of' reference. + * + * + * @generated + * @ordered + */ + int PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF = 0; + + /** + * The feature id for the 'Elements' reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_TYPE_INTERPRATATION__ELEMENTS = 1; + + /** + * The feature id for the 'Supertype Interpretation' reference list. + * + * + * @generated + * @ordered + */ + int PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION = 2; + + /** + * The number of structural features of the 'Partial Type Interpratation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_TYPE_INTERPRATATION_FEATURE_COUNT = 3; + + /** + * The number of operations of the 'Partial Type Interpratation' class. + * + * + * @generated + * @ordered + */ + int PARTIAL_TYPE_INTERPRATATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getRelationLink() + * @generated + */ + int RELATION_LINK = 5; + + /** + * The number of structural features of the 'Relation Link' class. + * + * + * @generated + * @ordered + */ + int RELATION_LINK_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Relation Link' class. + * + * + * @generated + * @ordered + */ + int RELATION_LINK_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl Unary Element Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getUnaryElementRelationLink() + * @generated + */ + int UNARY_ELEMENT_RELATION_LINK = 6; + + /** + * The feature id for the 'Param1' reference. + * + * + * @generated + * @ordered + */ + int UNARY_ELEMENT_RELATION_LINK__PARAM1 = RELATION_LINK_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Element Relation Link' class. + * + * + * @generated + * @ordered + */ + int UNARY_ELEMENT_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Unary Element Relation Link' class. + * + * + * @generated + * @ordered + */ + int UNARY_ELEMENT_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl Binary Element Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getBinaryElementRelationLink() + * @generated + */ + int BINARY_ELEMENT_RELATION_LINK = 7; + + /** + * The feature id for the 'Param1' reference. + * + * + * @generated + * @ordered + */ + int BINARY_ELEMENT_RELATION_LINK__PARAM1 = RELATION_LINK_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Param2' reference. + * + * + * @generated + * @ordered + */ + int BINARY_ELEMENT_RELATION_LINK__PARAM2 = RELATION_LINK_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Binary Element Relation Link' class. + * + * + * @generated + * @ordered + */ + int BINARY_ELEMENT_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Binary Element Relation Link' class. + * + * + * @generated + * @ordered + */ + int BINARY_ELEMENT_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl Nary Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLink() + * @generated + */ + int NARY_RELATION_LINK = 8; + + /** + * The feature id for the 'Elements' containment reference list. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK__ELEMENTS = RELATION_LINK_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Nary Relation Link' class. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Nary Relation Link' class. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl Nary Relation Link Element}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLinkElement() + * @generated + */ + int NARY_RELATION_LINK_ELEMENT = 9; + + /** + * The feature id for the 'Index' attribute. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK_ELEMENT__INDEX = 0; + + /** + * The number of structural features of the 'Nary Relation Link Element' class. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK_ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Nary Relation Link Element' class. + * + * + * @generated + * @ordered + */ + int NARY_RELATION_LINK_ELEMENT_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation Partial Interpretation}'. + * + * + * @return the meta object for class 'Partial Interpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation + * @generated + */ + EClass getPartialInterpretation(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem Problem}'. + * + * + * @return the meta object for the reference 'Problem'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_Problem(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialconstantinterpretation Partialconstantinterpretation}'. + * + * + * @return the meta object for the containment reference list 'Partialconstantinterpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialconstantinterpretation() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_Partialconstantinterpretation(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialrelationinterpretation Partialrelationinterpretation}'. + * + * + * @return the meta object for the containment reference list 'Partialrelationinterpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialrelationinterpretation() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_Partialrelationinterpretation(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialfunctioninterpretation Partialfunctioninterpretation}'. + * + * + * @return the meta object for the containment reference list 'Partialfunctioninterpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialfunctioninterpretation() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_Partialfunctioninterpretation(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getNewElements New Elements}'. + * + * + * @return the meta object for the containment reference list 'New Elements'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getNewElements() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_NewElements(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialtypeinterpratation Partialtypeinterpratation}'. + * + * + * @return the meta object for the containment reference list 'Partialtypeinterpratation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialtypeinterpratation() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_Partialtypeinterpratation(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements Min New Elements}'. + * + * + * @return the meta object for the attribute 'Min New Elements'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements() + * @see #getPartialInterpretation() + * @generated + */ + EAttribute getPartialInterpretation_MinNewElements(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements Max New Elements}'. + * + * + * @return the meta object for the attribute 'Max New Elements'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements() + * @see #getPartialInterpretation() + * @generated + */ + EAttribute getPartialInterpretation_MaxNewElements(); + + /** + * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype Open World Element Prototype}'. + * + * + * @return the meta object for the containment reference 'Open World Element Prototype'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_OpenWorldElementPrototype(); + + /** + * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer Problem Conainer}'. + * + * + * @return the meta object for the containment reference 'Problem Conainer'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer() + * @see #getPartialInterpretation() + * @generated + */ + EReference getPartialInterpretation_ProblemConainer(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation Partial Constant Interpretation}'. + * + * + * @return the meta object for class 'Partial Constant Interpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation + * @generated + */ + EClass getPartialConstantInterpretation(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf Interpretation Of}'. + * + * + * @return the meta object for the reference 'Interpretation Of'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf() + * @see #getPartialConstantInterpretation() + * @generated + */ + EReference getPartialConstantInterpretation_InterpretationOf(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation Partial Relation Interpretation}'. + * + * + * @return the meta object for class 'Partial Relation Interpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation + * @generated + */ + EClass getPartialRelationInterpretation(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf Interpretation Of}'. + * + * + * @return the meta object for the reference 'Interpretation Of'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf() + * @see #getPartialRelationInterpretation() + * @generated + */ + EReference getPartialRelationInterpretation_InterpretationOf(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks Relationlinks}'. + * + * + * @return the meta object for the containment reference list 'Relationlinks'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks() + * @see #getPartialRelationInterpretation() + * @generated + */ + EReference getPartialRelationInterpretation_Relationlinks(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 Param1}'. + * + * + * @return the meta object for the reference 'Param1'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1() + * @see #getPartialRelationInterpretation() + * @generated + */ + EReference getPartialRelationInterpretation_Param1(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 Param2}'. + * + * + * @return the meta object for the reference 'Param2'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2() + * @see #getPartialRelationInterpretation() + * @generated + */ + EReference getPartialRelationInterpretation_Param2(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation Partial Function Interpretation}'. + * + * + * @return the meta object for class 'Partial Function Interpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation + * @generated + */ + EClass getPartialFunctionInterpretation(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf Interpretation Of}'. + * + * + * @return the meta object for the reference 'Interpretation Of'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf() + * @see #getPartialFunctionInterpretation() + * @generated + */ + EReference getPartialFunctionInterpretation_InterpretationOf(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation Partial Type Interpratation}'. + * + * + * @return the meta object for class 'Partial Type Interpratation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation + * @generated + */ + EClass getPartialTypeInterpratation(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf Interpretation Of}'. + * + * + * @return the meta object for the reference 'Interpretation Of'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf() + * @see #getPartialTypeInterpratation() + * @generated + */ + EReference getPartialTypeInterpratation_InterpretationOf(); + + /** + * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements Elements}'. + * + * + * @return the meta object for the reference list 'Elements'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements() + * @see #getPartialTypeInterpratation() + * @generated + */ + EReference getPartialTypeInterpratation_Elements(); + + /** + * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation Supertype Interpretation}'. + * + * + * @return the meta object for the reference list 'Supertype Interpretation'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation() + * @see #getPartialTypeInterpratation() + * @generated + */ + EReference getPartialTypeInterpratation_SupertypeInterpretation(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink Relation Link}'. + * + * + * @return the meta object for class 'Relation Link'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink + * @generated + */ + EClass getRelationLink(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink Unary Element Relation Link}'. + * + * + * @return the meta object for class 'Unary Element Relation Link'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink + * @generated + */ + EClass getUnaryElementRelationLink(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 Param1}'. + * + * + * @return the meta object for the reference 'Param1'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1() + * @see #getUnaryElementRelationLink() + * @generated + */ + EReference getUnaryElementRelationLink_Param1(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink Binary Element Relation Link}'. + * + * + * @return the meta object for class 'Binary Element Relation Link'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink + * @generated + */ + EClass getBinaryElementRelationLink(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1 Param1}'. + * + * + * @return the meta object for the reference 'Param1'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1() + * @see #getBinaryElementRelationLink() + * @generated + */ + EReference getBinaryElementRelationLink_Param1(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2 Param2}'. + * + * + * @return the meta object for the reference 'Param2'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2() + * @see #getBinaryElementRelationLink() + * @generated + */ + EReference getBinaryElementRelationLink_Param2(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink Nary Relation Link}'. + * + * + * @return the meta object for class 'Nary Relation Link'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink + * @generated + */ + EClass getNaryRelationLink(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink#getElements Elements}'. + * + * + * @return the meta object for the containment reference list 'Elements'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink#getElements() + * @see #getNaryRelationLink() + * @generated + */ + EReference getNaryRelationLink_Elements(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement Nary Relation Link Element}'. + * + * + * @return the meta object for class 'Nary Relation Link Element'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement + * @generated + */ + EClass getNaryRelationLinkElement(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex Index}'. + * + * + * @return the meta object for the attribute 'Index'. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex() + * @see #getNaryRelationLinkElement() + * @generated + */ + EAttribute getNaryRelationLinkElement_Index(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + PartialinterpretationFactory getPartialinterpretationFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl Partial Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialInterpretation() + * @generated + */ + EClass PARTIAL_INTERPRETATION = eINSTANCE.getPartialInterpretation(); + + /** + * The meta object literal for the 'Problem' reference feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PROBLEM = eINSTANCE.getPartialInterpretation_Problem(); + + /** + * The meta object literal for the 'Partialconstantinterpretation' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialconstantinterpretation(); + + /** + * The meta object literal for the 'Partialrelationinterpretation' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialrelationinterpretation(); + + /** + * The meta object literal for the 'Partialfunctioninterpretation' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialfunctioninterpretation(); + + /** + * The meta object literal for the 'New Elements' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_NewElements(); + + /** + * The meta object literal for the 'Partialtypeinterpratation' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION = eINSTANCE.getPartialInterpretation_Partialtypeinterpratation(); + + /** + * The meta object literal for the 'Min New Elements' attribute feature. + * + * + * @generated + */ + EAttribute PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_MinNewElements(); + + /** + * The meta object literal for the 'Max New Elements' attribute feature. + * + * + * @generated + */ + EAttribute PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_MaxNewElements(); + + /** + * The meta object literal for the 'Open World Element Prototype' containment reference feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE = eINSTANCE.getPartialInterpretation_OpenWorldElementPrototype(); + + /** + * The meta object literal for the 'Problem Conainer' containment reference feature. + * + * + * @generated + */ + EReference PARTIAL_INTERPRETATION__PROBLEM_CONAINER = eINSTANCE.getPartialInterpretation_ProblemConainer(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl Partial Constant Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialConstantInterpretation() + * @generated + */ + EClass PARTIAL_CONSTANT_INTERPRETATION = eINSTANCE.getPartialConstantInterpretation(); + + /** + * The meta object literal for the 'Interpretation Of' reference feature. + * + * + * @generated + */ + EReference PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialConstantInterpretation_InterpretationOf(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl Partial Relation Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialRelationInterpretation() + * @generated + */ + EClass PARTIAL_RELATION_INTERPRETATION = eINSTANCE.getPartialRelationInterpretation(); + + /** + * The meta object literal for the 'Interpretation Of' reference feature. + * + * + * @generated + */ + EReference PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialRelationInterpretation_InterpretationOf(); + + /** + * The meta object literal for the 'Relationlinks' containment reference list feature. + * + * + * @generated + */ + EReference PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS = eINSTANCE.getPartialRelationInterpretation_Relationlinks(); + + /** + * The meta object literal for the 'Param1' reference feature. + * + * + * @generated + */ + EReference PARTIAL_RELATION_INTERPRETATION__PARAM1 = eINSTANCE.getPartialRelationInterpretation_Param1(); + + /** + * The meta object literal for the 'Param2' reference feature. + * + * + * @generated + */ + EReference PARTIAL_RELATION_INTERPRETATION__PARAM2 = eINSTANCE.getPartialRelationInterpretation_Param2(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl Partial Function Interpretation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialFunctionInterpretation() + * @generated + */ + EClass PARTIAL_FUNCTION_INTERPRETATION = eINSTANCE.getPartialFunctionInterpretation(); + + /** + * The meta object literal for the 'Interpretation Of' reference feature. + * + * + * @generated + */ + EReference PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialFunctionInterpretation_InterpretationOf(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl Partial Type Interpratation}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialTypeInterpratation() + * @generated + */ + EClass PARTIAL_TYPE_INTERPRATATION = eINSTANCE.getPartialTypeInterpratation(); + + /** + * The meta object literal for the 'Interpretation Of' reference feature. + * + * + * @generated + */ + EReference PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF = eINSTANCE.getPartialTypeInterpratation_InterpretationOf(); + + /** + * The meta object literal for the 'Elements' reference list feature. + * + * + * @generated + */ + EReference PARTIAL_TYPE_INTERPRATATION__ELEMENTS = eINSTANCE.getPartialTypeInterpratation_Elements(); + + /** + * The meta object literal for the 'Supertype Interpretation' reference list feature. + * + * + * @generated + */ + EReference PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION = eINSTANCE.getPartialTypeInterpratation_SupertypeInterpretation(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getRelationLink() + * @generated + */ + EClass RELATION_LINK = eINSTANCE.getRelationLink(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl Unary Element Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getUnaryElementRelationLink() + * @generated + */ + EClass UNARY_ELEMENT_RELATION_LINK = eINSTANCE.getUnaryElementRelationLink(); + + /** + * The meta object literal for the 'Param1' reference feature. + * + * + * @generated + */ + EReference UNARY_ELEMENT_RELATION_LINK__PARAM1 = eINSTANCE.getUnaryElementRelationLink_Param1(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl Binary Element Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getBinaryElementRelationLink() + * @generated + */ + EClass BINARY_ELEMENT_RELATION_LINK = eINSTANCE.getBinaryElementRelationLink(); + + /** + * The meta object literal for the 'Param1' reference feature. + * + * + * @generated + */ + EReference BINARY_ELEMENT_RELATION_LINK__PARAM1 = eINSTANCE.getBinaryElementRelationLink_Param1(); + + /** + * The meta object literal for the 'Param2' reference feature. + * + * + * @generated + */ + EReference BINARY_ELEMENT_RELATION_LINK__PARAM2 = eINSTANCE.getBinaryElementRelationLink_Param2(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl Nary Relation Link}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLink() + * @generated + */ + EClass NARY_RELATION_LINK = eINSTANCE.getNaryRelationLink(); + + /** + * The meta object literal for the 'Elements' containment reference list feature. + * + * + * @generated + */ + EReference NARY_RELATION_LINK__ELEMENTS = eINSTANCE.getNaryRelationLink_Elements(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl Nary Relation Link Element}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLinkElement() + * @generated + */ + EClass NARY_RELATION_LINK_ELEMENT = eINSTANCE.getNaryRelationLinkElement(); + + /** + * The meta object literal for the 'Index' attribute feature. + * + * + * @generated + */ + EAttribute NARY_RELATION_LINK_ELEMENT__INDEX = eINSTANCE.getNaryRelationLinkElement_Index(); + + } + +} //PartialinterpretationPackage diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java new file mode 100644 index 00000000..8da96792 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java @@ -0,0 +1,18 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Relation Link'. + * + * + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getRelationLink() + * @model abstract="true" + * @generated + */ +public interface RelationLink extends EObject { +} // RelationLink diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java new file mode 100644 index 00000000..f25a4e05 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java @@ -0,0 +1,50 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +/** + * + * A representation of the model object 'Unary Element Relation Link'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 Param1}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getUnaryElementRelationLink() + * @model + * @generated + */ +public interface UnaryElementRelationLink extends RelationLink { + /** + * Returns the value of the 'Param1' reference. + * + *

+ * If the meaning of the 'Param1' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Param1' reference. + * @see #setParam1(DefinedElement) + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getUnaryElementRelationLink_Param1() + * @model required="true" + * @generated + */ + DefinedElement getParam1(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 Param1}' reference. + * + * + * @param value the new value of the 'Param1' reference. + * @see #getParam1() + * @generated + */ + void setParam1(DefinedElement value); + +} // UnaryElementRelationLink diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java new file mode 100644 index 00000000..f5efe02a --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java @@ -0,0 +1,217 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Binary Element Relation Link'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl#getParam1 Param1}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl#getParam2 Param2}
  • + *
+ * + * @generated + */ +public class BinaryElementRelationLinkImpl extends RelationLinkImpl implements BinaryElementRelationLink { + /** + * The cached value of the '{@link #getParam1() Param1}' reference. + * + * + * @see #getParam1() + * @generated + * @ordered + */ + protected DefinedElement param1; + + /** + * The cached value of the '{@link #getParam2() Param2}' reference. + * + * + * @see #getParam2() + * @generated + * @ordered + */ + protected DefinedElement param2; + + /** + * + * + * @generated + */ + protected BinaryElementRelationLinkImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.BINARY_ELEMENT_RELATION_LINK; + } + + /** + * + * + * @generated + */ + public DefinedElement getParam1() { + if (param1 != null && param1.eIsProxy()) { + InternalEObject oldParam1 = (InternalEObject)param1; + param1 = (DefinedElement)eResolveProxy(oldParam1); + if (param1 != oldParam1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1)); + } + } + return param1; + } + + /** + * + * + * @generated + */ + public DefinedElement basicGetParam1() { + return param1; + } + + /** + * + * + * @generated + */ + public void setParam1(DefinedElement newParam1) { + DefinedElement oldParam1 = param1; + param1 = newParam1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1)); + } + + /** + * + * + * @generated + */ + public DefinedElement getParam2() { + if (param2 != null && param2.eIsProxy()) { + InternalEObject oldParam2 = (InternalEObject)param2; + param2 = (DefinedElement)eResolveProxy(oldParam2); + if (param2 != oldParam2) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2, oldParam2, param2)); + } + } + return param2; + } + + /** + * + * + * @generated + */ + public DefinedElement basicGetParam2() { + return param2; + } + + /** + * + * + * @generated + */ + public void setParam2(DefinedElement newParam2) { + DefinedElement oldParam2 = param2; + param2 = newParam2; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2, oldParam2, param2)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1: + if (resolve) return getParam1(); + return basicGetParam1(); + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2: + if (resolve) return getParam2(); + return basicGetParam2(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1: + setParam1((DefinedElement)newValue); + return; + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2: + setParam2((DefinedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1: + setParam1((DefinedElement)null); + return; + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2: + setParam2((DefinedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1: + return param1 != null; + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2: + return param2 != null; + } + return super.eIsSet(featureID); + } + +} //BinaryElementRelationLinkImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java new file mode 100644 index 00000000..40e6549d --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java @@ -0,0 +1,163 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Nary Relation Link Element'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl#getIndex Index}
  • + *
+ * + * @generated + */ +public class NaryRelationLinkElementImpl extends MinimalEObjectImpl.Container implements NaryRelationLinkElement { + /** + * The default value of the '{@link #getIndex() Index}' attribute. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected static final int INDEX_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getIndex() Index}' attribute. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected int index = INDEX_EDEFAULT; + + /** + * + * + * @generated + */ + protected NaryRelationLinkElementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.NARY_RELATION_LINK_ELEMENT; + } + + /** + * + * + * @generated + */ + public int getIndex() { + return index; + } + + /** + * + * + * @generated + */ + public void setIndex(int newIndex) { + int oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX, oldIndex, index)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX: + return getIndex(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX: + setIndex((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX: + setIndex(INDEX_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX: + return index != INDEX_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (index: "); + result.append(index); + result.append(')'); + return result.toString(); + } + +} //NaryRelationLinkElementImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java new file mode 100644 index 00000000..f387ee06 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java @@ -0,0 +1,150 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Nary Relation Link'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl#getElements Elements}
  • + *
+ * + * @generated + */ +public class NaryRelationLinkImpl extends RelationLinkImpl implements NaryRelationLink { + /** + * The cached value of the '{@link #getElements() Elements}' containment reference list. + * + * + * @see #getElements() + * @generated + * @ordered + */ + protected EList elements; + + /** + * + * + * @generated + */ + protected NaryRelationLinkImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.NARY_RELATION_LINK; + } + + /** + * + * + * @generated + */ + public EList getElements() { + if (elements == null) { + elements = new EObjectContainmentEList(NaryRelationLinkElement.class, this, PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS); + } + return elements; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS: + return ((InternalEList)getElements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS: + return getElements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS: + getElements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS: + return elements != null && !elements.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //NaryRelationLinkImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java new file mode 100644 index 00000000..81b2ce8d --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java @@ -0,0 +1,158 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Partial Constant Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl#getInterpretationOf Interpretation Of}
  • + *
+ * + * @generated + */ +public class PartialConstantInterpretationImpl extends MinimalEObjectImpl.Container implements PartialConstantInterpretation { + /** + * The cached value of the '{@link #getInterpretationOf() Interpretation Of}' reference. + * + * + * @see #getInterpretationOf() + * @generated + * @ordered + */ + protected ConstantDeclaration interpretationOf; + + /** + * + * + * @generated + */ + protected PartialConstantInterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.PARTIAL_CONSTANT_INTERPRETATION; + } + + /** + * + * + * @generated + */ + public ConstantDeclaration getInterpretationOf() { + if (interpretationOf != null && interpretationOf.eIsProxy()) { + InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf; + interpretationOf = (ConstantDeclaration)eResolveProxy(oldInterpretationOf); + if (interpretationOf != oldInterpretationOf) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + } + return interpretationOf; + } + + /** + * + * + * @generated + */ + public ConstantDeclaration basicGetInterpretationOf() { + return interpretationOf; + } + + /** + * + * + * @generated + */ + public void setInterpretationOf(ConstantDeclaration newInterpretationOf) { + ConstantDeclaration oldInterpretationOf = interpretationOf; + interpretationOf = newInterpretationOf; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF: + if (resolve) return getInterpretationOf(); + return basicGetInterpretationOf(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((ConstantDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((ConstantDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF: + return interpretationOf != null; + } + return super.eIsSet(featureID); + } + +} //PartialConstantInterpretationImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java new file mode 100644 index 00000000..2d361e8e --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java @@ -0,0 +1,158 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Partial Function Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl#getInterpretationOf Interpretation Of}
  • + *
+ * + * @generated + */ +public class PartialFunctionInterpretationImpl extends MinimalEObjectImpl.Container implements PartialFunctionInterpretation { + /** + * The cached value of the '{@link #getInterpretationOf() Interpretation Of}' reference. + * + * + * @see #getInterpretationOf() + * @generated + * @ordered + */ + protected FunctionDeclaration interpretationOf; + + /** + * + * + * @generated + */ + protected PartialFunctionInterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.PARTIAL_FUNCTION_INTERPRETATION; + } + + /** + * + * + * @generated + */ + public FunctionDeclaration getInterpretationOf() { + if (interpretationOf != null && interpretationOf.eIsProxy()) { + InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf; + interpretationOf = (FunctionDeclaration)eResolveProxy(oldInterpretationOf); + if (interpretationOf != oldInterpretationOf) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + } + return interpretationOf; + } + + /** + * + * + * @generated + */ + public FunctionDeclaration basicGetInterpretationOf() { + return interpretationOf; + } + + /** + * + * + * @generated + */ + public void setInterpretationOf(FunctionDeclaration newInterpretationOf) { + FunctionDeclaration oldInterpretationOf = interpretationOf; + interpretationOf = newInterpretationOf; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF: + if (resolve) return getInterpretationOf(); + return basicGetInterpretationOf(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((FunctionDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((FunctionDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF: + return interpretationOf != null; + } + return super.eIsSet(featureID); + } + +} //PartialFunctionInterpretationImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java new file mode 100644 index 00000000..09690c79 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java @@ -0,0 +1,619 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Partial Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getProblem Problem}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialconstantinterpretation Partialconstantinterpretation}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialrelationinterpretation Partialrelationinterpretation}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialfunctioninterpretation Partialfunctioninterpretation}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getNewElements New Elements}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialtypeinterpratation Partialtypeinterpratation}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getMinNewElements Min New Elements}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getMaxNewElements Max New Elements}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getOpenWorldElementPrototype Open World Element Prototype}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getProblemConainer Problem Conainer}
  • + *
+ * + * @generated + */ +public class PartialInterpretationImpl extends MinimalEObjectImpl.Container implements PartialInterpretation { + /** + * The cached value of the '{@link #getProblem() Problem}' reference. + * + * + * @see #getProblem() + * @generated + * @ordered + */ + protected LogicProblem problem; + + /** + * The cached value of the '{@link #getPartialconstantinterpretation() Partialconstantinterpretation}' containment reference list. + * + * + * @see #getPartialconstantinterpretation() + * @generated + * @ordered + */ + protected EList partialconstantinterpretation; + + /** + * The cached value of the '{@link #getPartialrelationinterpretation() Partialrelationinterpretation}' containment reference list. + * + * + * @see #getPartialrelationinterpretation() + * @generated + * @ordered + */ + protected EList partialrelationinterpretation; + + /** + * The cached value of the '{@link #getPartialfunctioninterpretation() Partialfunctioninterpretation}' containment reference list. + * + * + * @see #getPartialfunctioninterpretation() + * @generated + * @ordered + */ + protected EList partialfunctioninterpretation; + + /** + * The cached value of the '{@link #getNewElements() New Elements}' containment reference list. + * + * + * @see #getNewElements() + * @generated + * @ordered + */ + protected EList newElements; + + /** + * The cached value of the '{@link #getPartialtypeinterpratation() Partialtypeinterpratation}' containment reference list. + * + * + * @see #getPartialtypeinterpratation() + * @generated + * @ordered + */ + protected EList partialtypeinterpratation; + + /** + * The default value of the '{@link #getMinNewElements() Min New Elements}' attribute. + * + * + * @see #getMinNewElements() + * @generated + * @ordered + */ + protected static final int MIN_NEW_ELEMENTS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getMinNewElements() Min New Elements}' attribute. + * + * + * @see #getMinNewElements() + * @generated + * @ordered + */ + protected int minNewElements = MIN_NEW_ELEMENTS_EDEFAULT; + + /** + * The default value of the '{@link #getMaxNewElements() Max New Elements}' attribute. + * + * + * @see #getMaxNewElements() + * @generated + * @ordered + */ + protected static final int MAX_NEW_ELEMENTS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getMaxNewElements() Max New Elements}' attribute. + * + * + * @see #getMaxNewElements() + * @generated + * @ordered + */ + protected int maxNewElements = MAX_NEW_ELEMENTS_EDEFAULT; + + /** + * The cached value of the '{@link #getOpenWorldElementPrototype() Open World Element Prototype}' containment reference. + * + * + * @see #getOpenWorldElementPrototype() + * @generated + * @ordered + */ + protected DefinedElement openWorldElementPrototype; + + /** + * The cached value of the '{@link #getProblemConainer() Problem Conainer}' containment reference. + * + * + * @see #getProblemConainer() + * @generated + * @ordered + */ + protected LogicProblem problemConainer; + + /** + * + * + * @generated + */ + protected PartialInterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.PARTIAL_INTERPRETATION; + } + + /** + * + * + * @generated + */ + public LogicProblem getProblem() { + if (problem != null && problem.eIsProxy()) { + InternalEObject oldProblem = (InternalEObject)problem; + problem = (LogicProblem)eResolveProxy(oldProblem); + if (problem != oldProblem) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM, oldProblem, problem)); + } + } + return problem; + } + + /** + * + * + * @generated + */ + public LogicProblem basicGetProblem() { + return problem; + } + + /** + * + * + * @generated + */ + public void setProblem(LogicProblem newProblem) { + LogicProblem oldProblem = problem; + problem = newProblem; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM, oldProblem, problem)); + } + + /** + * + * + * @generated + */ + public EList getPartialconstantinterpretation() { + if (partialconstantinterpretation == null) { + partialconstantinterpretation = new EObjectContainmentEList(PartialConstantInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION); + } + return partialconstantinterpretation; + } + + /** + * + * + * @generated + */ + public EList getPartialrelationinterpretation() { + if (partialrelationinterpretation == null) { + partialrelationinterpretation = new EObjectContainmentEList(PartialRelationInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION); + } + return partialrelationinterpretation; + } + + /** + * + * + * @generated + */ + public EList getPartialfunctioninterpretation() { + if (partialfunctioninterpretation == null) { + partialfunctioninterpretation = new EObjectContainmentEList(PartialFunctionInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION); + } + return partialfunctioninterpretation; + } + + /** + * + * + * @generated + */ + public EList getNewElements() { + if (newElements == null) { + newElements = new EObjectContainmentEList(DefinedElement.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS); + } + return newElements; + } + + /** + * + * + * @generated + */ + public EList getPartialtypeinterpratation() { + if (partialtypeinterpratation == null) { + partialtypeinterpratation = new EObjectContainmentEList(PartialTypeInterpratation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION); + } + return partialtypeinterpratation; + } + + /** + * + * + * @generated + */ + public int getMinNewElements() { + return minNewElements; + } + + /** + * + * + * @generated + */ + public void setMinNewElements(int newMinNewElements) { + int oldMinNewElements = minNewElements; + minNewElements = newMinNewElements; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS, oldMinNewElements, minNewElements)); + } + + /** + * + * + * @generated + */ + public int getMaxNewElements() { + return maxNewElements; + } + + /** + * + * + * @generated + */ + public void setMaxNewElements(int newMaxNewElements) { + int oldMaxNewElements = maxNewElements; + maxNewElements = newMaxNewElements; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS, oldMaxNewElements, maxNewElements)); + } + + /** + * + * + * @generated + */ + public DefinedElement getOpenWorldElementPrototype() { + return openWorldElementPrototype; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOpenWorldElementPrototype(DefinedElement newOpenWorldElementPrototype, NotificationChain msgs) { + DefinedElement oldOpenWorldElementPrototype = openWorldElementPrototype; + openWorldElementPrototype = newOpenWorldElementPrototype; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, oldOpenWorldElementPrototype, newOpenWorldElementPrototype); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setOpenWorldElementPrototype(DefinedElement newOpenWorldElementPrototype) { + if (newOpenWorldElementPrototype != openWorldElementPrototype) { + NotificationChain msgs = null; + if (openWorldElementPrototype != null) + msgs = ((InternalEObject)openWorldElementPrototype).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, null, msgs); + if (newOpenWorldElementPrototype != null) + msgs = ((InternalEObject)newOpenWorldElementPrototype).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, null, msgs); + msgs = basicSetOpenWorldElementPrototype(newOpenWorldElementPrototype, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, newOpenWorldElementPrototype, newOpenWorldElementPrototype)); + } + + /** + * + * + * @generated + */ + public LogicProblem getProblemConainer() { + return problemConainer; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetProblemConainer(LogicProblem newProblemConainer, NotificationChain msgs) { + LogicProblem oldProblemConainer = problemConainer; + problemConainer = newProblemConainer; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, oldProblemConainer, newProblemConainer); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setProblemConainer(LogicProblem newProblemConainer) { + if (newProblemConainer != problemConainer) { + NotificationChain msgs = null; + if (problemConainer != null) + msgs = ((InternalEObject)problemConainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, null, msgs); + if (newProblemConainer != null) + msgs = ((InternalEObject)newProblemConainer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, null, msgs); + msgs = basicSetProblemConainer(newProblemConainer, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, newProblemConainer, newProblemConainer)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION: + return ((InternalEList)getPartialconstantinterpretation()).basicRemove(otherEnd, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION: + return ((InternalEList)getPartialrelationinterpretation()).basicRemove(otherEnd, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION: + return ((InternalEList)getPartialfunctioninterpretation()).basicRemove(otherEnd, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS: + return ((InternalEList)getNewElements()).basicRemove(otherEnd, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION: + return ((InternalEList)getPartialtypeinterpratation()).basicRemove(otherEnd, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE: + return basicSetOpenWorldElementPrototype(null, msgs); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER: + return basicSetProblemConainer(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM: + if (resolve) return getProblem(); + return basicGetProblem(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION: + return getPartialconstantinterpretation(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION: + return getPartialrelationinterpretation(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION: + return getPartialfunctioninterpretation(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS: + return getNewElements(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION: + return getPartialtypeinterpratation(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS: + return getMinNewElements(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS: + return getMaxNewElements(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE: + return getOpenWorldElementPrototype(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER: + return getProblemConainer(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM: + setProblem((LogicProblem)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION: + getPartialconstantinterpretation().clear(); + getPartialconstantinterpretation().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION: + getPartialrelationinterpretation().clear(); + getPartialrelationinterpretation().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION: + getPartialfunctioninterpretation().clear(); + getPartialfunctioninterpretation().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS: + getNewElements().clear(); + getNewElements().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION: + getPartialtypeinterpratation().clear(); + getPartialtypeinterpratation().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS: + setMinNewElements((Integer)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS: + setMaxNewElements((Integer)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE: + setOpenWorldElementPrototype((DefinedElement)newValue); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER: + setProblemConainer((LogicProblem)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM: + setProblem((LogicProblem)null); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION: + getPartialconstantinterpretation().clear(); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION: + getPartialrelationinterpretation().clear(); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION: + getPartialfunctioninterpretation().clear(); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS: + getNewElements().clear(); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION: + getPartialtypeinterpratation().clear(); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS: + setMinNewElements(MIN_NEW_ELEMENTS_EDEFAULT); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS: + setMaxNewElements(MAX_NEW_ELEMENTS_EDEFAULT); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE: + setOpenWorldElementPrototype((DefinedElement)null); + return; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER: + setProblemConainer((LogicProblem)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM: + return problem != null; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION: + return partialconstantinterpretation != null && !partialconstantinterpretation.isEmpty(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION: + return partialrelationinterpretation != null && !partialrelationinterpretation.isEmpty(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION: + return partialfunctioninterpretation != null && !partialfunctioninterpretation.isEmpty(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS: + return newElements != null && !newElements.isEmpty(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION: + return partialtypeinterpratation != null && !partialtypeinterpratation.isEmpty(); + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS: + return minNewElements != MIN_NEW_ELEMENTS_EDEFAULT; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS: + return maxNewElements != MAX_NEW_ELEMENTS_EDEFAULT; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE: + return openWorldElementPrototype != null; + case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER: + return problemConainer != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (minNewElements: "); + result.append(minNewElements); + result.append(", maxNewElements: "); + result.append(maxNewElements); + result.append(')'); + return result.toString(); + } + +} //PartialInterpretationImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java new file mode 100644 index 00000000..71aef9af --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java @@ -0,0 +1,337 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Partial Relation Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getInterpretationOf Interpretation Of}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getRelationlinks Relationlinks}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getParam1 Param1}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getParam2 Param2}
  • + *
+ * + * @generated + */ +public class PartialRelationInterpretationImpl extends MinimalEObjectImpl.Container implements PartialRelationInterpretation { + /** + * The cached value of the '{@link #getInterpretationOf() Interpretation Of}' reference. + * + * + * @see #getInterpretationOf() + * @generated + * @ordered + */ + protected RelationDeclaration interpretationOf; + + /** + * The cached value of the '{@link #getRelationlinks() Relationlinks}' containment reference list. + * + * + * @see #getRelationlinks() + * @generated + * @ordered + */ + protected EList relationlinks; + + /** + * The cached value of the '{@link #getParam1() Param1}' reference. + * + * + * @see #getParam1() + * @generated + * @ordered + */ + protected TypeReference param1; + + /** + * The cached value of the '{@link #getParam2() Param2}' reference. + * + * + * @see #getParam2() + * @generated + * @ordered + */ + protected TypeReference param2; + + /** + * + * + * @generated + */ + protected PartialRelationInterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.PARTIAL_RELATION_INTERPRETATION; + } + + /** + * + * + * @generated + */ + public RelationDeclaration getInterpretationOf() { + if (interpretationOf != null && interpretationOf.eIsProxy()) { + InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf; + interpretationOf = (RelationDeclaration)eResolveProxy(oldInterpretationOf); + if (interpretationOf != oldInterpretationOf) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + } + return interpretationOf; + } + + /** + * + * + * @generated + */ + public RelationDeclaration basicGetInterpretationOf() { + return interpretationOf; + } + + /** + * + * + * @generated + */ + public void setInterpretationOf(RelationDeclaration newInterpretationOf) { + RelationDeclaration oldInterpretationOf = interpretationOf; + interpretationOf = newInterpretationOf; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + + /** + * + * + * @generated + */ + public EList getRelationlinks() { + if (relationlinks == null) { + relationlinks = new EObjectContainmentEList(RelationLink.class, this, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS); + } + return relationlinks; + } + + /** + * + * + * @generated + */ + public TypeReference getParam1() { + if (param1 != null && param1.eIsProxy()) { + InternalEObject oldParam1 = (InternalEObject)param1; + param1 = (TypeReference)eResolveProxy(oldParam1); + if (param1 != oldParam1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1, oldParam1, param1)); + } + } + return param1; + } + + /** + * + * + * @generated + */ + public TypeReference basicGetParam1() { + return param1; + } + + /** + * + * + * @generated + */ + public void setParam1(TypeReference newParam1) { + TypeReference oldParam1 = param1; + param1 = newParam1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1, oldParam1, param1)); + } + + /** + * + * + * @generated + */ + public TypeReference getParam2() { + if (param2 != null && param2.eIsProxy()) { + InternalEObject oldParam2 = (InternalEObject)param2; + param2 = (TypeReference)eResolveProxy(oldParam2); + if (param2 != oldParam2) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2, oldParam2, param2)); + } + } + return param2; + } + + /** + * + * + * @generated + */ + public TypeReference basicGetParam2() { + return param2; + } + + /** + * + * + * @generated + */ + public void setParam2(TypeReference newParam2) { + TypeReference oldParam2 = param2; + param2 = newParam2; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2, oldParam2, param2)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS: + return ((InternalEList)getRelationlinks()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF: + if (resolve) return getInterpretationOf(); + return basicGetInterpretationOf(); + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS: + return getRelationlinks(); + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1: + if (resolve) return getParam1(); + return basicGetParam1(); + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2: + if (resolve) return getParam2(); + return basicGetParam2(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((RelationDeclaration)newValue); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS: + getRelationlinks().clear(); + getRelationlinks().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1: + setParam1((TypeReference)newValue); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2: + setParam2((TypeReference)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF: + setInterpretationOf((RelationDeclaration)null); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS: + getRelationlinks().clear(); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1: + setParam1((TypeReference)null); + return; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2: + setParam2((TypeReference)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF: + return interpretationOf != null; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS: + return relationlinks != null && !relationlinks.isEmpty(); + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1: + return param1 != null; + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2: + return param2 != null; + } + return super.eIsSet(featureID); + } + +} //PartialRelationInterpretationImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java new file mode 100644 index 00000000..1090aaf7 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java @@ -0,0 +1,231 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; + +import java.util.Collection; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Partial Type Interpratation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getInterpretationOf Interpretation Of}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getElements Elements}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getSupertypeInterpretation Supertype Interpretation}
  • + *
+ * + * @generated + */ +public class PartialTypeInterpratationImpl extends MinimalEObjectImpl.Container implements PartialTypeInterpratation { + /** + * The cached value of the '{@link #getInterpretationOf() Interpretation Of}' reference. + * + * + * @see #getInterpretationOf() + * @generated + * @ordered + */ + protected TypeDeclaration interpretationOf; + + /** + * The cached value of the '{@link #getElements() Elements}' reference list. + * + * + * @see #getElements() + * @generated + * @ordered + */ + protected EList elements; + + /** + * The cached value of the '{@link #getSupertypeInterpretation() Supertype Interpretation}' reference list. + * + * + * @see #getSupertypeInterpretation() + * @generated + * @ordered + */ + protected EList supertypeInterpretation; + + /** + * + * + * @generated + */ + protected PartialTypeInterpratationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.PARTIAL_TYPE_INTERPRATATION; + } + + /** + * + * + * @generated + */ + public TypeDeclaration getInterpretationOf() { + if (interpretationOf != null && interpretationOf.eIsProxy()) { + InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf; + interpretationOf = (TypeDeclaration)eResolveProxy(oldInterpretationOf); + if (interpretationOf != oldInterpretationOf) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + } + return interpretationOf; + } + + /** + * + * + * @generated + */ + public TypeDeclaration basicGetInterpretationOf() { + return interpretationOf; + } + + /** + * + * + * @generated + */ + public void setInterpretationOf(TypeDeclaration newInterpretationOf) { + TypeDeclaration oldInterpretationOf = interpretationOf; + interpretationOf = newInterpretationOf; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf)); + } + + /** + * + * + * @generated + */ + public EList getElements() { + if (elements == null) { + elements = new EObjectResolvingEList(DefinedElement.class, this, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS); + } + return elements; + } + + /** + * + * + * @generated + */ + public EList getSupertypeInterpretation() { + if (supertypeInterpretation == null) { + supertypeInterpretation = new EObjectResolvingEList(PartialTypeInterpratation.class, this, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION); + } + return supertypeInterpretation; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF: + if (resolve) return getInterpretationOf(); + return basicGetInterpretationOf(); + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS: + return getElements(); + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION: + return getSupertypeInterpretation(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF: + setInterpretationOf((TypeDeclaration)newValue); + return; + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS: + getElements().clear(); + getElements().addAll((Collection)newValue); + return; + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION: + getSupertypeInterpretation().clear(); + getSupertypeInterpretation().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF: + setInterpretationOf((TypeDeclaration)null); + return; + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS: + getElements().clear(); + return; + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION: + getSupertypeInterpretation().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF: + return interpretationOf != null; + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS: + return elements != null && !elements.isEmpty(); + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION: + return supertypeInterpretation != null && !supertypeInterpretation.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //PartialTypeInterpratationImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java new file mode 100644 index 00000000..99ab7830 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java @@ -0,0 +1,183 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class PartialinterpretationFactoryImpl extends EFactoryImpl implements PartialinterpretationFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static PartialinterpretationFactory init() { + try { + PartialinterpretationFactory thePartialinterpretationFactory = (PartialinterpretationFactory)EPackage.Registry.INSTANCE.getEFactory(PartialinterpretationPackage.eNS_URI); + if (thePartialinterpretationFactory != null) { + return thePartialinterpretationFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new PartialinterpretationFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public PartialinterpretationFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION: return createPartialInterpretation(); + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION: return createPartialConstantInterpretation(); + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION: return createPartialRelationInterpretation(); + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION: return createPartialFunctionInterpretation(); + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION: return createPartialTypeInterpratation(); + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK: return createUnaryElementRelationLink(); + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK: return createBinaryElementRelationLink(); + case PartialinterpretationPackage.NARY_RELATION_LINK: return createNaryRelationLink(); + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT: return createNaryRelationLinkElement(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public PartialInterpretation createPartialInterpretation() { + PartialInterpretationImpl partialInterpretation = new PartialInterpretationImpl(); + return partialInterpretation; + } + + /** + * + * + * @generated + */ + public PartialConstantInterpretation createPartialConstantInterpretation() { + PartialConstantInterpretationImpl partialConstantInterpretation = new PartialConstantInterpretationImpl(); + return partialConstantInterpretation; + } + + /** + * + * + * @generated + */ + public PartialRelationInterpretation createPartialRelationInterpretation() { + PartialRelationInterpretationImpl partialRelationInterpretation = new PartialRelationInterpretationImpl(); + return partialRelationInterpretation; + } + + /** + * + * + * @generated + */ + public PartialFunctionInterpretation createPartialFunctionInterpretation() { + PartialFunctionInterpretationImpl partialFunctionInterpretation = new PartialFunctionInterpretationImpl(); + return partialFunctionInterpretation; + } + + /** + * + * + * @generated + */ + public PartialTypeInterpratation createPartialTypeInterpratation() { + PartialTypeInterpratationImpl partialTypeInterpratation = new PartialTypeInterpratationImpl(); + return partialTypeInterpratation; + } + + /** + * + * + * @generated + */ + public UnaryElementRelationLink createUnaryElementRelationLink() { + UnaryElementRelationLinkImpl unaryElementRelationLink = new UnaryElementRelationLinkImpl(); + return unaryElementRelationLink; + } + + /** + * + * + * @generated + */ + public BinaryElementRelationLink createBinaryElementRelationLink() { + BinaryElementRelationLinkImpl binaryElementRelationLink = new BinaryElementRelationLinkImpl(); + return binaryElementRelationLink; + } + + /** + * + * + * @generated + */ + public NaryRelationLink createNaryRelationLink() { + NaryRelationLinkImpl naryRelationLink = new NaryRelationLinkImpl(); + return naryRelationLink; + } + + /** + * + * + * @generated + */ + public NaryRelationLinkElement createNaryRelationLinkElement() { + NaryRelationLinkElementImpl naryRelationLinkElement = new NaryRelationLinkElementImpl(); + return naryRelationLinkElement; + } + + /** + * + * + * @generated + */ + public PartialinterpretationPackage getPartialinterpretationPackage() { + return (PartialinterpretationPackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static PartialinterpretationPackage getPackage() { + return PartialinterpretationPackage.eINSTANCE; + } + +} //PartialinterpretationFactoryImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java new file mode 100644 index 00000000..65d73721 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java @@ -0,0 +1,635 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage; + +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class PartialinterpretationPackageImpl extends EPackageImpl implements PartialinterpretationPackage { + /** + * + * + * @generated + */ + private EClass partialInterpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass partialConstantInterpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass partialRelationInterpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass partialFunctionInterpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass partialTypeInterpratationEClass = null; + + /** + * + * + * @generated + */ + private EClass relationLinkEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryElementRelationLinkEClass = null; + + /** + * + * + * @generated + */ + private EClass binaryElementRelationLinkEClass = null; + + /** + * + * + * @generated + */ + private EClass naryRelationLinkEClass = null; + + /** + * + * + * @generated + */ + private EClass naryRelationLinkElementEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#eNS_URI + * @see #init() + * @generated + */ + private PartialinterpretationPackageImpl() { + super(eNS_URI, PartialinterpretationFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link PartialinterpretationPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PartialinterpretationPackage init() { + if (isInited) return (PartialinterpretationPackage)EPackage.Registry.INSTANCE.getEPackage(PartialinterpretationPackage.eNS_URI); + + // Obtain or create and register package + PartialinterpretationPackageImpl thePartialinterpretationPackage = (PartialinterpretationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PartialinterpretationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PartialinterpretationPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + LogiclanguagePackage.eINSTANCE.eClass(); + LogicproblemPackage.eINSTANCE.eClass(); + + // Create package meta-data objects + thePartialinterpretationPackage.createPackageContents(); + + // Initialize created meta-data + thePartialinterpretationPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePartialinterpretationPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PartialinterpretationPackage.eNS_URI, thePartialinterpretationPackage); + return thePartialinterpretationPackage; + } + + /** + * + * + * @generated + */ + public EClass getPartialInterpretation() { + return partialInterpretationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_Problem() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_Partialconstantinterpretation() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_Partialrelationinterpretation() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_Partialfunctioninterpretation() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_NewElements() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_Partialtypeinterpratation() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EAttribute getPartialInterpretation_MinNewElements() { + return (EAttribute)partialInterpretationEClass.getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + public EAttribute getPartialInterpretation_MaxNewElements() { + return (EAttribute)partialInterpretationEClass.getEStructuralFeatures().get(7); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_OpenWorldElementPrototype() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(8); + } + + /** + * + * + * @generated + */ + public EReference getPartialInterpretation_ProblemConainer() { + return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(9); + } + + /** + * + * + * @generated + */ + public EClass getPartialConstantInterpretation() { + return partialConstantInterpretationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPartialConstantInterpretation_InterpretationOf() { + return (EReference)partialConstantInterpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPartialRelationInterpretation() { + return partialRelationInterpretationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPartialRelationInterpretation_InterpretationOf() { + return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPartialRelationInterpretation_Relationlinks() { + return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getPartialRelationInterpretation_Param1() { + return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getPartialRelationInterpretation_Param2() { + return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getPartialFunctionInterpretation() { + return partialFunctionInterpretationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPartialFunctionInterpretation_InterpretationOf() { + return (EReference)partialFunctionInterpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPartialTypeInterpratation() { + return partialTypeInterpratationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPartialTypeInterpratation_InterpretationOf() { + return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPartialTypeInterpratation_Elements() { + return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getPartialTypeInterpratation_SupertypeInterpretation() { + return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getRelationLink() { + return relationLinkEClass; + } + + /** + * + * + * @generated + */ + public EClass getUnaryElementRelationLink() { + return unaryElementRelationLinkEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryElementRelationLink_Param1() { + return (EReference)unaryElementRelationLinkEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getBinaryElementRelationLink() { + return binaryElementRelationLinkEClass; + } + + /** + * + * + * @generated + */ + public EReference getBinaryElementRelationLink_Param1() { + return (EReference)binaryElementRelationLinkEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getBinaryElementRelationLink_Param2() { + return (EReference)binaryElementRelationLinkEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getNaryRelationLink() { + return naryRelationLinkEClass; + } + + /** + * + * + * @generated + */ + public EReference getNaryRelationLink_Elements() { + return (EReference)naryRelationLinkEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNaryRelationLinkElement() { + return naryRelationLinkElementEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNaryRelationLinkElement_Index() { + return (EAttribute)naryRelationLinkElementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public PartialinterpretationFactory getPartialinterpretationFactory() { + return (PartialinterpretationFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + partialInterpretationEClass = createEClass(PARTIAL_INTERPRETATION); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PROBLEM); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__NEW_ELEMENTS); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION); + createEAttribute(partialInterpretationEClass, PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS); + createEAttribute(partialInterpretationEClass, PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE); + createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PROBLEM_CONAINER); + + partialConstantInterpretationEClass = createEClass(PARTIAL_CONSTANT_INTERPRETATION); + createEReference(partialConstantInterpretationEClass, PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF); + + partialRelationInterpretationEClass = createEClass(PARTIAL_RELATION_INTERPRETATION); + createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF); + createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS); + createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__PARAM1); + createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__PARAM2); + + partialFunctionInterpretationEClass = createEClass(PARTIAL_FUNCTION_INTERPRETATION); + createEReference(partialFunctionInterpretationEClass, PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF); + + partialTypeInterpratationEClass = createEClass(PARTIAL_TYPE_INTERPRATATION); + createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF); + createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__ELEMENTS); + createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION); + + relationLinkEClass = createEClass(RELATION_LINK); + + unaryElementRelationLinkEClass = createEClass(UNARY_ELEMENT_RELATION_LINK); + createEReference(unaryElementRelationLinkEClass, UNARY_ELEMENT_RELATION_LINK__PARAM1); + + binaryElementRelationLinkEClass = createEClass(BINARY_ELEMENT_RELATION_LINK); + createEReference(binaryElementRelationLinkEClass, BINARY_ELEMENT_RELATION_LINK__PARAM1); + createEReference(binaryElementRelationLinkEClass, BINARY_ELEMENT_RELATION_LINK__PARAM2); + + naryRelationLinkEClass = createEClass(NARY_RELATION_LINK); + createEReference(naryRelationLinkEClass, NARY_RELATION_LINK__ELEMENTS); + + naryRelationLinkElementEClass = createEClass(NARY_RELATION_LINK_ELEMENT); + createEAttribute(naryRelationLinkElementEClass, NARY_RELATION_LINK_ELEMENT__INDEX); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI); + LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + unaryElementRelationLinkEClass.getESuperTypes().add(this.getRelationLink()); + binaryElementRelationLinkEClass.getESuperTypes().add(this.getRelationLink()); + naryRelationLinkEClass.getESuperTypes().add(this.getRelationLink()); + + // Initialize classes, features, and operations; add parameters + initEClass(partialInterpretationEClass, PartialInterpretation.class, "PartialInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPartialInterpretation_Problem(), theLogicproblemPackage.getLogicProblem(), null, "problem", null, 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_Partialconstantinterpretation(), this.getPartialConstantInterpretation(), null, "partialconstantinterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_Partialrelationinterpretation(), this.getPartialRelationInterpretation(), null, "partialrelationinterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_Partialfunctioninterpretation(), this.getPartialFunctionInterpretation(), null, "partialfunctioninterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_NewElements(), theLogiclanguagePackage.getDefinedElement(), null, "newElements", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_Partialtypeinterpratation(), this.getPartialTypeInterpratation(), null, "partialtypeinterpratation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPartialInterpretation_MinNewElements(), ecorePackage.getEInt(), "minNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPartialInterpretation_MaxNewElements(), ecorePackage.getEInt(), "maxNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_OpenWorldElementPrototype(), theLogiclanguagePackage.getDefinedElement(), null, "openWorldElementPrototype", null, 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialInterpretation_ProblemConainer(), theLogicproblemPackage.getLogicProblem(), null, "problemConainer", null, 0, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(partialConstantInterpretationEClass, PartialConstantInterpretation.class, "PartialConstantInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPartialConstantInterpretation_InterpretationOf(), theLogiclanguagePackage.getConstantDeclaration(), null, "interpretationOf", null, 1, 1, PartialConstantInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(partialRelationInterpretationEClass, PartialRelationInterpretation.class, "PartialRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPartialRelationInterpretation_InterpretationOf(), theLogiclanguagePackage.getRelationDeclaration(), null, "interpretationOf", null, 1, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialRelationInterpretation_Relationlinks(), this.getRelationLink(), null, "relationlinks", null, 0, -1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialRelationInterpretation_Param1(), theLogiclanguagePackage.getTypeReference(), null, "param1", null, 0, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialRelationInterpretation_Param2(), theLogiclanguagePackage.getTypeReference(), null, "param2", null, 0, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(partialFunctionInterpretationEClass, PartialFunctionInterpretation.class, "PartialFunctionInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPartialFunctionInterpretation_InterpretationOf(), theLogiclanguagePackage.getFunctionDeclaration(), null, "interpretationOf", null, 1, 1, PartialFunctionInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(partialTypeInterpratationEClass, PartialTypeInterpratation.class, "PartialTypeInterpratation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPartialTypeInterpratation_InterpretationOf(), theLogiclanguagePackage.getTypeDeclaration(), null, "interpretationOf", null, 1, 1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialTypeInterpratation_Elements(), theLogiclanguagePackage.getDefinedElement(), null, "elements", null, 0, -1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPartialTypeInterpratation_SupertypeInterpretation(), this.getPartialTypeInterpratation(), null, "supertypeInterpretation", null, 0, -1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(relationLinkEClass, RelationLink.class, "RelationLink", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(unaryElementRelationLinkEClass, UnaryElementRelationLink.class, "UnaryElementRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getUnaryElementRelationLink_Param1(), theLogiclanguagePackage.getDefinedElement(), null, "param1", null, 1, 1, UnaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(binaryElementRelationLinkEClass, BinaryElementRelationLink.class, "BinaryElementRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getBinaryElementRelationLink_Param1(), theLogiclanguagePackage.getDefinedElement(), null, "param1", null, 1, 1, BinaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getBinaryElementRelationLink_Param2(), theLogiclanguagePackage.getDefinedElement(), null, "param2", null, 1, 1, BinaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(naryRelationLinkEClass, NaryRelationLink.class, "NaryRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getNaryRelationLink_Elements(), this.getNaryRelationLinkElement(), null, "elements", null, 0, -1, NaryRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(naryRelationLinkElementEClass, NaryRelationLinkElement.class, "NaryRelationLinkElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNaryRelationLinkElement_Index(), ecorePackage.getEInt(), "index", null, 0, 1, NaryRelationLinkElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //PartialinterpretationPackageImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java new file mode 100644 index 00000000..5eda35c7 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java @@ -0,0 +1,39 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Relation Link'. + * + * + * @generated + */ +public abstract class RelationLinkImpl extends MinimalEObjectImpl.Container implements RelationLink { + /** + * + * + * @generated + */ + protected RelationLinkImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.RELATION_LINK; + } + +} //RelationLinkImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java new file mode 100644 index 00000000..2cb56323 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java @@ -0,0 +1,157 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl; + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Unary Element Relation Link'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl#getParam1 Param1}
  • + *
+ * + * @generated + */ +public class UnaryElementRelationLinkImpl extends RelationLinkImpl implements UnaryElementRelationLink { + /** + * The cached value of the '{@link #getParam1() Param1}' reference. + * + * + * @see #getParam1() + * @generated + * @ordered + */ + protected DefinedElement param1; + + /** + * + * + * @generated + */ + protected UnaryElementRelationLinkImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PartialinterpretationPackage.Literals.UNARY_ELEMENT_RELATION_LINK; + } + + /** + * + * + * @generated + */ + public DefinedElement getParam1() { + if (param1 != null && param1.eIsProxy()) { + InternalEObject oldParam1 = (InternalEObject)param1; + param1 = (DefinedElement)eResolveProxy(oldParam1); + if (param1 != oldParam1) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1)); + } + } + return param1; + } + + /** + * + * + * @generated + */ + public DefinedElement basicGetParam1() { + return param1; + } + + /** + * + * + * @generated + */ + public void setParam1(DefinedElement newParam1) { + DefinedElement oldParam1 = param1; + param1 = newParam1; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1: + if (resolve) return getParam1(); + return basicGetParam1(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1: + setParam1((DefinedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1: + setParam1((DefinedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1: + return param1 != null; + } + return super.eIsSet(featureID); + } + +} //UnaryElementRelationLinkImpl diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java new file mode 100644 index 00000000..628d56eb --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java @@ -0,0 +1,282 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage + * @generated + */ +public class PartialinterpretationAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static PartialinterpretationPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public PartialinterpretationAdapterFactory() { + if (modelPackage == null) { + modelPackage = PartialinterpretationPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected PartialinterpretationSwitch modelSwitch = + new PartialinterpretationSwitch() { + @Override + public Adapter casePartialInterpretation(PartialInterpretation object) { + return createPartialInterpretationAdapter(); + } + @Override + public Adapter casePartialConstantInterpretation(PartialConstantInterpretation object) { + return createPartialConstantInterpretationAdapter(); + } + @Override + public Adapter casePartialRelationInterpretation(PartialRelationInterpretation object) { + return createPartialRelationInterpretationAdapter(); + } + @Override + public Adapter casePartialFunctionInterpretation(PartialFunctionInterpretation object) { + return createPartialFunctionInterpretationAdapter(); + } + @Override + public Adapter casePartialTypeInterpratation(PartialTypeInterpratation object) { + return createPartialTypeInterpratationAdapter(); + } + @Override + public Adapter caseRelationLink(RelationLink object) { + return createRelationLinkAdapter(); + } + @Override + public Adapter caseUnaryElementRelationLink(UnaryElementRelationLink object) { + return createUnaryElementRelationLinkAdapter(); + } + @Override + public Adapter caseBinaryElementRelationLink(BinaryElementRelationLink object) { + return createBinaryElementRelationLinkAdapter(); + } + @Override + public Adapter caseNaryRelationLink(NaryRelationLink object) { + return createNaryRelationLinkAdapter(); + } + @Override + public Adapter caseNaryRelationLinkElement(NaryRelationLinkElement object) { + return createNaryRelationLinkElementAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation Partial Interpretation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation + * @generated + */ + public Adapter createPartialInterpretationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation Partial Constant Interpretation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation + * @generated + */ + public Adapter createPartialConstantInterpretationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation Partial Relation Interpretation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation + * @generated + */ + public Adapter createPartialRelationInterpretationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation Partial Function Interpretation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation + * @generated + */ + public Adapter createPartialFunctionInterpretationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation Partial Type Interpratation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation + * @generated + */ + public Adapter createPartialTypeInterpratationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink Relation Link}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink + * @generated + */ + public Adapter createRelationLinkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink Unary Element Relation Link}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink + * @generated + */ + public Adapter createUnaryElementRelationLinkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink Binary Element Relation Link}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink + * @generated + */ + public Adapter createBinaryElementRelationLinkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink Nary Relation Link}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink + * @generated + */ + public Adapter createNaryRelationLinkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement Nary Relation Link Element}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement + * @generated + */ + public Adapter createNaryRelationLinkElementAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //PartialinterpretationAdapterFactory diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java new file mode 100644 index 00000000..f99b2d76 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java @@ -0,0 +1,302 @@ +/** + */ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util; + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage + * @generated + */ +public class PartialinterpretationSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static PartialinterpretationPackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public PartialinterpretationSwitch() { + if (modelPackage == null) { + modelPackage = PartialinterpretationPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case PartialinterpretationPackage.PARTIAL_INTERPRETATION: { + PartialInterpretation partialInterpretation = (PartialInterpretation)theEObject; + T result = casePartialInterpretation(partialInterpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION: { + PartialConstantInterpretation partialConstantInterpretation = (PartialConstantInterpretation)theEObject; + T result = casePartialConstantInterpretation(partialConstantInterpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION: { + PartialRelationInterpretation partialRelationInterpretation = (PartialRelationInterpretation)theEObject; + T result = casePartialRelationInterpretation(partialRelationInterpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION: { + PartialFunctionInterpretation partialFunctionInterpretation = (PartialFunctionInterpretation)theEObject; + T result = casePartialFunctionInterpretation(partialFunctionInterpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION: { + PartialTypeInterpratation partialTypeInterpratation = (PartialTypeInterpratation)theEObject; + T result = casePartialTypeInterpratation(partialTypeInterpratation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.RELATION_LINK: { + RelationLink relationLink = (RelationLink)theEObject; + T result = caseRelationLink(relationLink); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK: { + UnaryElementRelationLink unaryElementRelationLink = (UnaryElementRelationLink)theEObject; + T result = caseUnaryElementRelationLink(unaryElementRelationLink); + if (result == null) result = caseRelationLink(unaryElementRelationLink); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK: { + BinaryElementRelationLink binaryElementRelationLink = (BinaryElementRelationLink)theEObject; + T result = caseBinaryElementRelationLink(binaryElementRelationLink); + if (result == null) result = caseRelationLink(binaryElementRelationLink); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.NARY_RELATION_LINK: { + NaryRelationLink naryRelationLink = (NaryRelationLink)theEObject; + T result = caseNaryRelationLink(naryRelationLink); + if (result == null) result = caseRelationLink(naryRelationLink); + if (result == null) result = defaultCase(theEObject); + return result; + } + case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT: { + NaryRelationLinkElement naryRelationLinkElement = (NaryRelationLinkElement)theEObject; + T result = caseNaryRelationLinkElement(naryRelationLinkElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Partial Interpretation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Partial Interpretation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePartialInterpretation(PartialInterpretation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Partial Constant Interpretation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Partial Constant Interpretation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePartialConstantInterpretation(PartialConstantInterpretation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Partial Relation Interpretation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Partial Relation Interpretation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePartialRelationInterpretation(PartialRelationInterpretation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Partial Function Interpretation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Partial Function Interpretation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePartialFunctionInterpretation(PartialFunctionInterpretation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Partial Type Interpratation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Partial Type Interpratation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePartialTypeInterpratation(PartialTypeInterpratation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Relation Link'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Relation Link'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRelationLink(RelationLink object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Element Relation Link'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Element Relation Link'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryElementRelationLink(UnaryElementRelationLink object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Binary Element Relation Link'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Binary Element Relation Link'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBinaryElementRelationLink(BinaryElementRelationLink object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Nary Relation Link'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Nary Relation Link'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaryRelationLink(NaryRelationLink object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Nary Relation Link Element'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Nary Relation Link Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaryRelationLinkElement(NaryRelationLinkElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //PartialinterpretationSwitch diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird new file mode 100644 index 00000000..319af04b --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird @@ -0,0 +1,2710 @@ + + + PartialInterpretation.ecore + platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore + platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore + http://www.eclipse.org/emf/2002/Ecore + + + + + + + + bold + + + + + + + + + bold + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + bold + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + labelSize + bold + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + bold + + + + + + + + + bold + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + bold + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + bold + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + bold + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + labelSize + bold + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + bold + + + + + + + + + bold + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + bold + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + labelSize + bold + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + bold + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + bold + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + labelSize + bold + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + italic + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + bold + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + labelSize + + + labelSize + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + bold + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore new file mode 100644 index 00000000..fd7ca595 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel new file mode 100644 index 00000000..e244d0cd --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel @@ -0,0 +1,49 @@ + + + PartialInterpretation.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties new file mode 100644 index 00000000..41436684 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = PartialInterpretation Model +providerName = www.example.org diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml new file mode 100644 index 00000000..b9248505 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend new file mode 100644 index 00000000..eeccbf76 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend @@ -0,0 +1,112 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage + +import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem +import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory +import java.util.HashMap +import java.util.Map +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine +import org.eclipse.viatra.query.runtime.emf.EMFScope +import org.eclipse.xtend.lib.annotations.Data + +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* + +@Data class Problem2PartialInterpretationTrace { + Map type2Interpretation = new HashMap + Map relation2Interpretation = new HashMap +} + +class PartialInterpretationInitialiser { + val extension PartialinterpretationFactory factory = PartialinterpretationFactory.eINSTANCE + val extension LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE + + /** + * Initialises an empty partial interpretation from a logic problem + */ + def TracedOutput initialisePartialInterpretation( + LogicProblem problem, + int minNewElement, int maxNewElement) + { + val engine = ViatraQueryEngine.on(new EMFScope(problem)) + val trace = new Problem2PartialInterpretationTrace + + val res = createPartialInterpretation => [ + it.problem = problem + it.openWorldElementPrototype = createDefinedElement => [it.name = "Symbolic New Element"] + it.minNewElements = minNewElement + it.maxNewElements = maxNewElement + + for(typeDeclaration : problem.types.filter(TypeDeclaration)) { + it.partialtypeinterpratation += typeDeclaration.initialisePartialTypeInterpretation(engine,trace) + } + problem.connectSuperypes(trace) + + it.partialrelationinterpretation += problem.relations.filter(RelationDeclaration) + .map[initialisePartialRelationInterpretation(trace)] + it.partialfunctioninterpretation += problem.functions.filter(FunctionDeclaration) + .map[initialisePartialFunctionInterpretation(trace)] + it.partialconstantinterpretation += problem.constants.filter(ConstantDeclaration) + .map[initialisePartialConstantDeclaration(trace)] + ] + + return new TracedOutput(res,trace) + } + + /** + * Initialize type with existing elements + */ + def private initialisePartialTypeInterpretation(TypeDeclaration t, ViatraQueryEngine engine, Problem2PartialInterpretationTrace trace) { + val supertypeMatcher = SupertypeStarMatcher.on(engine) + val res = createPartialTypeInterpratation => [ + it.interpretationOf = t + it.elements += supertypeMatcher.getAllValuesOfsubtype(t) + .filter(TypeDefinition) + .map[elements].flatten + ] + trace.type2Interpretation.put(t,res) + return res + } + + def private connectSuperypes(LogicProblem problem, Problem2PartialInterpretationTrace trace) { + for(typeDeclaration : problem.types.filter(TypeDeclaration)) { + val supertypes = typeDeclaration.transitiveClosurePlus[it.supertypes] + for(supertype : supertypes.filter(TypeDeclaration)) { + typeDeclaration.lookup(trace.type2Interpretation).supertypeInterpretation += supertype.lookup(trace.type2Interpretation) + //println('''«typeDeclaration.name» --> «supertype.name»''') + } + } + } + + def private initialisePartialRelationInterpretation(RelationDeclaration r, Problem2PartialInterpretationTrace trace) { + val res = createPartialRelationInterpretation => [ + it.interpretationOf = r + if(r.parameters.size==2) { + it.param1 = r.parameters.get(0) + it.param2 = r.parameters.get(1) + } else throw new UnsupportedOperationException + ] + trace.relation2Interpretation.put(r,res) + return res + } + + def private PartialConstantInterpretation initialisePartialConstantDeclaration(ConstantDeclaration c, Problem2PartialInterpretationTrace trace) { + throw new UnsupportedOperationException + } + + def private PartialFunctionInterpretation initialisePartialFunctionInterpretation(FunctionDeclaration f, Problem2PartialInterpretationTrace trace) { + throw new UnsupportedOperationException + } +} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend new file mode 100644 index 00000000..41482b28 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend @@ -0,0 +1,214 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import java.util.HashMap +import java.util.Map +import java.util.Set +import org.eclipse.xtend.lib.annotations.Data + +@Data abstract class AbstractNodeDescriptor { + long dataHash + +// @Pure +// @Override +// override public boolean equals(Object obj) { +// if (this === obj) +// return true; +// if (obj === null) +// return false; +// if (getClass() != obj.getClass()) +// return false; +// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor; +// if (other.dataHash != this.dataHash) +// return false; +// return true; +// } +} + +@Data class LocalNodeDescriptor extends AbstractNodeDescriptor{ + Set types + String id; + new(String id, Set types) { + super(calcualteDataHash(id,types)) + this.types = types + this.id = id + } + + def private static calcualteDataHash(String id, Set types) { + val int prime = 31; + var result = 0 + if(id !== null) + result = id.hashCode(); + if(types !== null) { + result = prime * result + types.hashCode + } + return result + } + + override hashCode() { + return this.dataHash.hashCode + } + + override toString() { + return class.name + this.dataHash + } + +// @Pure +// @Override +// override public boolean equals(Object obj) { +// if (this === obj) +// return true; +// if (obj === null) +// return false; +// if (getClass() != obj.getClass()) +// return false; +// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor; +// if (other.dataHash != this.dataHash) +// return false; +// return true; +// } + +// @Pure +// override public boolean equals(Object obj) { +// if (this === obj) +// return true; +// if (obj === null) +// return false; +// if (getClass() != obj.getClass()) +// return false; +// if (!super.equals(obj)) +// return false; +// val LocalNodeDescriptor other = obj as LocalNodeDescriptor; +// if (this.clazz === null) { +// if (other.clazz != null) +// return false; +// } else if (!this.clazz.equals(other.clazz)) +// return false; +// return true; +// } +} + +@Data class IncomingRelation { + FROM from + String type +} + +@Data class OutgoingRelation { + TO to + String type +} + +@Data class FurtherNodeDescriptor extends AbstractNodeDescriptor{ + + NodeRep previousRepresentation + Map,Integer> incomingEdges + Map,Integer> outgoingEdges + + new( + NodeRep previousRepresentation, + Map,Integer> incomingEdges, + Map,Integer> outgoingEdges) + { + super(calculateDataHash(previousRepresentation,incomingEdges,outgoingEdges)) + this.previousRepresentation = previousRepresentation + this.incomingEdges = new HashMap(incomingEdges) + this.outgoingEdges = new HashMap(outgoingEdges) + } + + static def private int calculateDataHash( + NodeRep previousRepresentation, + Map,Integer> incomingEdges, + Map,Integer> outgoingEdges) + { + val int prime = 31; + var int result = previousRepresentation.hashCode; + if(incomingEdges !== null) + result = prime * result + incomingEdges.hashCode(); + if(outgoingEdges !== null) + result = prime * result + outgoingEdges.hashCode(); + return result; + } + + override hashCode() { + return this.dataHash.hashCode + } + + override toString() { + return class.name + dataHash +// return '''[«previousRepresentation»,(«FOR +// in: incomingEdges.entrySet»(«in.key.type.name»=«in.key.from»,«in.value»)«ENDFOR»),(«FOR +// out: outgoingEdges.entrySet»(«out.key.type.name»=«out.key.to»,«out.value»)«ENDFOR»),«FOR +// att: attributeValues»(«att.type.name»=«att.value»)«ENDFOR»]''' + } + +// @Pure +// @Override +// override public boolean equals(Object obj) { +// if (this === obj) +// return true; +// if (obj === null) +// return false; +// if (getClass() != obj.getClass()) +// return false; +// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor; +// if (other.dataHash != this.dataHash) +// return false; +// return true; +// } + +// @Pure +// override public boolean equals(Object obj) { +// if (this === obj) +// return true; +// if (obj === null) +// return false; +// if (getClass() != obj.getClass()) +// return false; +// if (!super.equals(obj)) +// return false; +// val FurtherNodeDescriptor other = obj as FurtherNodeDescriptor; +// if (this.previousRepresentation === null) { +// if (other.previousRepresentation != null) +// return false; +// +// } +//// } else if (!this.previousRepresentation.equals(other.previousRepresentation)) +//// return false; +// if (this.incomingEdges === null) { +// if (other.incomingEdges != null) +// return false; +// } else if (!this.incomingEdges.equals(other.incomingEdges)) +// return false; +// if (this.outgoingEdges === null) { +// if (other.outgoingEdges != null) +// return false; +// } else if (!this.outgoingEdges.equals(other.outgoingEdges)) +// return false; +// if (this.attributeValues === null) { +// if (other.attributeValues != null) +// return false; +// } else if (!this.attributeValues.equals(other.attributeValues)) +// return false; +// return true; +// } +} + +/* +@Data +class ModelDescriptor { + int dataHash + int unknownElements + Map knownElements + + public new(Map knownElements, int unknownElements) { + this.dataHash = calculateDataHash(knownElements,unknownElements) + this.unknownElements = unknownElements + this.knownElements = knownElements + } + + def private static calculateDataHash(Map knownElements, int unknownElements) + { + val int prime = 31; + return knownElements.hashCode * prime + unknownElements.hashCode + } +} +*/ \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend new file mode 100644 index 00000000..22e890a2 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend @@ -0,0 +1,16 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import java.util.Map +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement + +class FurtherNodeDescriptorWithEquivalenceCounter extends FurtherNodeDescriptor { + + new(AbstractNodeDescriptor previousRepresentation, + Map, Integer> incomingEdges, + Map, Integer> outgoingEdges, + Map> node2Representation) + { + super(previousRepresentation, incomingEdges, outgoingEdges) + } + +} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend new file mode 100644 index 00000000..76cc4ae1 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend @@ -0,0 +1,11 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import java.util.Map +import org.eclipse.xtend.lib.annotations.Data + +@Data class NeighbourhoodWithTraces { + ModelRep modelRepresentation + Map nodeRepresentations + NeighbourhoodWithTraces previousRepresentation +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend new file mode 100644 index 00000000..d474877d --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend @@ -0,0 +1,25 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import java.util.Map +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement + +class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepresentation{ + + protected new() { + super(false, true) + } + + override protected createLocalRepresentation(Map node2Representation, Map representation2Amount) { + return new NeighbourhoodWithTraces( + representation2Amount.hashCode,node2Representation.mapValues[it.hashCode], + null) + } + + override protected createFurtherRepresentation(Map, Integer> nodeDescriptors, Map> node2Representation, NeighbourhoodWithTraces previous, boolean deepRepresentation) { + return new NeighbourhoodWithTraces( + nodeDescriptors.hashCode, + node2Representation.mapValues[it.hashCode], + if(deepRepresentation) {previous} else {null}) + } + +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend new file mode 100644 index 00000000..31181370 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend @@ -0,0 +1,24 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import java.util.Map + +class PartialInterpretation2ImmutableTypeLattice extends + PartialInterpretation2NeighbourhoodRepresentation, AbstractNodeDescriptor>{ + + public new() { + super(false, true) + } + + override protected createLocalRepresentation(Map node2Representation, Map representation2Amount) { + return new NeighbourhoodWithTraces(node2Representation.immutableCopy,node2Representation.immutableCopy,null) + } + + override protected createFurtherRepresentation(Map, Integer> nodeDescriptors, Map> node2Representation, NeighbourhoodWithTraces, AbstractNodeDescriptor> previous, boolean deepRepresentation) { + if(deepRepresentation) { + return new NeighbourhoodWithTraces, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,previous) + } else { + return new NeighbourhoodWithTraces, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,null) + } + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend new file mode 100644 index 00000000..251a82f0 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend @@ -0,0 +1,56 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import java.util.Map +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* +import java.util.HashMap + +class PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter extends + PartialInterpretation2NeighbourhoodRepresentation< + Map, // <- Model Descriptor + AbstractNodeDescriptor> // <- Node Descriptor + { + + protected new() { + super(true,false) + } + + override protected createLocalRepresentation(Map node2Representation, Map representation2Amount) { + return new NeighbourhoodWithTraces(node2Representation.immutableCopy,node2Representation.immutableCopy,null) + } + + override protected createFurtherRepresentation( + Map, Integer> nodeDescriptors, + Map> node2Representation, + NeighbourhoodWithTraces, AbstractNodeDescriptor> previous, + boolean deepRepresentation + ) { + if(deepRepresentation) { + return new NeighbourhoodWithTraces, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,previous) + } else { + return new NeighbourhoodWithTraces, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,null) + } + } + + public def finalRepresentation(NeighbourhoodWithTraces,AbstractNodeDescriptor> representation) { + val node2Representation = representation.nodeRepresentations + val node2LocalRepresentation = new HashMap + //val localRepresentation2Node = new HashMap + for(entry: node2Representation.entrySet) { + val node = entry.key + val localNodeDescriptor = entry.value.toLocalDescriptor + node2LocalRepresentation.put(node,localNodeDescriptor) + } + + } + + public def LocalNodeDescriptor toLocalDescriptor(AbstractNodeDescriptor descriptor) { + if(descriptor instanceof LocalNodeDescriptor) { + return descriptor + } else if(descriptor instanceof FurtherNodeDescriptor) { + (descriptor.previousRepresentation as AbstractNodeDescriptor).toLocalDescriptor + } else throw new IllegalArgumentException('''Unsupported descriptor type: «descriptor.class.simpleName»''') + } + + +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend new file mode 100644 index 00000000..df6fb6ae --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend @@ -0,0 +1,345 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import java.util.HashMap +import java.util.HashSet +import java.util.LinkedList +import java.util.List +import java.util.Map +import java.util.Set + +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* + +abstract class PartialInterpretation2NeighbourhoodRepresentation { + private val boolean deepRepresentation + private val boolean mergeSimilarNeighbourhood + + protected new(boolean deeprepresentation, boolean mergeSimilarNeighbourhood) { + this.deepRepresentation = deeprepresentation + this.mergeSimilarNeighbourhood = mergeSimilarNeighbourhood + } + + public static val FixPointRage = -1 + public static val FullParallels = Integer.MAX_VALUE + public static val MaxNumbers = Integer.MAX_VALUE + + /** + * Creates a neighbourhood representation with traces + * @param model The model to be represented. + * @param range The range of the neighbourhood. + * @param parallels The maximal number of parallel references to be differentiated. + */ + def public createRepresentation(PartialInterpretation model, int range, int parallels, int maxNumber) { + return createRepresentation(model,range,parallels,maxNumber,null,null) + } + + def public createRepresentation( + PartialInterpretation model, + int range, int parallels, int maxNumber, + Set relevantTypes, Set relevantRelations) + { + val Map> types = new HashMap + fillTypes(model,types,relevantTypes) + val Map>> IncomingRelations = new HashMap; + val Map>> OutgoingRelations = new HashMap; + fillReferences(model,IncomingRelations,OutgoingRelations,relevantRelations) + + val res = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range,parallels,maxNumber); + + return res; + } + + def private isRelevant(TypeDeclaration t, Set relevantTypes) { + if(relevantTypes === null) { + return true + } else { + return relevantTypes.contains(t) + } + } + def private isRelevant(RelationDeclaration r, Set relevantRelations) { + if(relevantRelations === null) { + return true + } else { + return relevantRelations.contains(r) + } + } + + /** + * Creates a neighbourhood representation with traces + * @param model The model to be represented. + * @param IncomingRelations Requires the previously indexed incoming references. + * @param OutgoingRelations Requires the previously indexed outgoing references. + * @param range The range of the neighbourhood. + * @param parallels The maximal number of parallel references to be differentiated. + */ + def private NeighbourhoodWithTraces doRecursiveNeighbourCalculation( + PartialInterpretation model, + Map> types, + Map>> IncomingRelations, + Map>> OutgoingRelations, + int range, int parallels, int maxNumber) + { + if(range == 0){ + val r = calculateLocalNodeDescriptors(model,types,maxNumber) + val res = this.createLocalRepresentation(r.value,r.key) + if(res.modelRepresentation === null) { + throw new IllegalArgumentException('''Model representation is null''') + } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) { + throw new IllegalArgumentException('''No node representation''') + } else if(res.previousRepresentation !== null) { + throw new IllegalArgumentException('''The previous representation of the first neighbourhood have to be null''') + } else return res + } else if(range > 0) { + val previous = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range-1,parallels,maxNumber) + val r = calculateFurtherNodeDescriptors(model,previous,IncomingRelations,OutgoingRelations,parallels,maxNumber) + //println('''Level «range» finished.''') + val res = createFurtherRepresentation(r.key,r.value,previous,deepRepresentation) + if(res.modelRepresentation === null) { + throw new IllegalArgumentException('''Model representation is null''') + } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) { + throw new IllegalArgumentException('''No node representation''') + } else if(res.previousRepresentation === null && deepRepresentation) { + throw new IllegalArgumentException('''Need previous representations''') + } else return res + } else if (range == FixPointRage) { + return refineUntilFixpoint(model,types,IncomingRelations,OutgoingRelations,parallels,maxNumber) + } + } + + def private refineUntilFixpoint( + PartialInterpretation model, + Map> types, + Map>> IncomingRelations, + Map>> OutgoingRelations, + int parallels, int maxNumbers) + { + var lastRange = 0 + val last = calculateLocalNodeDescriptors(model,types,maxNumbers) + var lastRepresentation = this.createLocalRepresentation(last.value,last.key) + //println('''Level 0 finished.''') + var boolean hasRefined + do { + val nextRange = lastRange+1 + val next = calculateFurtherNodeDescriptors(model,lastRepresentation,IncomingRelations,OutgoingRelations,parallels,maxNumbers) + val nextRepresentation = createFurtherRepresentation(next.key,next.value,lastRepresentation,deepRepresentation) + + val previousNumberOfTypes =lastRepresentation.nodeRepresentations.values.toSet.size + val nextNumberOfTypes = nextRepresentation.nodeRepresentations.values.toSet.size + hasRefined = nextNumberOfTypes > previousNumberOfTypes + + lastRange = nextRange + lastRepresentation = nextRepresentation + +// if(hasRefined) { +// println('''Level «nextRange» is calculated, number of types is refined: «previousNumberOfTypes» -> «nextNumberOfTypes»''') +// } else { +// println('''Level «nextRange» is calculated, but the number of types is not refined: «previousNumberOfTypes» = «nextNumberOfTypes»''') +// } + } while (hasRefined) + return lastRepresentation + } + + def private getElements(PartialInterpretation model) { + return model.problem.elements + model.newElements + } + + def private fillTypes(PartialInterpretation model, Map> node2Type, Set relevantTypes) { + for(element : model.elements) { + node2Type.put(element, new HashSet) + } + +// for(typeDefinition : model.problem.types.filter(TypeDefinition)) { +// // Dont need +// } + for(typeInterpretation : model.partialtypeinterpratation) { + val type = typeInterpretation.interpretationOf + if(type.isRelevant(relevantTypes)) { + for(element : typeInterpretation.elements) { + element.lookup(node2Type).add(type.name) + } + } + } + } + + /** + * Indexes the references + */ + def private fillReferences(PartialInterpretation model, + Map>> IncomingRelations, + Map>> OutgoingRelations, + Set relevantRelations) + { + for(object : model.elements) { + IncomingRelations.put(object,new LinkedList) + OutgoingRelations.put(object,new LinkedList) + } + for(relationInterpretation : model.partialrelationinterpretation) { + val type = relationInterpretation.interpretationOf + if(type.isRelevant(relevantRelations)) { + for(link : relationInterpretation.relationlinks) { + if(link instanceof BinaryElementRelationLink) { + OutgoingRelations.get(link.param1) += new OutgoingRelation(link.param2,type.name) + IncomingRelations.get(link.param2) += new IncomingRelation(link.param1,type.name) + } else throw new UnsupportedOperationException + } + } + } + } + + /** + * Creates a local representation of the objects (aka zero range neighbourhood) + */ + def abstract protected NeighbourhoodWithTraces createLocalRepresentation( + Map node2Representation, + Map representation2Amount + ) + + /** + * Creates a + */ + def abstract protected NeighbourhoodWithTraces createFurtherRepresentation( + Map, Integer> nodeDescriptors, + Map> node2Representation, + NeighbourhoodWithTraces previous, + boolean deepRepresentation + ) + + def private addOne(int original, int max) { + if(original == Integer.MAX_VALUE) return Integer.MAX_VALUE + if(original +1 > max) return Integer.MAX_VALUE + else return original+1 + } + + private def calculateIncomingEdges(Map>> IncomingRelations, + DefinedElement object, Map previousNodeRepresentations, int parallel) + { + val Map, Integer> res = new HashMap + for (incomingConcreteEdge : IncomingRelations.get(object)) { + val IncomingRelation e = new IncomingRelation( + previousNodeRepresentations.get(incomingConcreteEdge.from), incomingConcreteEdge.type) + if (res.containsKey(e)) { + res.put(e, addOne(res.get(e),parallel)) + } else { + res.put(e, 1) + } + } + return res + } + + private def calcuateOutgoingEdges(Map>> OutgoingRelations, + DefinedElement object, Map previousNodeRepresentations, int parallel) + { + val Map,Integer> res= new HashMap + for(outgoingConcreteEdge : OutgoingRelations.get(object)) { + val OutgoingRelation e = + new OutgoingRelation( + previousNodeRepresentations.get(outgoingConcreteEdge.to), + outgoingConcreteEdge.type) + if(res.containsKey(e)) { + res.put(e,addOne(res.get(e),parallel)) + } else { + res.put(e,1) + } + } + return res; + } + + /*def private void addOrCreate_Set(Map> map, KEY key, VALUE value) { + var Set s; + if(map.containsKey(key)) { + s = map.get(key); + } else { + s = new HashSet + map.put(key,s) + } + s.add(value) + }*/ + + + private def calculateFurtherNodeDescriptors( + PartialInterpretation model, + NeighbourhoodWithTraces previous, + Map>> IncomingRelations, + Map>> OutgoingRelations, + int parallels, int maxNumber) + { + val previousNodeRepresentations = previous.nodeRepresentations + val node2Representation = new HashMap> + val Map,Integer> descriptor2Number = + if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } + val Map,FurtherNodeDescriptor> uniqueDescription = + if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } + + for(object: model.elements) { + val incomingEdges = this.calculateIncomingEdges(IncomingRelations, object, previousNodeRepresentations,parallels) + val outgoingEdges = this.calcuateOutgoingEdges(OutgoingRelations,object, previousNodeRepresentations,parallels) + + val previousType = previousNodeRepresentations.get(object) + + if(previousType === null) { + println("Error in state coder") + } + + val nodeDescriptor = new FurtherNodeDescriptor( + previousType, + incomingEdges, + outgoingEdges) + + if(this.mergeSimilarNeighbourhood) { + if(descriptor2Number.containsKey(nodeDescriptor)) { + descriptor2Number.put( + nodeDescriptor, + addOne(descriptor2Number.get(nodeDescriptor),maxNumber) + ) + node2Representation.put(object,uniqueDescription.get(nodeDescriptor)) + } else { + descriptor2Number.put(nodeDescriptor,1) + uniqueDescription.put(nodeDescriptor,nodeDescriptor) + node2Representation.put(object,nodeDescriptor) + } + } else { + node2Representation.put(object,nodeDescriptor) + } + } + + return descriptor2Number -> node2Representation + } + + private def calculateLocalNodeDescriptors( + PartialInterpretation model, + Map> types, + int maxNumber) + { + val Map node2Representation = new HashMap + val Map representation2Amount = + if(mergeSimilarNeighbourhood){ new HashMap } else { null } + val Map uniqueRepresentation = + if(this.mergeSimilarNeighbourhood){ new HashMap } else { null } + + for(element : model.elements) { + var newDescriptor = new LocalNodeDescriptor(element.name,element.lookup(types)) + if(this.mergeSimilarNeighbourhood){ + if(uniqueRepresentation.containsKey(newDescriptor)) { + newDescriptor = newDescriptor.lookup(uniqueRepresentation) + node2Representation.put(element,newDescriptor) + representation2Amount.put( + newDescriptor, + addOne(newDescriptor.lookup(representation2Amount),maxNumber) + ) + } else { + uniqueRepresentation.put(newDescriptor,newDescriptor) + node2Representation.put(element,newDescriptor) + representation2Amount.put(newDescriptor, 1) + } + } else { + node2Representation.put(element,newDescriptor) + } + } + + return representation2Amount -> node2Representation + } +} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend new file mode 100644 index 00000000..c421ace6 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend @@ -0,0 +1,129 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder + +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation +import java.util.ArrayList +import java.util.Comparator +import java.util.LinkedList +import java.util.List +import java.util.SortedSet +import java.util.TreeSet +import org.eclipse.emf.common.notify.Notifier +import org.eclipse.viatra.dse.statecode.IStateCoder +import org.eclipse.viatra.dse.statecode.IStateCoderFactory +import org.eclipse.viatra.query.runtime.api.IPatternMatch +import org.eclipse.xtend.lib.annotations.Accessors +import org.eclipse.xtend.lib.annotations.Data + +class IdentifierBasedStateCoderFactory implements IStateCoderFactory{ + + val List statecoders = new LinkedList + synchronized override createStateCoder() { + val res = new IdentifierBasedStateCoder + statecoders += res + return res + } + def getSumStatecoderRuntime() { + statecoders.map[statecoderRuntime].reduce[p1, p2|p1+p2] + } +} + +@Data +class RelationStatecoder { + String relationName + SortedSet> links; + + static val comparator= new Comparator>() { + override compare(Pair o1, Pair o2) { + if(o1.key > o2.key) { + return 1 + } else if(o1.key < o2.key) { + return -1 + } else { + return Integer.compare(o1.value,o2.value) + } + } + } + + new(String relationName) { + this.relationName = relationName + links = new TreeSet(comparator) + } +} + +@Data +class IdentifierBasedStateCode { + int numberOfNewElement + SortedSet relationStatecoders + + private static val comparator = new Comparator() { + override compare(RelationStatecoder o1, RelationStatecoder o2) { + o1.relationName.compareTo(o2.relationName) + } + } + + public new(int numberOfNewElements) { + this.numberOfNewElement = numberOfNewElements + this.relationStatecoders = new TreeSet(comparator) + } +} + +class IdentifierBasedStateCoder implements IStateCoder{ + var PartialInterpretation model = null + + @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0 + + override createActivationCode(IPatternMatch match) { + val startTime = System.nanoTime + val res = new ArrayList(match.parameterNames.size) + var index = 0 + while(index < match.parameterNames.size) { + res.add(getID(match.get(index))) + index++ + } + statecoderRuntime += (System.nanoTime - startTime) + return match.specification.fullyQualifiedName -> res + } + + override createStateCode() { + val startTime = System.nanoTime + val res = new IdentifierBasedStateCode(model.newElements.size) + for(relation : model.partialrelationinterpretation) { + val relationCoder = new RelationStatecoder(relation.interpretationOf.name) + for(link: relation.relationlinks.filter(BinaryElementRelationLink)) { + relationCoder.links+=link.param1.ID -> link.param2.ID + } + res.relationStatecoders+=relationCoder + } + statecoderRuntime += (System.nanoTime - startTime) + return res + } + + def getID(Object element) { + if(element instanceof DefinedElement) { + val container = element.eContainer + if(container instanceof LogicProblem) { + return -container.elements.indexOf(element)-1 + } else if(container instanceof PartialInterpretation){ + return container.newElements.indexOf(element)+1 + } + } else if(element instanceof PartialInterpretation || element instanceof LogicProblem) { + return 0 + } else if(element instanceof PartialRelationInterpretation) { + return element.interpretationOf.name.hashCode + } else if(element instanceof PartialTypeInterpratation) { + return element.interpretationOf.name.hashCode + } else { + println(element) + throw new UnsupportedOperationException('''Unsupported type: «element.class.simpleName»''') + } + } + + override init(Notifier notifier) { + model = notifier as PartialInterpretation + } +} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend new file mode 100644 index 00000000..5fb85b0c --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend @@ -0,0 +1,206 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage +import java.util.ArrayList +import java.util.LinkedList +import java.util.List +import java.util.Map +import org.eclipse.emf.common.notify.Notifier +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EStructuralFeature +import org.eclipse.viatra.dse.statecode.IStateCoder +import org.eclipse.viatra.dse.statecode.IStateCoderFactory +import org.eclipse.viatra.query.runtime.api.IPatternMatch +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine +import org.eclipse.viatra.query.runtime.base.api.FeatureListener +import org.eclipse.viatra.query.runtime.base.api.IndexingLevel +import org.eclipse.viatra.query.runtime.base.api.InstanceListener +import org.eclipse.viatra.query.runtime.emf.EMFBaseIndexWrapper +import org.eclipse.viatra.query.runtime.emf.EMFScope +import org.eclipse.xtend.lib.annotations.Accessors +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation +import java.util.Set +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2NeighbourhoodRepresentation + +class NeighbourhoodBasedStateCoderFactory implements IStateCoderFactory { + val List statecoders = new LinkedList + + val int range + val int parallels + val int maxNumber + val Set relevantTypes + val Set relevantRelations + + public new() { + this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage + this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels + this.maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers + this.relevantTypes = null + this.relevantRelations = null + } + + public new(int range, int parallels, int maxNumber, Set relevantTypes, Set relevantRelations) { + this.range = range + this.parallels = parallels + this.maxNumber = maxNumber + this.relevantTypes = relevantTypes + this.relevantRelations = relevantRelations + } + + synchronized override createStateCoder() { + val res = new NeighbourhoodBasedPartialInterpretationStateCoder(statecoders.size, + range,parallels,maxNumber,relevantTypes,relevantRelations) + statecoders += res + return res + } + def getSumStatecoderRuntime() { + statecoders.map[statecoderRuntime].reduce[p1, p2|p1+p2] + } +} + +class NeighbourhoodBasedPartialInterpretationStateCoder implements IStateCoder{ + val int id; + val int range + val int parallels + val int maxNumber + val Set relevantTypes + val Set relevantRelations + + val calculator = + new PartialInterpretation2ImmutableTypeLattice + var PartialInterpretation target + + private var Map nodeRepresentations = null + private var Map modelRepresentation = null + + /*public new(int id) { + this.id = id + this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage + this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels + this.maxNumber = maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers + this.relevantTypes = relevantTypes + this.relevantRelations = relevantRelations + }*/ + + public new(int id, int range, int parallels, int maxNumber, Set relevantTypes, Set relevantRelations) { + this.id = id + this.range = range + this.parallels = parallels + this.maxNumber = maxNumber + this.relevantTypes = relevantTypes + this.relevantRelations = relevantRelations + } + + @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0 + +// val range = -1 +// val par = Integer.MAX_VALUE + //val deeprepresentation = false + + ///////// + // Caching version + ///////// + synchronized private def refreshStateCodes() { + if(this.nodeRepresentations === null || this.modelRepresentation === null) { + val startTime = System.nanoTime + //relevantObjects.forEach[println(it)] + val code = calculator.createRepresentation(target,range,parallels,maxNumber,relevantTypes,relevantRelations) + this.modelRepresentation = code.modelRepresentation + this.nodeRepresentations = code.nodeRepresentations + statecoderRuntime += (System.nanoTime - startTime) + } + } + synchronized override createActivationCode(IPatternMatch match) { + refreshStateCodes + + val startTime = System.nanoTime + val size = match.specification.parameters.size + val res = new ArrayList(size) + var int index = 0 + while(index < size) { + res.add(getCode(match.get(index))) + index++ + } + statecoderRuntime += (System.nanoTime - startTime) + return match.specification.fullyQualifiedName->res.hashCode + } + + def private getCode(Object o) { + if(o instanceof DefinedElement) { + this.nodeRepresentations.get(o) + } else if(o instanceof PartialInterpretation || o instanceof LogicProblem) { + return null + } else if(o instanceof PartialRelationInterpretation) { + return o.interpretationOf.name + } else if(o instanceof PartialTypeInterpratation) { + return o.interpretationOf.name + } else { + throw new UnsupportedOperationException('''Unsupported type: «o.class.simpleName»''') + } + } + + synchronized override createStateCode() { + refreshStateCodes + return this.modelRepresentation.hashCode + } + ///////// + // Caching version + ///////// + + ///////// + // Recalculating version + ///////// +// synchronized override createActivationCode(IPatternMatch match) { +// val nodes = calculator.createRepresentation(getRelevantObjects().toList,range,par).nodeRepresentations +// val res = match.toArray.map[objectInMatch | +// nodes.get(objectInMatch) +// ] +// return res +// } +// +// override createStateCode() { +// return this.calculator.createRepresentation(getRelevantObjects().toList,range,par).modelRepresentation +// } + ///////// + // Recalculating version + ///////// + + override init(Notifier notifier) { + this.target = notifier as PartialInterpretation + val queryEngine = ViatraQueryEngine.on(new EMFScope(notifier)) + val baseIndex = queryEngine.getBaseIndex() as EMFBaseIndexWrapper + val navigationHelper = baseIndex.getNavigationHelper(); + + val classes = PartialinterpretationPackage.eINSTANCE.EClassifiers.filter(EClass).toSet + val features = classes.map[it.EAllStructuralFeatures].flatten.toSet + navigationHelper.registerObservedTypes( + classes, + null, + features, + IndexingLevel.FULL); + + + navigationHelper.addFeatureListener(features, new FeatureListener() { + override public void featureInserted(EObject host, EStructuralFeature feature, Object value) { invalidate } + override public void featureDeleted(EObject host, EStructuralFeature feature, Object value) { invalidate } + }); + navigationHelper.addInstanceListener(classes, new InstanceListener() { + override public void instanceInserted(EClass clazz, EObject instance) { invalidate } + override public void instanceDeleted(EClass clazz, EObject instance) { invalidate } + }); + } + + synchronized def public invalidate() { + this.nodeRepresentations = null + this.modelRepresentation = null + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend new file mode 100644 index 00000000..819cae00 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend @@ -0,0 +1,136 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation + +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import java.util.Map +import java.util.HashMap +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation +import java.util.Set + +class PartialInterpretation2Gml { + def public transform(PartialInterpretation i) { + val p = i.problem + val Map objectToID = new HashMap + val containmentRelations = p.containmentHierarchies.map[it.containmentRelations].flatten.toSet + ''' + graph + [ + «FOR object:p.elements + i.newElements SEPARATOR '\n'» + «this.transformObject(object,object.typesOfElement(i),objectToID)» + «ENDFOR» + «FOR relation:i.partialrelationinterpretation» + «FOR link:relation.relationlinks.filter(BinaryElementRelationLink)» + «transformLink(relation,link,objectToID,containmentRelations)» + «ENDFOR» + «ENDFOR» + ] + '''.toString + } + def typesOfElement(DefinedElement e, PartialInterpretation i) { + i.problem.types.filter(TypeDefinition).filter[it.elements.contains(e)] + + i.partialtypeinterpratation.filter[it.elements.contains(e)].map[it.interpretationOf] + } + + val protected titleSize = 16 + val protected attributeSize = 14 + val protected borderDistance = 6 + val protected attributeBorderDistance = 8 + val protected ratio = 11.0/20.0 + + def protected transformObject(DefinedElement object,Iterable types,Map objectToID){ + val title = object.transormTitle + val attributes = types.map[it.name] + + var double width = title.length*titleSize + borderDistance*2; + for(x:attributes.map[length*attributeSize + borderDistance*2 + attributeBorderDistance*2]) + width = Math::max(width,x) + width = width*ratio + + val height = Math::max( + titleSize+4, + (attributes.size+1)*attributeSize + borderDistance*2) + + val id = objectToID.size + objectToID.put(object,id) + + ''' + node + [ + id «id» + graphics + [ + w «width» + h «height» + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "«title»" + outline "#000000" + fill "#FFFFFF" + fontSize «titleSize» + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + «FOR attribute : attributes» + «attribute» + «ENDFOR»" + fontSize «attributeSize» + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance «borderDistance» + ] + ] + ''' + } + + def protected transormTitle(DefinedElement object) { + if(object.name!= null)object.name + else "null" + } + + def protected transformLink( + PartialRelationInterpretation reference, + BinaryElementRelationLink link, + Map objectToID, + Set containmentRelations) + { + ''' + edge + [ + source «objectToID.get(link.param1)» + target «objectToID.get(link.param2)» + graphics + [ + fill "#000000" + «IF containmentRelations.contains(reference.interpretationOf)» + width 3 + «ENDIF» + targetArrow "standard" + ] + LabelGraphics + [ + text "«reference.interpretationOf.name»" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + ''' + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf