diff --git a/.classpath b/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..8dd013afc8bf89a67e96e58f9373aa44caa05430 --- /dev/null +++ b/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/.project b/.project new file mode 100644 index 0000000000000000000000000000000000000000..9c2e6c7f29d54f08557e57cdea0fb78d98db50b0 --- /dev/null +++ b/.project @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>modelling</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/build.properties b/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..697ca964527a545764d3a69847c122b371257973 --- /dev/null +++ b/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ diff --git a/model/modelling.aird b/model/modelling.aird new file mode 100644 index 0000000000000000000000000000000000000000..a7868f45b630533080443e1f4477524341e6ac93 --- /dev/null +++ b/model/modelling.aird @@ -0,0 +1,1350 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> + <viewpoint:DAnalysis xmi:id="_I3BYkMQWEeiLYNnOWGjSFA" selectedViews="_I8STEMQWEeiLYNnOWGjSFA" version="13.0.0.201804031646"> + <semanticResources>modelling.ecore</semanticResources> + <semanticResources>modelling.genmodel</semanticResources> + <ownedViews xmi:type="viewpoint:DView" xmi:id="_I8STEMQWEeiLYNnOWGjSFA"> + <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_JGn60MQWEeiLYNnOWGjSFA" name="modelling" repPath="#_JBMBMMQWEeiLYNnOWGjSFA"> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <target xmi:type="ecore:EPackage" href="modelling.ecore#/"/> + </ownedRepresentationDescriptors> + </ownedViews> + </viewpoint:DAnalysis> + <diagram:DSemanticDiagram xmi:id="_JGibQMQWEeiLYNnOWGjSFA" name="modelling" uid="_JBMBMMQWEeiLYNnOWGjSFA"> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_JGibQcQWEeiLYNnOWGjSFA" source="DANNOTATION_CUSTOMIZATION_KEY"> + <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_JGibQsQWEeiLYNnOWGjSFA"> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_OJMj8cSyEeiLYNnOWGjSFA" showIcon="false" labelExpression="service:render"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_OJMj8sSyEeiLYNnOWGjSFA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> + </data> + </ownedAnnotationEntries> + <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_JHSCIMQWEeiLYNnOWGjSFA" source="GMF_DIAGRAMS"> + <data xmi:type="notation:Diagram" xmi:id="_JHSCIcQWEeiLYNnOWGjSFA" type="Sirius" element="_JGibQMQWEeiLYNnOWGjSFA" measurementUnit="Pixel"> + <children xmi:type="notation:Node" xmi:id="_Np4DkMQWEeiLYNnOWGjSFA" type="2003" element="_NpTb0MQWEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_Np-KMMQWEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_Np_YUMQWEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_S_FNsMQWEeiLYNnOWGjSFA" type="3010" element="_S-zg4MQWEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_S_FNscQWEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_S_FNssQWEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Yx8kMMQWEeiLYNnOWGjSFA" type="3010" element="_YxuhwMQWEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_Yx8kMcQWEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Yx8kMsQWEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_dJ1xgMQWEeiLYNnOWGjSFA" type="3010" element="_dJnvEMQWEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_dJ1xgcQWEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_dJ1xgsQWEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_Np_YUcQWEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Np_YUsQWEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Np4DkcQWEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Np4DksQWEeiLYNnOWGjSFA" x="885" y="15" width="120" height="100"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Eg_-EMQXEeiLYNnOWGjSFA" type="2003" element="_Egx7oMQXEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_EhAlIMQXEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_EhAlIcQXEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_7vgAEMTCEeiLYNnOWGjSFA" type="3010" element="_7vTy0MTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_7vgAEcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7vgAEsTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_85OoQMTCEeiLYNnOWGjSFA" type="3010" element="_85Al0MTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_85OoQcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_85OoQsTCEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_EhAlIsQXEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_EhAlI8QXEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Eg_-EcQXEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Eg_-EsQXEeiLYNnOWGjSFA" x="1020" y="210" width="120" height="79"/> + </children> + <children xmi:type="notation:Node" xmi:id="_GT8zEMS_EeiLYNnOWGjSFA" type="2003" element="_GTs7cMS_EeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_GT9aIMS_EeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_GT-BMMS_EeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_w8lXcMS_EeiLYNnOWGjSFA" type="3010" element="_w8ZKMMS_EeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_w8lXccS_EeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_w8lXcsS_EeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_dD6HYMTAEeiLYNnOWGjSFA" type="3010" element="_dDw9cMTAEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_dD6HYcTAEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_dD6HYsTAEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_sjurYMTAEeiLYNnOWGjSFA" type="3010" element="_sjmvkMTAEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_sjurYcTAEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_sjurYsTAEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_vH-w0MTAEeiLYNnOWGjSFA" type="3010" element="_vH0YwMTAEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_vH-w0cTAEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_vH-w0sTAEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_GT-BMcS_EeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_GT-BMsS_EeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_GT8zEcS_EeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GT8zEsS_EeiLYNnOWGjSFA" x="655" y="130" width="138" height="118"/> + </children> + <children xmi:type="notation:Node" xmi:id="_8uj7QMTAEeiLYNnOWGjSFA" type="2003" element="_8uZjMMTAEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_8uj7Q8TAEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_8ukiUMTAEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="__HJjQMTAEeiLYNnOWGjSFA" type="3010" element="__G9WAMTAEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="__HJjQcTAEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="__HJjQsTAEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_E5p38MTCEeiLYNnOWGjSFA" type="3010" element="_E5dDoMTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_E5p38cTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_E5p38sTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_IYU-QMTCEeiLYNnOWGjSFA" type="3010" element="_IYKmMMTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_IYU-QcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_IYU-QsTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_K4DwEMTCEeiLYNnOWGjSFA" type="3010" element="_K327wMTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_K4DwEcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_K4DwEsTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_akX38MTCEeiLYNnOWGjSFA" type="3010" element="_akLDoMTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_akX38cTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_akX38sTCEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_8ukiUcTAEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_8ukiUsTAEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_8uj7QcTAEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8uj7QsTAEeiLYNnOWGjSFA" x="170" y="306" width="273" height="123"/> + </children> + <children xmi:type="notation:Node" xmi:id="_BWER4MTBEeiLYNnOWGjSFA" type="2003" element="_BVzzMMTBEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_BWE48MTBEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_BWE48cTBEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_GwG4sMTBEeiLYNnOWGjSFA" type="3010" element="_Gv9HsMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_GwG4scTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_GwG4ssTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_KCX6sMTBEeiLYNnOWGjSFA" type="3010" element="_KCOJsMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_KCX6scTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_KCX6ssTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_LgcbMMTBEeiLYNnOWGjSFA" type="3010" element="_LgRcEMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_LgcbMcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_LgcbMsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_NLoKoMTBEeiLYNnOWGjSFA" type="3010" element="_NLfAsMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_NLoKocTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_NLoKosTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_PT-XMMTBEeiLYNnOWGjSFA" type="3010" element="_PT10UMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_PT-XMcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_PT-XMsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_QW2wgMTBEeiLYNnOWGjSFA" type="3010" element="_QWtmkMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_QW2wgcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_QW2wgsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_RZsGgMTBEeiLYNnOWGjSFA" type="3010" element="_RZhucMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_RZsGgcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_RZsGgsTBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_BWE48sTBEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_BWE488TBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_BWER4cTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWER4sTBEeiLYNnOWGjSFA" x="270" y="15" width="198" height="138"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Tn31UMTBEeiLYNnOWGjSFA" type="2003" element="_TnuEUMTBEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_Tn4cYMTBEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_Tn4cYcTBEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_W0VxUMTBEeiLYNnOWGjSFA" type="3010" element="_W0LZQMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_W0VxUcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_W0VxUsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_YW8zkMTBEeiLYNnOWGjSFA" type="3010" element="_YWzpoMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_YW8zkcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_YW8zksTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_aJ1tgMTBEeiLYNnOWGjSFA" type="3010" element="_aJr8gMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_aJ1tgcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_aJ1tgsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_k9KtMMTBEeiLYNnOWGjSFA" type="3010" element="_k8944MTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_k9KtMcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_k9KtMsTBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_Tn4cYsTBEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Tn4cY8TBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_Tn31UcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tn31UsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_o_kLoMTBEeiLYNnOWGjSFA" type="2003" element="_o_dd8MTBEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_o_kysMTBEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_o_kyscTBEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_rY1JEMTBEeiLYNnOWGjSFA" type="3010" element="_rYqJ8MTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_rY1JEcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_rY1JEsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_zo9zQMTBEeiLYNnOWGjSFA" type="3010" element="_zo0pUMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_zo9zQcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_zo9zQsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_1bdroMTBEeiLYNnOWGjSFA" type="3010" element="_1bSFcMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_1bdrocTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_1bdrosTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_27IuoMTBEeiLYNnOWGjSFA" type="3010" element="_26-9oMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_27IuocTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_27IuosTBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_o_kyssTBEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_o_kys8TBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_o_kLocTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o_kLosTBEeiLYNnOWGjSFA" x="20" y="140" width="188" height="108"/> + </children> + <children xmi:type="notation:Node" xmi:id="_5mNNwMTBEeiLYNnOWGjSFA" type="2003" element="_5mC1sMTBEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_5mN00MTBEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_5mN00cTBEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_7vIpIMTBEeiLYNnOWGjSFA" type="3010" element="_7u9qAMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_7vIpIcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_7vIpIsTBEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_8vQCUMTBEeiLYNnOWGjSFA" type="3010" element="_8vGRUMTBEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_8vQCUcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_8vQCUsTBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_5mN00sTBEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_5mN008TBEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_5mNNwcTBEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5mNNwsTBEeiLYNnOWGjSFA" x="240" y="185" width="120" height="78"/> + </children> + <children xmi:type="notation:Node" xmi:id="_hX72cMTCEeiLYNnOWGjSFA" type="2003" element="_hX0hsMTCEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_hX72c8TCEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_hX72dMTCEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_ldcTQMTCEeiLYNnOWGjSFA" type="3010" element="_ldRUIMTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_ldcTQcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_ldcTQsTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_npy2EMTCEeiLYNnOWGjSFA" type="3010" element="_npnP4MTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_npy2EcTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_npy2EsTCEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_piA78MTCEeiLYNnOWGjSFA" type="3010" element="_ph3K8MTCEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_piA78cTCEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_piA78sTCEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_hX72dcTCEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_hX72dsTCEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_hX72ccTCEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hX72csTCEeiLYNnOWGjSFA" x="450" y="309" width="188" height="100"/> + </children> + <children xmi:type="notation:Node" xmi:id="_BIO_UMTDEeiLYNnOWGjSFA" type="2003" element="_BIDZIMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_BIPmYMTDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_BIPmYcTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_FBESEMTDEeiLYNnOWGjSFA" type="3010" element="_FA56AMTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_FBESEcTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_FBESEsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_BIPmYsTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_BIPmY8TDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_BIO_UcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BIO_UsTDEeiLYNnOWGjSFA" x="775" y="330" width="120" height="58"/> + </children> + <children xmi:type="notation:Node" xmi:id="_blikkMTDEeiLYNnOWGjSFA" type="2003" element="_blW-YMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_bljLoMTDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_bljLocTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_eqTWEMTDEeiLYNnOWGjSFA" type="3010" element="_eqHv4MTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_eqTWEcTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_eqTWEsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_bljLosTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_bljLo8TDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_blikkcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_blikksTDEeiLYNnOWGjSFA" x="645" y="326" width="120" height="65"/> + </children> + <children xmi:type="notation:Node" xmi:id="_iRrFYMTDEeiLYNnOWGjSFA" type="2003" element="_iRjwoMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_iRrscMTDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_iRrsccTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_jlCKsMTDEeiLYNnOWGjSFA" type="3010" element="_jk5n0MTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_jlCKscTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_jlCKssTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_iRrscsTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_iRrsc8TDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_iRrFYcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iRrFYsTDEeiLYNnOWGjSFA" x="910" y="320" width="120" height="60"/> + </children> + <children xmi:type="notation:Node" xmi:id="_pT9cYMTDEeiLYNnOWGjSFA" type="2003" element="_pTx2MMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_pT9cY8TDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_pT9cZMTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_qYGZ8MTDEeiLYNnOWGjSFA" type="3010" element="_qX4XgMTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_qYGZ8cTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_qYGZ8sTDEeiLYNnOWGjSFA"/> + </children> + <children xmi:type="notation:Node" xmi:id="_racAsMTDEeiLYNnOWGjSFA" type="3010" element="_raRooMTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_racAscTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_racAssTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_pT9cZcTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_pT9cZsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_pT9cYcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pT9cYsTDEeiLYNnOWGjSFA" x="1290" y="270" width="131" height="70"/> + </children> + <children xmi:type="notation:Node" xmi:id="_xJMTQMTDEeiLYNnOWGjSFA" type="2003" element="_xJCiQMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_xJMTQ8TDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_xJM6UMTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_y25LMMTDEeiLYNnOWGjSFA" type="3010" element="_y2uMEMTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_y25LMcTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_y25LMsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_xJM6UcTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_xJM6UsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_xJMTQcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xJMTQsTDEeiLYNnOWGjSFA" x="1195" y="150" width="120" height="55"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2usjMMTDEeiLYNnOWGjSFA" type="2003" element="_2ulOcMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_2usjM8TDEeiLYNnOWGjSFA" type="5007"/> + <children xmi:type="notation:Node" xmi:id="_2usjNMTDEeiLYNnOWGjSFA" type="7004"> + <children xmi:type="notation:Node" xmi:id="_4_oEAMTDEeiLYNnOWGjSFA" type="3010" element="_4_dE4MTDEeiLYNnOWGjSFA"> + <styles xmi:type="notation:FontStyle" xmi:id="_4_oEAcTDEeiLYNnOWGjSFA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_4_oEAsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:SortingStyle" xmi:id="_2usjNcTDEeiLYNnOWGjSFA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_2usjNsTDEeiLYNnOWGjSFA"/> + </children> + <styles xmi:type="notation:ShapeStyle" xmi:id="_2usjMcTDEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2usjMsTDEeiLYNnOWGjSFA" x="1110" y="342" width="120" height="51"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_JHSCIsQWEeiLYNnOWGjSFA"/> + <edges xmi:type="notation:Edge" xmi:id="_zCvXcMQWEeiLYNnOWGjSFA" type="4001" element="_zCb1cMQWEeiLYNnOWGjSFA" source="_Np4DkMQWEeiLYNnOWGjSFA" target="_Np4DkMQWEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_zCv-gMQWEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zCv-gcQWEeiLYNnOWGjSFA" x="-25" y="5"/> + </children> + <children xmi:type="notation:Node" xmi:id="_zCv-gsQWEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zCv-g8QWEeiLYNnOWGjSFA" x="14" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_zCv-hMQWEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zCv-hcQWEeiLYNnOWGjSFA" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_zCvXccQWEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_zCvXcsQWEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zCvXc8QWEeiLYNnOWGjSFA" points="[18, -25, 0, -12]$[110, -25, 92, -12]$[110, -48, 92, -35]$[18, -48, 0, -35]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zCwlkMQWEeiLYNnOWGjSFA" id="(0.847457627118644,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zCwlkcQWEeiLYNnOWGjSFA" id="(1.0,0.8673469387755102)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_5D3MYMQWEeiLYNnOWGjSFA" type="4001" element="_5Dk4gMQWEeiLYNnOWGjSFA" source="_Np4DkMQWEeiLYNnOWGjSFA" target="_Np4DkMQWEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_5D3zcMQWEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5D3zccQWEeiLYNnOWGjSFA" x="34" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_5D3zcsQWEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5D3zc8QWEeiLYNnOWGjSFA" x="-9" y="103"/> + </children> + <children xmi:type="notation:Node" xmi:id="_5D3zdMQWEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5D3zdcQWEeiLYNnOWGjSFA" x="4" y="-10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_5D3MYcQWEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_5D3MYsQWEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5D3MY8QWEeiLYNnOWGjSFA" points="[-40, 0, -58, -25]$[-40, -40, -58, -65]$[75, -40, 57, -65]$[75, 10, 57, -15]$[18, 10, 0, -15]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5D4agMQWEeiLYNnOWGjSFA" id="(0.847457627118644,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5D4agcQWEeiLYNnOWGjSFA" id="(1.0,0.25510204081632654)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_OJb0gMSyEeiLYNnOWGjSFA" type="4001" element="_OJJgoMSyEeiLYNnOWGjSFA" source="_Eg_-EMQXEeiLYNnOWGjSFA" target="_Np4DkMQWEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_OJcbkMSyEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OJcbkcSyEeiLYNnOWGjSFA" x="-21" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_OJcbksSyEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OJcbk8SyEeiLYNnOWGjSFA" x="3" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_OJcblMSyEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OJcblcSyEeiLYNnOWGjSFA" x="-70"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_OJb0gcSyEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_OJb0gsSyEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OJb0g8SyEeiLYNnOWGjSFA" points="[0, 0, 135, 97]$[0, -53, 135, 44]$[-135, -53, 0, 44]$[-135, -97, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OJdCoMSyEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OJdCocSyEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_1WsV0MTAEeiLYNnOWGjSFA" type="4001" element="_1WfhgMTAEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_Np4DkMQWEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_1WsV1MTAEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1WsV1cTAEeiLYNnOWGjSFA" x="7" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_1WsV1sTAEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1WsV18TAEeiLYNnOWGjSFA" x="-33" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_1Ws84MTAEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1Ws84cTAEeiLYNnOWGjSFA" x="-1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_1WsV0cTAEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_1WsV0sTAEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1WsV08TAEeiLYNnOWGjSFA" points="[-68, 44, -289, 61]$[-186, 44, -407, 61]$[-186, 121, -407, 138]$[207, 121, -14, 138]$[207, -17, -14, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1Ws84sTAEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1Ws848TAEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_P2MMEMTEEeiLYNnOWGjSFA" type="4001" element="_P1zxkMTEEeiLYNnOWGjSFA" source="_2usjMMTDEeiLYNnOWGjSFA" target="_iRrFYMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_P2MzIMTEEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2MzIcTEEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_P2MzIsTEEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2MzI8TEEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_P2MzJMTEEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P2MzJcTEEeiLYNnOWGjSFA" x="-24" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_P2MMEcTEEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_P2MMEsTEEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P2MME8TEEeiLYNnOWGjSFA" points="[0, 0, -360, 60]$[360, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P2MzJsTEEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P2MzJ8TEEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_aC4pkMTEEeiLYNnOWGjSFA" type="4001" element="_aCfA8MTEEeiLYNnOWGjSFA" source="_pT9cYMTDEeiLYNnOWGjSFA" target="_xJMTQMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_aC4plMTEEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aC4plcTEEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_aC5QoMTEEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aC5QocTEEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_aC5QosTEEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aC5Qo8TEEeiLYNnOWGjSFA" x="-26" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_aC4pkcTEEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_aC4pksTEEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aC4pk8TEEeiLYNnOWGjSFA" points="[0, 0, -6, 60]$[6, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aC5QpMTEEeiLYNnOWGjSFA" id="(0.4961832061068702,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aC5QpcTEEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_mnQwIMTEEeiLYNnOWGjSFA" type="4001" element="_mm6x4MTEEeiLYNnOWGjSFA" source="_pT9cYMTDEeiLYNnOWGjSFA" target="_2usjMMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_mnRXMMTEEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mnRXMcTEEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_mnRXMsTEEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mnRXM8TEEeiLYNnOWGjSFA" x="20" y="-80"/> + </children> + <children xmi:type="notation:Node" xmi:id="_mnRXNMTEEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mnRXNcTEEeiLYNnOWGjSFA" x="-28"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_mnQwIcTEEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_mnQwIsTEEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mnQwI8TEEeiLYNnOWGjSFA" points="[0, 0, 174, 60]$[-174, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mnRXNsTEEeiLYNnOWGjSFA" id="(0.4961832061068702,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mnRXN8TEEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_a7CHoMTGEeiLYNnOWGjSFA" type="4001" element="_a5B8gMTGEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_iRrFYMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_a7CHpMTGEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a7CHpcTGEeiLYNnOWGjSFA" x="83" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_a7CHpsTGEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a7CHp8TGEeiLYNnOWGjSFA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_a7CHqMTGEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a7CHqcTGEeiLYNnOWGjSFA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_a7CHocTGEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_a7CHosTGEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a7CHo8TGEeiLYNnOWGjSFA" points="[0, 0, -527, 542]$[526, -61, -1, 481]$[527, -542, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a7CusMTGEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a7CuscTGEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_il8S8MTIEeiLYNnOWGjSFA" type="4001" element="_iliDQMTIEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_blikkMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_il8S9MTIEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_il8S9cTIEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_il8S9sTIEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_il8S98TIEeiLYNnOWGjSFA" x="-5" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_il8S-MTIEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_il8S-cTIEeiLYNnOWGjSFA" x="-6" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_il8S8cTIEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_il8S8sTIEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_il8S88TIEeiLYNnOWGjSFA" points="[0, 0, -167, 60]$[167, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_il86AMTIEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_il86AcTIEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_kXTi4MTIEeiLYNnOWGjSFA" type="4001" element="_kXJK0MTIEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_hX72cMTCEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_kXTi5MTIEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXTi5cTIEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_kXUJ8MTIEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXUJ8cTIEeiLYNnOWGjSFA" x="26" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_kXUJ8sTIEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXUJ88TIEeiLYNnOWGjSFA" x="-42" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_kXTi4cTIEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_kXTi4sTIEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXTi48TIEeiLYNnOWGjSFA" points="[0, 0, 47, 60]$[-47, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kXUxAMTIEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kXUxAcTIEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_sJtIMMTIEeiLYNnOWGjSFA" type="4001" element="_sJdQkMTIEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_8uj7QMTAEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_sJtINMTIEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sJtINcTIEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_sJtvQMTIEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sJtvQcTIEeiLYNnOWGjSFA" x="14" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_sJtvQsTIEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sJtvQ8TIEeiLYNnOWGjSFA" x="-14" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_sJtIMcTIEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_sJtIMsTIEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sJtIM8TIEeiLYNnOWGjSFA" points="[0, 0, 338, 60]$[-338, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sJtvRMTIEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sJtvRcTIEeiLYNnOWGjSFA" id="(0.4981684981684982,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_50doAMTIEeiLYNnOWGjSFA" type="4001" element="_50KtEMTIEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_BIO_UMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_50ePEMTIEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_50ePEcTIEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_50e2IMTIEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_50e2IcTIEeiLYNnOWGjSFA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_50e2IsTIEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_50e2I8TIEeiLYNnOWGjSFA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_50doAcTIEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_50doAsTIEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_50doA8TIEeiLYNnOWGjSFA" points="[0, 0, -347, 60]$[347, -60, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_50fdMMTIEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_50fdMcTIEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_CViRMMTJEeiLYNnOWGjSFA" type="4001" element="_CVNhEMTJEeiLYNnOWGjSFA" source="_BIO_UMTDEeiLYNnOWGjSFA" target="_Eg_-EMQXEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_CViRNMTJEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CViRNcTJEeiLYNnOWGjSFA" x="29" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_CViRNsTJEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CViRN8TJEeiLYNnOWGjSFA" x="11" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_CVi4QMTJEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CVi4QcTJEeiLYNnOWGjSFA" x="1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_CViRMcTJEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_CViRMsTJEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CViRM8TJEeiLYNnOWGjSFA" points="[0, 0, -245, 43]$[0, -26, -245, 17]$[245, -26, 0, 17]$[245, -43, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CVi4QsTJEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CVi4Q8TJEeiLYNnOWGjSFA" id="(0.5,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_2ZUhYMTJEeiLYNnOWGjSFA" type="4001" element="_2ZHGAMTJEeiLYNnOWGjSFA" source="_BIO_UMTDEeiLYNnOWGjSFA" target="_pT9cYMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_2ZUhZMTJEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ZUhZcTJEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2ZUhZsTJEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ZUhZ8TJEeiLYNnOWGjSFA" x="82" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_2ZUhaMTJEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ZUhacTJEeiLYNnOWGjSFA" x="3" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_2ZUhYcTJEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_2ZUhYsTJEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2ZUhY8TJEeiLYNnOWGjSFA" points="[0, -61, 6, 100]$[-6, -121, 0, 40]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ZUhasTJEeiLYNnOWGjSFA" id="(0.5,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ZUha8TJEeiLYNnOWGjSFA" id="(0.4961832061068702,1.0)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_u--vkMTxEeiLYNnOWGjSFA" type="4001" element="_u-au4MTxEeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_xJMTQMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_u-_WoMTxEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-_WocTxEeiLYNnOWGjSFA" x="15" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_u-_9sMTxEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-_9scTxEeiLYNnOWGjSFA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_u-_9ssTxEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u-_9s8TxEeiLYNnOWGjSFA" x="-4" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_u--vkcTxEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_u--vksTxEeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u--vk8TxEeiLYNnOWGjSFA" points="[68, -21, -463, -9]$[472, -21, -59, -9]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vAnHQMTxEeiLYNnOWGjSFA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vAnHQcTxEeiLYNnOWGjSFA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_m8BB4MT1EeiLYNnOWGjSFA" type="4001" element="_m7xKQMT1EeiLYNnOWGjSFA" source="_GT8zEMS_EeiLYNnOWGjSFA" target="_xJMTQMTDEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_m8Bo8MT1EeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m8Bo8cT1EeiLYNnOWGjSFA" x="-20" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_m8Bo8sT1EeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m8Bo88T1EeiLYNnOWGjSFA" x="-6" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_m8Bo9MT1EeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m8Bo9cT1EeiLYNnOWGjSFA" x="-32" y="16"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_m8BB4cT1EeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_m8BB4sT1EeiLYNnOWGjSFA" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m8BB48T1EeiLYNnOWGjSFA" points="[68, -48, -463, -36]$[532, -48, 1, -36]$[532, -38, 1, -26]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m8Bo9sT1EeiLYNnOWGjSFA" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m8Bo98T1EeiLYNnOWGjSFA" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_MxTzEMT2EeiLYNnOWGjSFA" type="4001" element="_Mw_qAMT2EeiLYNnOWGjSFA" source="_xJMTQMTDEeiLYNnOWGjSFA" target="_Eg_-EMQXEeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_MxUaIMT2EeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MxUaIcT2EeiLYNnOWGjSFA" x="-22" y="-13"/> + </children> + <children xmi:type="notation:Node" xmi:id="_MxUaIsT2EeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MxUaI8T2EeiLYNnOWGjSFA" x="-9" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_MxUaJMT2EeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MxUaJcT2EeiLYNnOWGjSFA" x="-41" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_MxTzEcT2EeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_MxTzEsT2EeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MxTzE8T2EeiLYNnOWGjSFA" points="[0, 0, 89, -50]$[0, 50, 89, 0]$[-89, 50, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MxVBMMT2EeiLYNnOWGjSFA" id="(0.2711864406779661,1.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MxVBMcT2EeiLYNnOWGjSFA" id="(1.0,0.5584415584415584)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_PmHxIMUDEeiLYNnOWGjSFA" type="4001" element="_Plna0MUDEeiLYNnOWGjSFA" source="_blikkMTDEeiLYNnOWGjSFA" target="_GT8zEMS_EeiLYNnOWGjSFA"> + <children xmi:type="notation:Node" xmi:id="_PmIYMMUDEeiLYNnOWGjSFA" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PmIYMcUDEeiLYNnOWGjSFA" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_PmIYMsUDEeiLYNnOWGjSFA" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PmIYM8UDEeiLYNnOWGjSFA" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_PmI_QMUDEeiLYNnOWGjSFA" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PmI_QcUDEeiLYNnOWGjSFA" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_PmHxIcUDEeiLYNnOWGjSFA" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_PmHxIsUDEeiLYNnOWGjSFA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PmHxI8UDEeiLYNnOWGjSFA" points="[0, 0, -15, 80]$[0, -40, -15, 40]$[15, -40, 0, 40]$[15, -80, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PmI_QsUDEeiLYNnOWGjSFA" id="(0.2966101694915254,0.0)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PmI_Q8UDEeiLYNnOWGjSFA" id="(0.29411764705882354,1.0)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_NpTb0MQWEeiLYNnOWGjSFA" name="Course" tooltipText="" outgoingEdges="_zCb1cMQWEeiLYNnOWGjSFA _5Dk4gMQWEeiLYNnOWGjSFA" incomingEdges="_zCb1cMQWEeiLYNnOWGjSFA _5Dk4gMQWEeiLYNnOWGjSFA _OJJgoMSyEeiLYNnOWGjSFA _1WfhgMTAEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Course"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Course"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_x-BLEMQWEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_S-zg4MQWEeiLYNnOWGjSFA" name="code : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/code"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/code"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YFRrcMQWEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YxuhwMQWEeiLYNnOWGjSFA" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/name"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_cEpEAMQWEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_dJnvEMQWEeiLYNnOWGjSFA" name="content : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/content"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Course/content"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_e25wQMQWEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_zCb1cMQWEeiLYNnOWGjSFA" name="[0..*] recommendedCourses" sourceNode="_NpTb0MQWEeiLYNnOWGjSFA" targetNode="_NpTb0MQWEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Course/recommendedCourses"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Course/recommendedCourses"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_zCdDkMQWEeiLYNnOWGjSFA" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_zCdDkcQWEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_zCdDksQWEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5Dk4gMQWEeiLYNnOWGjSFA" name="[0..*] requiredCourses" sourceNode="_NpTb0MQWEeiLYNnOWGjSFA" targetNode="_NpTb0MQWEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Course/requiredCourses"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Course/requiredCourses"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5DmtsMQWEeiLYNnOWGjSFA" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5DmtscQWEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5DmtssQWEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Egx7oMQXEeiLYNnOWGjSFA" name="StudyProgram" tooltipText="" outgoingEdges="_OJJgoMSyEeiLYNnOWGjSFA" incomingEdges="_CVNhEMTJEeiLYNnOWGjSFA _Mw_qAMT2EeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//StudyProgram"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//StudyProgram"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_9UwGoMTCEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7vTy0MTCEeiLYNnOWGjSFA" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//StudyProgram/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//StudyProgram/name"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_8bh_oMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_85Al0MTCEeiLYNnOWGjSFA" name="code : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//StudyProgram/code"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//StudyProgram/code"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_9UwtsMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OJJgoMSyEeiLYNnOWGjSFA" name="[0..*] course" sourceNode="_Egx7oMQXEeiLYNnOWGjSFA" targetNode="_NpTb0MQWEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//StudyProgram/course"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//StudyProgram/course"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OJNLAMSyEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_OJNLAcSyEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_OJNLAsSyEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_GTs7cMS_EeiLYNnOWGjSFA" name="CourseInstance" tooltipText="" outgoingEdges="_1WfhgMTAEeiLYNnOWGjSFA _a5B8gMTGEeiLYNnOWGjSFA _iliDQMTIEeiLYNnOWGjSFA _kXJK0MTIEeiLYNnOWGjSFA _sJdQkMTIEeiLYNnOWGjSFA _50KtEMTIEeiLYNnOWGjSFA _u-au4MTxEeiLYNnOWGjSFA _m7xKQMT1EeiLYNnOWGjSFA" incomingEdges="_Plna0MUDEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//CourseInstance"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//CourseInstance"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_wBt1MMTAEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_w8ZKMMS_EeiLYNnOWGjSFA" name="semesterYear : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/semesterYear"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/semesterYear"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_3pab0MS_EeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_dDw9cMTAEeiLYNnOWGjSFA" name="credits : EFloat = 0.0" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/credits"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/credits"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_hnHz4MTAEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_sjmvkMTAEeiLYNnOWGjSFA" name="labHours : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/labHours"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/labHours"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_tt3jQMTAEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_vH0YwMTAEeiLYNnOWGjSFA" name="lectureHours : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/lectureHours"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//CourseInstance/lectureHours"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_wBvDUMTAEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_1WfhgMTAEeiLYNnOWGjSFA" name="[0..*] course" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_NpTb0MQWEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/course"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/course"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_1WgvoMTAEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_1WgvocTAEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_1WgvosTAEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_8uZjMMTAEeiLYNnOWGjSFA" name="TimeTableRow" tooltipText="" incomingEdges="_sJdQkMTIEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//TimeTableRow"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//TimeTableRow"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bWMWcMTCEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="__G9WAMTAEeiLYNnOWGjSFA" name="weekday : DayKind = Monday Monday" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/weekday"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/weekday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_CpdW8MTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_E5dDoMTCEeiLYNnOWGjSFA" name="startTime : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/startTime"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/startTime"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_GgQpYMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_IYKmMMTCEeiLYNnOWGjSFA" name="endTime : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/endTime"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/endTime"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_JBhFMMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_K327wMTCEeiLYNnOWGjSFA" name="type : TeachingFormKind = Lecture Lecture" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/type"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/type"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_N6BFMMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_akLDoMTCEeiLYNnOWGjSFA" name="room : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/room"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//TimeTableRow/room"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bWOLoMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_BVzzMMTBEeiLYNnOWGjSFA" name="DayKind" tooltipText="" width="12" height="10"> + <target xmi:type="ecore:EEnum" href="modelling.ecore#//DayKind"/> + <semanticElements xmi:type="ecore:EEnum" href="modelling.ecore#//DayKind"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_BV0aQMTBEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Gv9HsMTBEeiLYNnOWGjSFA" name="Monday Monday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Monday%20Monday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Monday%20Monday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Gv9HscTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_KCOJsMTBEeiLYNnOWGjSFA" name="Tuesday Tuesday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Tuesday%20Tuesday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Tuesday%20Tuesday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_KCOJscTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_LgRcEMTBEeiLYNnOWGjSFA" name="Wednesday Wednesday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Wednesday%20Wednesday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Wednesday%20Wednesday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_LgSDIMTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_NLfAsMTBEeiLYNnOWGjSFA" name="Thursday Thursdag" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Thursday%20Thursdag"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Thursday%20Thursdag"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_NLfAscTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_PT10UMTBEeiLYNnOWGjSFA" name="Friday Friday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Friday%20Friday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Friday%20Friday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_PT10UcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_QWtmkMTBEeiLYNnOWGjSFA" name="Saturday Saturday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Saturday%20Saturday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Saturday%20Saturday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_QWtmkcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_RZhucMTBEeiLYNnOWGjSFA" name="Sunday Sunday" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Sunday%20Sunday"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//DayKind/Sunday%20Sunday"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_RZhuccTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_TnuEUMTBEeiLYNnOWGjSFA" name="RoleKind" tooltipText="" width="12" height="10"> + <target xmi:type="ecore:EEnum" href="modelling.ecore#//RoleKind"/> + <semanticElements xmi:type="ecore:EEnum" href="modelling.ecore#//RoleKind"/> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_TnuEUcTBEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_W0LZQMTBEeiLYNnOWGjSFA" name="Lecturer Lecturer" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/Lecturer%20Lecturer"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/Lecturer%20Lecturer"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_W0LZQcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YWzpoMTBEeiLYNnOWGjSFA" name="Coordinator Coordinator" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/Coordinator%20Coordinator"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/Coordinator%20Coordinator"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YWzpocTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_aJr8gMTBEeiLYNnOWGjSFA" name="StudentAssistant StudentAssistant" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/StudentAssistant%20StudentAssistant"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/StudentAssistant%20StudentAssistant"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_aJr8gcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_k8944MTBEeiLYNnOWGjSFA" name="TeacherAssistant TeacherAssistant" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/TeacherAssistant%20TeacherAssistant"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//RoleKind/TeacherAssistant%20TeacherAssistant"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_k8944cTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_o_dd8MTBEeiLYNnOWGjSFA" name="EvaluationFormKind" tooltipText="" width="12" height="10"> + <target xmi:type="ecore:EEnum" href="modelling.ecore#//EvaluationFormKind"/> + <semanticElements xmi:type="ecore:EEnum" href="modelling.ecore#//EvaluationFormKind"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_o_dd8cTBEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_rYqJ8MTBEeiLYNnOWGjSFA" name="WrittenExam WrittenExam" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/WrittenExam%20WrittenExam"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/WrittenExam%20WrittenExam"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_rYqxAMTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_zo0pUMTBEeiLYNnOWGjSFA" name="OralExam OralExam" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/OralExam%20OralExam"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/OralExam%20OralExam"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_zo0pUcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_1bSFcMTBEeiLYNnOWGjSFA" name="Exercises Exercises" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/Exercises%20Exercises"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/Exercises%20Exercises"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_1bSsgMTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_26-9oMTBEeiLYNnOWGjSFA" name="Project Project" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/Project%20Project"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//EvaluationFormKind/Project%20Project"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_26-9ocTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5mC1sMTBEeiLYNnOWGjSFA" name="TeachingFormKind" tooltipText="" width="12" height="10"> + <target xmi:type="ecore:EEnum" href="modelling.ecore#//TeachingFormKind"/> + <semanticElements xmi:type="ecore:EEnum" href="modelling.ecore#//TeachingFormKind"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5mDcwMTBEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7u9qAMTBEeiLYNnOWGjSFA" name="Lecture Lecture" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//TeachingFormKind/Lecture%20Lecture"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//TeachingFormKind/Lecture%20Lecture"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7u-REMTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_8vGRUMTBEeiLYNnOWGjSFA" name="Lab Lab" tooltipText=""> + <target xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//TeachingFormKind/Lab%20Lab"/> + <semanticElements xmi:type="ecore:EEnumLiteral" href="modelling.ecore#//TeachingFormKind/Lab%20Lab"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_8vGRUcTBEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hX0hsMTCEeiLYNnOWGjSFA" name="EvaluationForm" tooltipText="" incomingEdges="_kXJK0MTIEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//EvaluationForm"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//EvaluationForm"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_sMPtkMTCEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_ldRUIMTCEeiLYNnOWGjSFA" name="percentage : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/percentage"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/percentage"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_m1JtEMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_npnP4MTCEeiLYNnOWGjSFA" name="content : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/content"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/content"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_od_TIMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_ph3K8MTCEeiLYNnOWGjSFA" name="type : EvaluationFormKind = WrittenExam WrittenExam" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/type"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//EvaluationForm/type"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_sMRiwMTCEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_BIDZIMTDEeiLYNnOWGjSFA" name="Department" tooltipText="" outgoingEdges="_CVNhEMTJEeiLYNnOWGjSFA _2ZHGAMTJEeiLYNnOWGjSFA" incomingEdges="_50KtEMTIEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Department"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Department"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_F1ib8MTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_FA56AMTDEeiLYNnOWGjSFA" name="name : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Department/name"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Department/name"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_F1kRIMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_blW-YMTDEeiLYNnOWGjSFA" name="PointReduction" tooltipText="" outgoingEdges="_Plna0MUDEeiLYNnOWGjSFA" incomingEdges="_iliDQMTIEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//PointReduction"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//PointReduction"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_fRkKYMTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_eqHv4MTDEeiLYNnOWGjSFA" name="reduction : EFloat = 0.0" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//PointReduction/reduction"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//PointReduction/reduction"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_fRl_kMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_iRjwoMTDEeiLYNnOWGjSFA" name="Role" tooltipText="" incomingEdges="_P1zxkMTEEeiLYNnOWGjSFA _a5B8gMTGEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Role"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Role"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l_aicMTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_jk5n0MTDEeiLYNnOWGjSFA" name="role : RoleKind = Lecturer Lecturer" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Role/role"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Role/role"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_l_c-sMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pTx2MMTDEeiLYNnOWGjSFA" name="Person" tooltipText="" outgoingEdges="_aCfA8MTEEeiLYNnOWGjSFA _mm6x4MTEEeiLYNnOWGjSFA" incomingEdges="_2ZHGAMTJEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Person"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Person"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_sVM_0MTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_qX4XgMTDEeiLYNnOWGjSFA" name="firstName : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Person/firstName"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Person/firstName"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_q-x_cMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_raRooMTDEeiLYNnOWGjSFA" name="lastName : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Person/lastName"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Person/lastName"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_sVO1AMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_xJCiQMTDEeiLYNnOWGjSFA" name="Student" tooltipText="" outgoingEdges="_Mw_qAMT2EeiLYNnOWGjSFA" incomingEdges="_aCfA8MTEEeiLYNnOWGjSFA _u-au4MTxEeiLYNnOWGjSFA _m7xKQMT1EeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Student"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Student"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_1YBEIMTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_y2uMEMTDEeiLYNnOWGjSFA" name="studentID : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Student/studentID"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Student/studentID"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_1YDgYMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_2ulOcMTDEeiLYNnOWGjSFA" name="Employee" tooltipText="" outgoingEdges="_P1zxkMTEEeiLYNnOWGjSFA" incomingEdges="_mm6x4MTEEeiLYNnOWGjSFA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="modelling.ecore#//Employee"/> + <semanticElements xmi:type="ecore:EClass" href="modelling.ecore#//Employee"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_6BtMEMTDEeiLYNnOWGjSFA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_4_dE4MTDEeiLYNnOWGjSFA" name="employeeID : EInt" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="modelling.ecore#//Employee/employeeID"/> + <semanticElements xmi:type="ecore:EAttribute" href="modelling.ecore#//Employee/employeeID"/> + <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_6BuaMMTDEeiLYNnOWGjSFA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_P1zxkMTEEeiLYNnOWGjSFA" name="[0..*] role" sourceNode="_2ulOcMTDEeiLYNnOWGjSFA" targetNode="_iRjwoMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Employee/role"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Employee/role"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_P10_sMTEEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_P11mwMTEEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_P11mwcTEEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_aCfA8MTEEeiLYNnOWGjSFA" name="[0..1] student" sourceNode="_pTx2MMTDEeiLYNnOWGjSFA" targetNode="_xJCiQMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Person/student"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Person/student"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_aCgPEMTEEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_aCgPEcTEEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_aCgPEsTEEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_mm6x4MTEEeiLYNnOWGjSFA" name="[0..1] employee" sourceNode="_pTx2MMTDEeiLYNnOWGjSFA" targetNode="_2ulOcMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Person/employee"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Person/employee"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_mm8AAMTEEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_mm8AAcTEEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_mm8AAsTEEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_a5B8gMTGEeiLYNnOWGjSFA" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_iRjwoMTDEeiLYNnOWGjSFA" beginLabel="[0..1] courseinstance" endLabel="[0..*] staff"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/staff"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Role/courseinstance"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/staff"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_a6n38MTGEeiLYNnOWGjSFA" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_a6n38cTGEeiLYNnOWGjSFA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_a6n38sTGEeiLYNnOWGjSFA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_iliDQMTIEeiLYNnOWGjSFA" name="[0..*] pointreduction" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_blW-YMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/pointreduction"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/pointreduction"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_iliqUMTIEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_iljRYMTIEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_iljRYcTIEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kXJK0MTIEeiLYNnOWGjSFA" name="[0..*] evaluationform" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_hX0hsMTCEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/evaluationform"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/evaluationform"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_kXJx4MTIEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_kXJx4cTIEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_kXJx4sTIEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_sJdQkMTIEeiLYNnOWGjSFA" name="[0..*] timetablerow" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_8uZjMMTAEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/timetablerow"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/timetablerow"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_sJd3oMTIEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_sJd3ocTIEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_sJd3osTIEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_50KtEMTIEeiLYNnOWGjSFA" name="[0..1] department" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_BIDZIMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/department"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/department"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_50LUIMTIEeiLYNnOWGjSFA" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_50LUIcTIEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_50LUIsTIEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_CVNhEMTJEeiLYNnOWGjSFA" name="[0..*] studyprogram" sourceNode="_BIDZIMTDEeiLYNnOWGjSFA" targetNode="_Egx7oMQXEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Department/studyprogram"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Department/studyprogram"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_CVOIIMTJEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_CVOIIcTJEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_CVOIIsTJEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_2ZHGAMTJEeiLYNnOWGjSFA" name="[0..*] person" sourceNode="_BIDZIMTDEeiLYNnOWGjSFA" targetNode="_pTx2MMTDEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Department/person"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Department/person"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_2ZHtEMTJEeiLYNnOWGjSFA" description="_OJMj8MSyEeiLYNnOWGjSFA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_2ZHtEcTJEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_2ZHtEsTJEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_u-au4MTxEeiLYNnOWGjSFA" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_xJCiQMTDEeiLYNnOWGjSFA" beginLabel="[0..*] registeredFor" endLabel="[0..1] registeredStudent"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/registeredStudent"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Student/registeredFor"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/registeredStudent"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_u-ckEMTxEeiLYNnOWGjSFA" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_u-ckEcTxEeiLYNnOWGjSFA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_u-ckEsTxEeiLYNnOWGjSFA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_m7xKQMT1EeiLYNnOWGjSFA" sourceNode="_GTs7cMS_EeiLYNnOWGjSFA" targetNode="_xJCiQMTDEeiLYNnOWGjSFA" beginLabel="[0..*] examPassed" endLabel="[0..1] passedStudent"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/passedStudent"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Student/examPassed"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//CourseInstance/passedStudent"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_m7xKQcT1EeiLYNnOWGjSFA" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_m7xKQsT1EeiLYNnOWGjSFA" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_m7xKQ8T1EeiLYNnOWGjSFA" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Mw_qAMT2EeiLYNnOWGjSFA" name="[0..1] studyprogram" sourceNode="_xJCiQMTDEeiLYNnOWGjSFA" targetNode="_Egx7oMQXEeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//Student/studyprogram"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//Student/studyprogram"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Mw_qAcT2EeiLYNnOWGjSFA" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Mw_qAsT2EeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Mw_qA8T2EeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Plna0MUDEeiLYNnOWGjSFA" name="[0..*] courseinstance" sourceNode="_blW-YMTDEeiLYNnOWGjSFA" targetNode="_GTs7cMS_EeiLYNnOWGjSFA"> + <target xmi:type="ecore:EReference" href="modelling.ecore#//PointReduction/courseinstance"/> + <semanticElements xmi:type="ecore:EReference" href="modelling.ecore#//PointReduction/courseinstance"/> + <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Ploo8MUDEeiLYNnOWGjSFA" routingStyle="manhattan" strokeColor="0,0,0"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Ploo8cUDEeiLYNnOWGjSFA" showIcon="false"> + <customFeatures>labelSize</customFeatures> + </centerLabelStyle> + <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Ploo8sUDEeiLYNnOWGjSFA" showIcon="false" labelColor="39,76,114"> + <customFeatures>labelSize</customFeatures> + </endLabelStyle> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + </ownedDiagramElements> + <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> + <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_JGibRMQWEeiLYNnOWGjSFA"/> + <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> + <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> + <target xmi:type="ecore:EPackage" href="modelling.ecore#/"/> + </diagram:DSemanticDiagram> +</xmi:XMI> diff --git a/model/modelling.ecore b/model/modelling.ecore new file mode 100644 index 0000000000000000000000000000000000000000..517d147f4e092e6cdd8ce6605036512a3ffb21fb --- /dev/null +++ b/model/modelling.ecore @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="modelling" nsURI="http://www.example.org/modelling" nsPrefix="modelling"> + <eClassifiers xsi:type="ecore:EClass" name="Course"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="recommendedCourses" upperBound="-1" + eType="#//Course"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="requiredCourses" upperBound="-1" + eType="#//Course"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="StudyProgram"> + <eStructuralFeatures xsi:type="ecore:EReference" name="course" upperBound="-1" + eType="#//Course" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CourseInstance"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="semesterYear" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="credits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="labHours" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="lectureHours" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="course" upperBound="-1" + eType="#//Course" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="staff" upperBound="-1" + eType="#//Role" eOpposite="#//Role/courseinstance"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="pointreduction" upperBound="-1" + eType="#//PointReduction" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="evaluationform" upperBound="-1" + eType="#//EvaluationForm" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="timetablerow" upperBound="-1" + eType="#//TimeTableRow" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="department" eType="#//Department"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="registeredStudent" eType="#//Student" + eOpposite="#//Student/registeredFor"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="passedStudent" eType="#//Student" + eOpposite="#//Student/examPassed"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TimeTableRow"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="weekday" eType="#//DayKind"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="startTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="endTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//TeachingFormKind"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="room" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="DayKind"> + <eLiterals name="Monday" literal="Monday"/> + <eLiterals name="Tuesday" value="1" literal="Tuesday"/> + <eLiterals name="Wednesday" value="2" literal="Wednesday"/> + <eLiterals name="Thursday" value="3" literal="Thursday"/> + <eLiterals name="Friday" value="4" literal="Friday "/> + <eLiterals name="Saturday" value="5" literal="Saturday"/> + <eLiterals name="Sunday" value="6" literal="Sunday"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="RoleKind"> + <eLiterals name="Lecturer" literal="Lecturer"/> + <eLiterals name="Coordinator" value="1" literal="Coordinator"/> + <eLiterals name="StudentAssistant" value="2" literal="StudentAssistant"/> + <eLiterals name="TeacherAssistant" value="3" literal="TeacherAssistant"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="EvaluationFormKind"> + <eLiterals name="WrittenExam" literal="WrittenExam"/> + <eLiterals name="OralExam" value="1" literal="OralExam "/> + <eLiterals name="Exercises" value="2" literal="Exercises "/> + <eLiterals name="Project" value="3" literal="Project "/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="TeachingFormKind"> + <eLiterals name="Lecture" literal="Lecture "/> + <eLiterals name="Lab" value="1" literal="Lab "/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="EvaluationForm"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="percentage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//EvaluationFormKind"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Department"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="studyprogram" upperBound="-1" + eType="#//StudyProgram" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="person" upperBound="-1" + eType="#//Person" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="PointReduction"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="reduction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="courseinstance" upperBound="-1" + eType="#//CourseInstance"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Role"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="role" eType="#//RoleKind"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="courseinstance" eType="#//CourseInstance" + eOpposite="#//CourseInstance/staff"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Person"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="student" eType="#//Student" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="employee" eType="#//Employee" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Student"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="studentID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="registeredFor" upperBound="-1" + eType="#//CourseInstance" eOpposite="#//CourseInstance/registeredStudent"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="examPassed" upperBound="-1" + eType="#//CourseInstance" eOpposite="#//CourseInstance/passedStudent"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="studyprogram" eType="#//StudyProgram"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Employee"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="employeeID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="role" upperBound="-1" eType="#//Role" + containment="true"/> + </eClassifiers> +</ecore:EPackage> diff --git a/model/modelling.genmodel b/model/modelling.genmodel new file mode 100644 index 0000000000000000000000000000000000000000..d23ca5f6174c61a9b34424d6a7c9a8082d4db8b3 --- /dev/null +++ b/model/modelling.genmodel @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" + modelDirectory="/modelling/src-gen" creationIcons="false" editDirectory="/modelling.edit/src-gen" + editorDirectory="/modelling.editor/src-gen" modelPluginID="modelling" modelName="Modelling" + rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true" + importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false" + operationReflection="true" importOrganizing="true"> + <foreignModel>modelling.ecore</foreignModel> + <testsDirectory xsi:nil="true"/> + <genPackages prefix="Modelling" disposableProviderFactory="true" ecorePackage="modelling.ecore#/"> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelling.ecore#//DayKind"> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Monday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Tuesday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Wednesday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Thursday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Friday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Saturday"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//DayKind/Sunday"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelling.ecore#//RoleKind"> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//RoleKind/Lecturer"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//RoleKind/Coordinator"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//RoleKind/StudentAssistant"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//RoleKind/TeacherAssistant"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelling.ecore#//EvaluationFormKind"> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//EvaluationFormKind/WrittenExam"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//EvaluationFormKind/OralExam"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//EvaluationFormKind/Exercises"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//EvaluationFormKind/Project"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="modelling.ecore#//TeachingFormKind"> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//TeachingFormKind/Lecture"/> + <genEnumLiterals ecoreEnumLiteral="modelling.ecore#//TeachingFormKind/Lab"/> + </genEnums> + <genClasses ecoreClass="modelling.ecore#//Course"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Course/code"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Course/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Course/content"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Course/recommendedCourses"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Course/requiredCourses"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//StudyProgram"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//StudyProgram/course"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//StudyProgram/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//StudyProgram/code"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//CourseInstance"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//CourseInstance/semesterYear"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//CourseInstance/credits"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//CourseInstance/labHours"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//CourseInstance/lectureHours"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/course"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/staff"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/pointreduction"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/evaluationform"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/timetablerow"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/department"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/registeredStudent"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//CourseInstance/passedStudent"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//TimeTableRow"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//TimeTableRow/weekday"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//TimeTableRow/startTime"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//TimeTableRow/endTime"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//TimeTableRow/type"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//TimeTableRow/room"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//EvaluationForm"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//EvaluationForm/percentage"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//EvaluationForm/content"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//EvaluationForm/type"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//Department"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Department/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//Department/studyprogram"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//Department/person"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//PointReduction"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//PointReduction/reduction"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//PointReduction/courseinstance"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//Role"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Role/role"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Role/courseinstance"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//Person"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Person/firstName"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Person/lastName"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//Person/student"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//Person/employee"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//Student"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Student/studentID"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Student/registeredFor"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Student/examPassed"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference modelling.ecore#//Student/studyprogram"/> + </genClasses> + <genClasses ecoreClass="modelling.ecore#//Employee"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute modelling.ecore#//Employee/employeeID"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference modelling.ecore#//Employee/role"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/model/modelling.jpg b/model/modelling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05b5a2b42783a09e36b9d8397bef6a495dd8be68 Binary files /dev/null and b/model/modelling.jpg differ diff --git a/plugin.properties b/plugin.properties new file mode 100644 index 0000000000000000000000000000000000000000..39db26350cab32ddce6594054f79a2201d04b3f1 --- /dev/null +++ b/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = modelling +providerName = www.example.org diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000000000000000000000000000000000000..73b66c3322b53913a18880d25992e75906e3c8de --- /dev/null +++ b/plugin.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated modelling --> + <package + uri="http://www.example.org/modelling" + class="modelling.ModellingPackage" + genModel="model/modelling.genmodel"/> + </extension> + +</plugin> diff --git a/src-gen/modelling/Course.java b/src-gen/modelling/Course.java new file mode 100644 index 0000000000000000000000000000000000000000..04d0ed7aa5a0836cdbf03e5ca8a6564857791e71 --- /dev/null +++ b/src-gen/modelling/Course.java @@ -0,0 +1,140 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Course</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Course#getCode <em>Code</em>}</li> + * <li>{@link modelling.Course#getName <em>Name</em>}</li> + * <li>{@link modelling.Course#getContent <em>Content</em>}</li> + * <li>{@link modelling.Course#getRecommendedCourses <em>Recommended Courses</em>}</li> + * <li>{@link modelling.Course#getRequiredCourses <em>Required Courses</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getCourse() + * @model + * @generated + */ +public interface Course extends EObject { + /** + * Returns the value of the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Code</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Code</em>' attribute. + * @see #setCode(String) + * @see modelling.ModellingPackage#getCourse_Code() + * @model + * @generated + */ + String getCode(); + + /** + * Sets the value of the '{@link modelling.Course#getCode <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Code</em>' attribute. + * @see #getCode() + * @generated + */ + void setCode(String value); + + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see modelling.ModellingPackage#getCourse_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link modelling.Course#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Content</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Content</em>' attribute. + * @see #setContent(String) + * @see modelling.ModellingPackage#getCourse_Content() + * @model + * @generated + */ + String getContent(); + + /** + * Sets the value of the '{@link modelling.Course#getContent <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Content</em>' attribute. + * @see #getContent() + * @generated + */ + void setContent(String value); + + /** + * Returns the value of the '<em><b>Recommended Courses</b></em>' reference list. + * The list contents are of type {@link modelling.Course}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Recommended Courses</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Recommended Courses</em>' reference list. + * @see modelling.ModellingPackage#getCourse_RecommendedCourses() + * @model + * @generated + */ + EList<Course> getRecommendedCourses(); + + /** + * Returns the value of the '<em><b>Required Courses</b></em>' reference list. + * The list contents are of type {@link modelling.Course}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Required Courses</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Required Courses</em>' reference list. + * @see modelling.ModellingPackage#getCourse_RequiredCourses() + * @model + * @generated + */ + EList<Course> getRequiredCourses(); + +} // Course diff --git a/src-gen/modelling/CourseInstance.java b/src-gen/modelling/CourseInstance.java new file mode 100644 index 0000000000000000000000000000000000000000..bdfcd3586dbc9f52f49ee2b9a8581f2a4899c3c8 --- /dev/null +++ b/src-gen/modelling/CourseInstance.java @@ -0,0 +1,305 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Course Instance</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.CourseInstance#getSemesterYear <em>Semester Year</em>}</li> + * <li>{@link modelling.CourseInstance#getCredits <em>Credits</em>}</li> + * <li>{@link modelling.CourseInstance#getLabHours <em>Lab Hours</em>}</li> + * <li>{@link modelling.CourseInstance#getLectureHours <em>Lecture Hours</em>}</li> + * <li>{@link modelling.CourseInstance#getCourse <em>Course</em>}</li> + * <li>{@link modelling.CourseInstance#getStaff <em>Staff</em>}</li> + * <li>{@link modelling.CourseInstance#getPointreduction <em>Pointreduction</em>}</li> + * <li>{@link modelling.CourseInstance#getEvaluationform <em>Evaluationform</em>}</li> + * <li>{@link modelling.CourseInstance#getTimetablerow <em>Timetablerow</em>}</li> + * <li>{@link modelling.CourseInstance#getDepartment <em>Department</em>}</li> + * <li>{@link modelling.CourseInstance#getRegisteredStudent <em>Registered Student</em>}</li> + * <li>{@link modelling.CourseInstance#getPassedStudent <em>Passed Student</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getCourseInstance() + * @model + * @generated + */ +public interface CourseInstance extends EObject { + /** + * Returns the value of the '<em><b>Semester Year</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Semester Year</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Semester Year</em>' attribute. + * @see #setSemesterYear(String) + * @see modelling.ModellingPackage#getCourseInstance_SemesterYear() + * @model + * @generated + */ + String getSemesterYear(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getSemesterYear <em>Semester Year</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Semester Year</em>' attribute. + * @see #getSemesterYear() + * @generated + */ + void setSemesterYear(String value); + + /** + * Returns the value of the '<em><b>Credits</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Credits</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Credits</em>' attribute. + * @see #setCredits(float) + * @see modelling.ModellingPackage#getCourseInstance_Credits() + * @model + * @generated + */ + float getCredits(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getCredits <em>Credits</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Credits</em>' attribute. + * @see #getCredits() + * @generated + */ + void setCredits(float value); + + /** + * Returns the value of the '<em><b>Lab Hours</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lab Hours</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lab Hours</em>' attribute. + * @see #setLabHours(int) + * @see modelling.ModellingPackage#getCourseInstance_LabHours() + * @model + * @generated + */ + int getLabHours(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getLabHours <em>Lab Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lab Hours</em>' attribute. + * @see #getLabHours() + * @generated + */ + void setLabHours(int value); + + /** + * Returns the value of the '<em><b>Lecture Hours</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lecture Hours</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lecture Hours</em>' attribute. + * @see #setLectureHours(int) + * @see modelling.ModellingPackage#getCourseInstance_LectureHours() + * @model + * @generated + */ + int getLectureHours(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getLectureHours <em>Lecture Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lecture Hours</em>' attribute. + * @see #getLectureHours() + * @generated + */ + void setLectureHours(int value); + + /** + * Returns the value of the '<em><b>Course</b></em>' containment reference list. + * The list contents are of type {@link modelling.Course}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Course</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Course</em>' containment reference list. + * @see modelling.ModellingPackage#getCourseInstance_Course() + * @model containment="true" + * @generated + */ + EList<Course> getCourse(); + + /** + * Returns the value of the '<em><b>Staff</b></em>' reference list. + * The list contents are of type {@link modelling.Role}. + * It is bidirectional and its opposite is '{@link modelling.Role#getCourseinstance <em>Courseinstance</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Staff</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Staff</em>' reference list. + * @see modelling.ModellingPackage#getCourseInstance_Staff() + * @see modelling.Role#getCourseinstance + * @model opposite="courseinstance" + * @generated + */ + EList<Role> getStaff(); + + /** + * Returns the value of the '<em><b>Pointreduction</b></em>' containment reference list. + * The list contents are of type {@link modelling.PointReduction}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Pointreduction</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Pointreduction</em>' containment reference list. + * @see modelling.ModellingPackage#getCourseInstance_Pointreduction() + * @model containment="true" + * @generated + */ + EList<PointReduction> getPointreduction(); + + /** + * Returns the value of the '<em><b>Evaluationform</b></em>' containment reference list. + * The list contents are of type {@link modelling.EvaluationForm}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Evaluationform</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Evaluationform</em>' containment reference list. + * @see modelling.ModellingPackage#getCourseInstance_Evaluationform() + * @model containment="true" + * @generated + */ + EList<EvaluationForm> getEvaluationform(); + + /** + * Returns the value of the '<em><b>Timetablerow</b></em>' containment reference list. + * The list contents are of type {@link modelling.TimeTableRow}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Timetablerow</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Timetablerow</em>' containment reference list. + * @see modelling.ModellingPackage#getCourseInstance_Timetablerow() + * @model containment="true" + * @generated + */ + EList<TimeTableRow> getTimetablerow(); + + /** + * Returns the value of the '<em><b>Department</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Department</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Department</em>' reference. + * @see #setDepartment(Department) + * @see modelling.ModellingPackage#getCourseInstance_Department() + * @model + * @generated + */ + Department getDepartment(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getDepartment <em>Department</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Department</em>' reference. + * @see #getDepartment() + * @generated + */ + void setDepartment(Department value); + + /** + * Returns the value of the '<em><b>Registered Student</b></em>' reference. + * It is bidirectional and its opposite is '{@link modelling.Student#getRegisteredFor <em>Registered For</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Registered Student</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Registered Student</em>' reference. + * @see #setRegisteredStudent(Student) + * @see modelling.ModellingPackage#getCourseInstance_RegisteredStudent() + * @see modelling.Student#getRegisteredFor + * @model opposite="registeredFor" + * @generated + */ + Student getRegisteredStudent(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getRegisteredStudent <em>Registered Student</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Registered Student</em>' reference. + * @see #getRegisteredStudent() + * @generated + */ + void setRegisteredStudent(Student value); + + /** + * Returns the value of the '<em><b>Passed Student</b></em>' reference. + * It is bidirectional and its opposite is '{@link modelling.Student#getExamPassed <em>Exam Passed</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Passed Student</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Passed Student</em>' reference. + * @see #setPassedStudent(Student) + * @see modelling.ModellingPackage#getCourseInstance_PassedStudent() + * @see modelling.Student#getExamPassed + * @model opposite="examPassed" + * @generated + */ + Student getPassedStudent(); + + /** + * Sets the value of the '{@link modelling.CourseInstance#getPassedStudent <em>Passed Student</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Passed Student</em>' reference. + * @see #getPassedStudent() + * @generated + */ + void setPassedStudent(Student value); + +} // CourseInstance diff --git a/src-gen/modelling/DayKind.java b/src-gen/modelling/DayKind.java new file mode 100644 index 0000000000000000000000000000000000000000..9d900bf3546eb7ec8fcf81eca03fdc76b959a301 --- /dev/null +++ b/src-gen/modelling/DayKind.java @@ -0,0 +1,348 @@ +/** + */ +package modelling; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Day Kind</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage#getDayKind() + * @model + * @generated + */ +public enum DayKind implements Enumerator { + /** + * The '<em><b>Monday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #MONDAY_VALUE + * @generated + * @ordered + */ + MONDAY(0, "Monday", "Monday"), + + /** + * The '<em><b>Tuesday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TUESDAY_VALUE + * @generated + * @ordered + */ + TUESDAY(1, "Tuesday", "Tuesday"), + + /** + * The '<em><b>Wednesday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #WEDNESDAY_VALUE + * @generated + * @ordered + */ + WEDNESDAY(2, "Wednesday", "Wednesday"), + + /** + * The '<em><b>Thursday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #THURSDAY_VALUE + * @generated + * @ordered + */ + THURSDAY(3, "Thursday", "Thursday"), + + /** + * The '<em><b>Friday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #FRIDAY_VALUE + * @generated + * @ordered + */ + FRIDAY(4, "Friday", "Friday "), + + /** + * The '<em><b>Saturday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SATURDAY_VALUE + * @generated + * @ordered + */ + SATURDAY(5, "Saturday", "Saturday"), + + /** + * The '<em><b>Sunday</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SUNDAY_VALUE + * @generated + * @ordered + */ + SUNDAY(6, "Sunday", "Sunday"); + + /** + * The '<em><b>Monday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Monday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #MONDAY + * @model name="Monday" + * @generated + * @ordered + */ + public static final int MONDAY_VALUE = 0; + + /** + * The '<em><b>Tuesday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Tuesday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TUESDAY + * @model name="Tuesday" + * @generated + * @ordered + */ + public static final int TUESDAY_VALUE = 1; + + /** + * The '<em><b>Wednesday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Wednesday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #WEDNESDAY + * @model name="Wednesday" + * @generated + * @ordered + */ + public static final int WEDNESDAY_VALUE = 2; + + /** + * The '<em><b>Thursday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Thursday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #THURSDAY + * @model name="Thursday" + * @generated + * @ordered + */ + public static final int THURSDAY_VALUE = 3; + + /** + * The '<em><b>Friday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Friday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #FRIDAY + * @model name="Friday" literal="Friday " + * @generated + * @ordered + */ + public static final int FRIDAY_VALUE = 4; + + /** + * The '<em><b>Saturday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Saturday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SATURDAY + * @model name="Saturday" + * @generated + * @ordered + */ + public static final int SATURDAY_VALUE = 5; + + /** + * The '<em><b>Sunday</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Sunday</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SUNDAY + * @model name="Sunday" + * @generated + * @ordered + */ + public static final int SUNDAY_VALUE = 6; + + /** + * An array of all the '<em><b>Day Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final DayKind[] VALUES_ARRAY = new DayKind[] { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, + SATURDAY, SUNDAY, }; + + /** + * A public read-only list of all the '<em><b>Day Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<DayKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Day Kind</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static DayKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + DayKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Day Kind</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static DayKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + DayKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Day Kind</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static DayKind get(int value) { + switch (value) { + case MONDAY_VALUE: + return MONDAY; + case TUESDAY_VALUE: + return TUESDAY; + case WEDNESDAY_VALUE: + return WEDNESDAY; + case THURSDAY_VALUE: + return THURSDAY; + case FRIDAY_VALUE: + return FRIDAY; + case SATURDAY_VALUE: + return SATURDAY; + case SUNDAY_VALUE: + return SUNDAY; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private DayKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //DayKind diff --git a/src-gen/modelling/Department.java b/src-gen/modelling/Department.java new file mode 100644 index 0000000000000000000000000000000000000000..3825a80e78cf47edf30ddff65f9c3e11d4b370b9 --- /dev/null +++ b/src-gen/modelling/Department.java @@ -0,0 +1,86 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Department</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Department#getName <em>Name</em>}</li> + * <li>{@link modelling.Department#getStudyprogram <em>Studyprogram</em>}</li> + * <li>{@link modelling.Department#getPerson <em>Person</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getDepartment() + * @model + * @generated + */ +public interface Department extends EObject { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see modelling.ModellingPackage#getDepartment_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link modelling.Department#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Studyprogram</b></em>' containment reference list. + * The list contents are of type {@link modelling.StudyProgram}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Studyprogram</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Studyprogram</em>' containment reference list. + * @see modelling.ModellingPackage#getDepartment_Studyprogram() + * @model containment="true" + * @generated + */ + EList<StudyProgram> getStudyprogram(); + + /** + * Returns the value of the '<em><b>Person</b></em>' containment reference list. + * The list contents are of type {@link modelling.Person}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Person</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Person</em>' containment reference list. + * @see modelling.ModellingPackage#getDepartment_Person() + * @model containment="true" + * @generated + */ + EList<Person> getPerson(); + +} // Department diff --git a/src-gen/modelling/Employee.java b/src-gen/modelling/Employee.java new file mode 100644 index 0000000000000000000000000000000000000000..7d8ea6ecd99bc5bcf0cea013ddfa314b727888b9 --- /dev/null +++ b/src-gen/modelling/Employee.java @@ -0,0 +1,69 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Employee</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Employee#getEmployeeID <em>Employee ID</em>}</li> + * <li>{@link modelling.Employee#getRole <em>Role</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getEmployee() + * @model + * @generated + */ +public interface Employee extends EObject { + /** + * Returns the value of the '<em><b>Employee ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Employee ID</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Employee ID</em>' attribute. + * @see #setEmployeeID(int) + * @see modelling.ModellingPackage#getEmployee_EmployeeID() + * @model + * @generated + */ + int getEmployeeID(); + + /** + * Sets the value of the '{@link modelling.Employee#getEmployeeID <em>Employee ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Employee ID</em>' attribute. + * @see #getEmployeeID() + * @generated + */ + void setEmployeeID(int value); + + /** + * Returns the value of the '<em><b>Role</b></em>' containment reference list. + * The list contents are of type {@link modelling.Role}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Role</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Role</em>' containment reference list. + * @see modelling.ModellingPackage#getEmployee_Role() + * @model containment="true" + * @generated + */ + EList<Role> getRole(); + +} // Employee diff --git a/src-gen/modelling/EvaluationForm.java b/src-gen/modelling/EvaluationForm.java new file mode 100644 index 0000000000000000000000000000000000000000..536f9eb794c264ff64f206d8035e1dbb886bae3d --- /dev/null +++ b/src-gen/modelling/EvaluationForm.java @@ -0,0 +1,107 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Evaluation Form</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.EvaluationForm#getPercentage <em>Percentage</em>}</li> + * <li>{@link modelling.EvaluationForm#getContent <em>Content</em>}</li> + * <li>{@link modelling.EvaluationForm#getType <em>Type</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getEvaluationForm() + * @model + * @generated + */ +public interface EvaluationForm extends EObject { + /** + * Returns the value of the '<em><b>Percentage</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Percentage</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Percentage</em>' attribute. + * @see #setPercentage(int) + * @see modelling.ModellingPackage#getEvaluationForm_Percentage() + * @model + * @generated + */ + int getPercentage(); + + /** + * Sets the value of the '{@link modelling.EvaluationForm#getPercentage <em>Percentage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Percentage</em>' attribute. + * @see #getPercentage() + * @generated + */ + void setPercentage(int value); + + /** + * Returns the value of the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Content</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Content</em>' attribute. + * @see #setContent(String) + * @see modelling.ModellingPackage#getEvaluationForm_Content() + * @model + * @generated + */ + String getContent(); + + /** + * Sets the value of the '{@link modelling.EvaluationForm#getContent <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Content</em>' attribute. + * @see #getContent() + * @generated + */ + void setContent(String value); + + /** + * Returns the value of the '<em><b>Type</b></em>' attribute. + * The literals are from the enumeration {@link modelling.EvaluationFormKind}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type</em>' attribute. + * @see modelling.EvaluationFormKind + * @see #setType(EvaluationFormKind) + * @see modelling.ModellingPackage#getEvaluationForm_Type() + * @model + * @generated + */ + EvaluationFormKind getType(); + + /** + * Sets the value of the '{@link modelling.EvaluationForm#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Type</em>' attribute. + * @see modelling.EvaluationFormKind + * @see #getType() + * @generated + */ + void setType(EvaluationFormKind value); + +} // EvaluationForm diff --git a/src-gen/modelling/EvaluationFormKind.java b/src-gen/modelling/EvaluationFormKind.java new file mode 100644 index 0000000000000000000000000000000000000000..7bb27432493476c14f9a9e681491be817795281a --- /dev/null +++ b/src-gen/modelling/EvaluationFormKind.java @@ -0,0 +1,267 @@ +/** + */ +package modelling; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Evaluation Form Kind</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage#getEvaluationFormKind() + * @model + * @generated + */ +public enum EvaluationFormKind implements Enumerator { + /** + * The '<em><b>Written Exam</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #WRITTEN_EXAM_VALUE + * @generated + * @ordered + */ + WRITTEN_EXAM(0, "WrittenExam", "WrittenExam"), + + /** + * The '<em><b>Oral Exam</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ORAL_EXAM_VALUE + * @generated + * @ordered + */ + ORAL_EXAM(1, "OralExam", "OralExam "), + + /** + * The '<em><b>Exercises</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EXERCISES_VALUE + * @generated + * @ordered + */ + EXERCISES(2, "Exercises", "Exercises "), + + /** + * The '<em><b>Project</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #PROJECT_VALUE + * @generated + * @ordered + */ + PROJECT(3, "Project", "Project "); + + /** + * The '<em><b>Written Exam</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Written Exam</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #WRITTEN_EXAM + * @model name="WrittenExam" + * @generated + * @ordered + */ + public static final int WRITTEN_EXAM_VALUE = 0; + + /** + * The '<em><b>Oral Exam</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Oral Exam</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ORAL_EXAM + * @model name="OralExam" literal="OralExam " + * @generated + * @ordered + */ + public static final int ORAL_EXAM_VALUE = 1; + + /** + * The '<em><b>Exercises</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Exercises</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EXERCISES + * @model name="Exercises" literal="Exercises " + * @generated + * @ordered + */ + public static final int EXERCISES_VALUE = 2; + + /** + * The '<em><b>Project</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Project</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #PROJECT + * @model name="Project" literal="Project " + * @generated + * @ordered + */ + public static final int PROJECT_VALUE = 3; + + /** + * An array of all the '<em><b>Evaluation Form Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final EvaluationFormKind[] VALUES_ARRAY = new EvaluationFormKind[] { WRITTEN_EXAM, ORAL_EXAM, + EXERCISES, PROJECT, }; + + /** + * A public read-only list of all the '<em><b>Evaluation Form Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<EvaluationFormKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Evaluation Form Kind</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static EvaluationFormKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + EvaluationFormKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Evaluation Form Kind</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static EvaluationFormKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + EvaluationFormKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Evaluation Form Kind</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static EvaluationFormKind get(int value) { + switch (value) { + case WRITTEN_EXAM_VALUE: + return WRITTEN_EXAM; + case ORAL_EXAM_VALUE: + return ORAL_EXAM; + case EXERCISES_VALUE: + return EXERCISES; + case PROJECT_VALUE: + return PROJECT; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EvaluationFormKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //EvaluationFormKind diff --git a/src-gen/modelling/ModellingFactory.java b/src-gen/modelling/ModellingFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..111355c78fe4037a9c129d185d6feefcc143d716 --- /dev/null +++ b/src-gen/modelling/ModellingFactory.java @@ -0,0 +1,132 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage + * @generated + */ +public interface ModellingFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + ModellingFactory eINSTANCE = modelling.impl.ModellingFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Course</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Course</em>'. + * @generated + */ + Course createCourse(); + + /** + * Returns a new object of class '<em>Study Program</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Study Program</em>'. + * @generated + */ + StudyProgram createStudyProgram(); + + /** + * Returns a new object of class '<em>Course Instance</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Course Instance</em>'. + * @generated + */ + CourseInstance createCourseInstance(); + + /** + * Returns a new object of class '<em>Time Table Row</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Time Table Row</em>'. + * @generated + */ + TimeTableRow createTimeTableRow(); + + /** + * Returns a new object of class '<em>Evaluation Form</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Evaluation Form</em>'. + * @generated + */ + EvaluationForm createEvaluationForm(); + + /** + * Returns a new object of class '<em>Department</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Department</em>'. + * @generated + */ + Department createDepartment(); + + /** + * Returns a new object of class '<em>Point Reduction</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Point Reduction</em>'. + * @generated + */ + PointReduction createPointReduction(); + + /** + * Returns a new object of class '<em>Role</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Role</em>'. + * @generated + */ + Role createRole(); + + /** + * Returns a new object of class '<em>Person</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Person</em>'. + * @generated + */ + Person createPerson(); + + /** + * Returns a new object of class '<em>Student</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Student</em>'. + * @generated + */ + Student createStudent(); + + /** + * Returns a new object of class '<em>Employee</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Employee</em>'. + * @generated + */ + Employee createEmployee(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + ModellingPackage getModellingPackage(); + +} //ModellingFactory diff --git a/src-gen/modelling/ModellingPackage.java b/src-gen/modelling/ModellingPackage.java new file mode 100644 index 0000000000000000000000000000000000000000..e5f7f77f1485b1fe16dc12d4733006eeba8d975f --- /dev/null +++ b/src-gen/modelling/ModellingPackage.java @@ -0,0 +1,1993 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see modelling.ModellingFactory + * @model kind="package" + * @generated + */ +public interface ModellingPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "modelling"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.example.org/modelling"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "modelling"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + ModellingPackage eINSTANCE = modelling.impl.ModellingPackageImpl.init(); + + /** + * The meta object id for the '{@link modelling.impl.CourseImpl <em>Course</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.CourseImpl + * @see modelling.impl.ModellingPackageImpl#getCourse() + * @generated + */ + int COURSE = 0; + + /** + * The feature id for the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE__CODE = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE__NAME = 1; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE__CONTENT = 2; + + /** + * The feature id for the '<em><b>Recommended Courses</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE__RECOMMENDED_COURSES = 3; + + /** + * The feature id for the '<em><b>Required Courses</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE__REQUIRED_COURSES = 4; + + /** + * The number of structural features of the '<em>Course</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Course</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.StudyProgramImpl <em>Study Program</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.StudyProgramImpl + * @see modelling.impl.ModellingPackageImpl#getStudyProgram() + * @generated + */ + int STUDY_PROGRAM = 1; + + /** + * The feature id for the '<em><b>Course</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDY_PROGRAM__COURSE = 0; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDY_PROGRAM__NAME = 1; + + /** + * The feature id for the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDY_PROGRAM__CODE = 2; + + /** + * The number of structural features of the '<em>Study Program</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDY_PROGRAM_FEATURE_COUNT = 3; + + /** + * The number of operations of the '<em>Study Program</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDY_PROGRAM_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.CourseInstanceImpl <em>Course Instance</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.CourseInstanceImpl + * @see modelling.impl.ModellingPackageImpl#getCourseInstance() + * @generated + */ + int COURSE_INSTANCE = 2; + + /** + * The feature id for the '<em><b>Semester Year</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__SEMESTER_YEAR = 0; + + /** + * The feature id for the '<em><b>Credits</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__CREDITS = 1; + + /** + * The feature id for the '<em><b>Lab Hours</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__LAB_HOURS = 2; + + /** + * The feature id for the '<em><b>Lecture Hours</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__LECTURE_HOURS = 3; + + /** + * The feature id for the '<em><b>Course</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__COURSE = 4; + + /** + * The feature id for the '<em><b>Staff</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__STAFF = 5; + + /** + * The feature id for the '<em><b>Pointreduction</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__POINTREDUCTION = 6; + + /** + * The feature id for the '<em><b>Evaluationform</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__EVALUATIONFORM = 7; + + /** + * The feature id for the '<em><b>Timetablerow</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__TIMETABLEROW = 8; + + /** + * The feature id for the '<em><b>Department</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__DEPARTMENT = 9; + + /** + * The feature id for the '<em><b>Registered Student</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__REGISTERED_STUDENT = 10; + + /** + * The feature id for the '<em><b>Passed Student</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE__PASSED_STUDENT = 11; + + /** + * The number of structural features of the '<em>Course Instance</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE_FEATURE_COUNT = 12; + + /** + * The number of operations of the '<em>Course Instance</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COURSE_INSTANCE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.TimeTableRowImpl <em>Time Table Row</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.TimeTableRowImpl + * @see modelling.impl.ModellingPackageImpl#getTimeTableRow() + * @generated + */ + int TIME_TABLE_ROW = 3; + + /** + * The feature id for the '<em><b>Weekday</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW__WEEKDAY = 0; + + /** + * The feature id for the '<em><b>Start Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW__START_TIME = 1; + + /** + * The feature id for the '<em><b>End Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW__END_TIME = 2; + + /** + * The feature id for the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW__TYPE = 3; + + /** + * The feature id for the '<em><b>Room</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW__ROOM = 4; + + /** + * The number of structural features of the '<em>Time Table Row</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Time Table Row</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TIME_TABLE_ROW_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.EvaluationFormImpl <em>Evaluation Form</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.EvaluationFormImpl + * @see modelling.impl.ModellingPackageImpl#getEvaluationForm() + * @generated + */ + int EVALUATION_FORM = 4; + + /** + * The feature id for the '<em><b>Percentage</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVALUATION_FORM__PERCENTAGE = 0; + + /** + * The feature id for the '<em><b>Content</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVALUATION_FORM__CONTENT = 1; + + /** + * The feature id for the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVALUATION_FORM__TYPE = 2; + + /** + * The number of structural features of the '<em>Evaluation Form</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVALUATION_FORM_FEATURE_COUNT = 3; + + /** + * The number of operations of the '<em>Evaluation Form</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EVALUATION_FORM_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.DepartmentImpl <em>Department</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.DepartmentImpl + * @see modelling.impl.ModellingPackageImpl#getDepartment() + * @generated + */ + int DEPARTMENT = 5; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPARTMENT__NAME = 0; + + /** + * The feature id for the '<em><b>Studyprogram</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPARTMENT__STUDYPROGRAM = 1; + + /** + * The feature id for the '<em><b>Person</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPARTMENT__PERSON = 2; + + /** + * The number of structural features of the '<em>Department</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPARTMENT_FEATURE_COUNT = 3; + + /** + * The number of operations of the '<em>Department</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPARTMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.PointReductionImpl <em>Point Reduction</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.PointReductionImpl + * @see modelling.impl.ModellingPackageImpl#getPointReduction() + * @generated + */ + int POINT_REDUCTION = 6; + + /** + * The feature id for the '<em><b>Reduction</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POINT_REDUCTION__REDUCTION = 0; + + /** + * The feature id for the '<em><b>Courseinstance</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POINT_REDUCTION__COURSEINSTANCE = 1; + + /** + * The number of structural features of the '<em>Point Reduction</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POINT_REDUCTION_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Point Reduction</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POINT_REDUCTION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.RoleImpl <em>Role</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.RoleImpl + * @see modelling.impl.ModellingPackageImpl#getRole() + * @generated + */ + int ROLE = 7; + + /** + * The feature id for the '<em><b>Role</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ROLE__ROLE = 0; + + /** + * The feature id for the '<em><b>Courseinstance</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ROLE__COURSEINSTANCE = 1; + + /** + * The number of structural features of the '<em>Role</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ROLE_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Role</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ROLE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.PersonImpl <em>Person</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.PersonImpl + * @see modelling.impl.ModellingPackageImpl#getPerson() + * @generated + */ + int PERSON = 8; + + /** + * The feature id for the '<em><b>First Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON__FIRST_NAME = 0; + + /** + * The feature id for the '<em><b>Last Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON__LAST_NAME = 1; + + /** + * The feature id for the '<em><b>Student</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON__STUDENT = 2; + + /** + * The feature id for the '<em><b>Employee</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON__EMPLOYEE = 3; + + /** + * The number of structural features of the '<em>Person</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON_FEATURE_COUNT = 4; + + /** + * The number of operations of the '<em>Person</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PERSON_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.StudentImpl <em>Student</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.StudentImpl + * @see modelling.impl.ModellingPackageImpl#getStudent() + * @generated + */ + int STUDENT = 9; + + /** + * The feature id for the '<em><b>Student ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT__STUDENT_ID = 0; + + /** + * The feature id for the '<em><b>Registered For</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT__REGISTERED_FOR = 1; + + /** + * The feature id for the '<em><b>Exam Passed</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT__EXAM_PASSED = 2; + + /** + * The feature id for the '<em><b>Studyprogram</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT__STUDYPROGRAM = 3; + + /** + * The number of structural features of the '<em>Student</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT_FEATURE_COUNT = 4; + + /** + * The number of operations of the '<em>Student</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STUDENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.impl.EmployeeImpl <em>Employee</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.EmployeeImpl + * @see modelling.impl.ModellingPackageImpl#getEmployee() + * @generated + */ + int EMPLOYEE = 10; + + /** + * The feature id for the '<em><b>Employee ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPLOYEE__EMPLOYEE_ID = 0; + + /** + * The feature id for the '<em><b>Role</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPLOYEE__ROLE = 1; + + /** + * The number of structural features of the '<em>Employee</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPLOYEE_FEATURE_COUNT = 2; + + /** + * The number of operations of the '<em>Employee</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EMPLOYEE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link modelling.DayKind <em>Day Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.DayKind + * @see modelling.impl.ModellingPackageImpl#getDayKind() + * @generated + */ + int DAY_KIND = 11; + + /** + * The meta object id for the '{@link modelling.RoleKind <em>Role Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.RoleKind + * @see modelling.impl.ModellingPackageImpl#getRoleKind() + * @generated + */ + int ROLE_KIND = 12; + + /** + * The meta object id for the '{@link modelling.EvaluationFormKind <em>Evaluation Form Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.EvaluationFormKind + * @see modelling.impl.ModellingPackageImpl#getEvaluationFormKind() + * @generated + */ + int EVALUATION_FORM_KIND = 13; + + /** + * The meta object id for the '{@link modelling.TeachingFormKind <em>Teaching Form Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.TeachingFormKind + * @see modelling.impl.ModellingPackageImpl#getTeachingFormKind() + * @generated + */ + int TEACHING_FORM_KIND = 14; + + /** + * Returns the meta object for class '{@link modelling.Course <em>Course</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Course</em>'. + * @see modelling.Course + * @generated + */ + EClass getCourse(); + + /** + * Returns the meta object for the attribute '{@link modelling.Course#getCode <em>Code</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Code</em>'. + * @see modelling.Course#getCode() + * @see #getCourse() + * @generated + */ + EAttribute getCourse_Code(); + + /** + * Returns the meta object for the attribute '{@link modelling.Course#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see modelling.Course#getName() + * @see #getCourse() + * @generated + */ + EAttribute getCourse_Name(); + + /** + * Returns the meta object for the attribute '{@link modelling.Course#getContent <em>Content</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Content</em>'. + * @see modelling.Course#getContent() + * @see #getCourse() + * @generated + */ + EAttribute getCourse_Content(); + + /** + * Returns the meta object for the reference list '{@link modelling.Course#getRecommendedCourses <em>Recommended Courses</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Recommended Courses</em>'. + * @see modelling.Course#getRecommendedCourses() + * @see #getCourse() + * @generated + */ + EReference getCourse_RecommendedCourses(); + + /** + * Returns the meta object for the reference list '{@link modelling.Course#getRequiredCourses <em>Required Courses</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Required Courses</em>'. + * @see modelling.Course#getRequiredCourses() + * @see #getCourse() + * @generated + */ + EReference getCourse_RequiredCourses(); + + /** + * Returns the meta object for class '{@link modelling.StudyProgram <em>Study Program</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Study Program</em>'. + * @see modelling.StudyProgram + * @generated + */ + EClass getStudyProgram(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.StudyProgram#getCourse <em>Course</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Course</em>'. + * @see modelling.StudyProgram#getCourse() + * @see #getStudyProgram() + * @generated + */ + EReference getStudyProgram_Course(); + + /** + * Returns the meta object for the attribute '{@link modelling.StudyProgram#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see modelling.StudyProgram#getName() + * @see #getStudyProgram() + * @generated + */ + EAttribute getStudyProgram_Name(); + + /** + * Returns the meta object for the attribute '{@link modelling.StudyProgram#getCode <em>Code</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Code</em>'. + * @see modelling.StudyProgram#getCode() + * @see #getStudyProgram() + * @generated + */ + EAttribute getStudyProgram_Code(); + + /** + * Returns the meta object for class '{@link modelling.CourseInstance <em>Course Instance</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Course Instance</em>'. + * @see modelling.CourseInstance + * @generated + */ + EClass getCourseInstance(); + + /** + * Returns the meta object for the attribute '{@link modelling.CourseInstance#getSemesterYear <em>Semester Year</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Semester Year</em>'. + * @see modelling.CourseInstance#getSemesterYear() + * @see #getCourseInstance() + * @generated + */ + EAttribute getCourseInstance_SemesterYear(); + + /** + * Returns the meta object for the attribute '{@link modelling.CourseInstance#getCredits <em>Credits</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Credits</em>'. + * @see modelling.CourseInstance#getCredits() + * @see #getCourseInstance() + * @generated + */ + EAttribute getCourseInstance_Credits(); + + /** + * Returns the meta object for the attribute '{@link modelling.CourseInstance#getLabHours <em>Lab Hours</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Lab Hours</em>'. + * @see modelling.CourseInstance#getLabHours() + * @see #getCourseInstance() + * @generated + */ + EAttribute getCourseInstance_LabHours(); + + /** + * Returns the meta object for the attribute '{@link modelling.CourseInstance#getLectureHours <em>Lecture Hours</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Lecture Hours</em>'. + * @see modelling.CourseInstance#getLectureHours() + * @see #getCourseInstance() + * @generated + */ + EAttribute getCourseInstance_LectureHours(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.CourseInstance#getCourse <em>Course</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Course</em>'. + * @see modelling.CourseInstance#getCourse() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Course(); + + /** + * Returns the meta object for the reference list '{@link modelling.CourseInstance#getStaff <em>Staff</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Staff</em>'. + * @see modelling.CourseInstance#getStaff() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Staff(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.CourseInstance#getPointreduction <em>Pointreduction</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Pointreduction</em>'. + * @see modelling.CourseInstance#getPointreduction() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Pointreduction(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.CourseInstance#getEvaluationform <em>Evaluationform</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Evaluationform</em>'. + * @see modelling.CourseInstance#getEvaluationform() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Evaluationform(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.CourseInstance#getTimetablerow <em>Timetablerow</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Timetablerow</em>'. + * @see modelling.CourseInstance#getTimetablerow() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Timetablerow(); + + /** + * Returns the meta object for the reference '{@link modelling.CourseInstance#getDepartment <em>Department</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Department</em>'. + * @see modelling.CourseInstance#getDepartment() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_Department(); + + /** + * Returns the meta object for the reference '{@link modelling.CourseInstance#getRegisteredStudent <em>Registered Student</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Registered Student</em>'. + * @see modelling.CourseInstance#getRegisteredStudent() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_RegisteredStudent(); + + /** + * Returns the meta object for the reference '{@link modelling.CourseInstance#getPassedStudent <em>Passed Student</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Passed Student</em>'. + * @see modelling.CourseInstance#getPassedStudent() + * @see #getCourseInstance() + * @generated + */ + EReference getCourseInstance_PassedStudent(); + + /** + * Returns the meta object for class '{@link modelling.TimeTableRow <em>Time Table Row</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Time Table Row</em>'. + * @see modelling.TimeTableRow + * @generated + */ + EClass getTimeTableRow(); + + /** + * Returns the meta object for the attribute '{@link modelling.TimeTableRow#getWeekday <em>Weekday</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Weekday</em>'. + * @see modelling.TimeTableRow#getWeekday() + * @see #getTimeTableRow() + * @generated + */ + EAttribute getTimeTableRow_Weekday(); + + /** + * Returns the meta object for the attribute '{@link modelling.TimeTableRow#getStartTime <em>Start Time</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Start Time</em>'. + * @see modelling.TimeTableRow#getStartTime() + * @see #getTimeTableRow() + * @generated + */ + EAttribute getTimeTableRow_StartTime(); + + /** + * Returns the meta object for the attribute '{@link modelling.TimeTableRow#getEndTime <em>End Time</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>End Time</em>'. + * @see modelling.TimeTableRow#getEndTime() + * @see #getTimeTableRow() + * @generated + */ + EAttribute getTimeTableRow_EndTime(); + + /** + * Returns the meta object for the attribute '{@link modelling.TimeTableRow#getType <em>Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type</em>'. + * @see modelling.TimeTableRow#getType() + * @see #getTimeTableRow() + * @generated + */ + EAttribute getTimeTableRow_Type(); + + /** + * Returns the meta object for the attribute '{@link modelling.TimeTableRow#getRoom <em>Room</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Room</em>'. + * @see modelling.TimeTableRow#getRoom() + * @see #getTimeTableRow() + * @generated + */ + EAttribute getTimeTableRow_Room(); + + /** + * Returns the meta object for class '{@link modelling.EvaluationForm <em>Evaluation Form</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Evaluation Form</em>'. + * @see modelling.EvaluationForm + * @generated + */ + EClass getEvaluationForm(); + + /** + * Returns the meta object for the attribute '{@link modelling.EvaluationForm#getPercentage <em>Percentage</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Percentage</em>'. + * @see modelling.EvaluationForm#getPercentage() + * @see #getEvaluationForm() + * @generated + */ + EAttribute getEvaluationForm_Percentage(); + + /** + * Returns the meta object for the attribute '{@link modelling.EvaluationForm#getContent <em>Content</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Content</em>'. + * @see modelling.EvaluationForm#getContent() + * @see #getEvaluationForm() + * @generated + */ + EAttribute getEvaluationForm_Content(); + + /** + * Returns the meta object for the attribute '{@link modelling.EvaluationForm#getType <em>Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type</em>'. + * @see modelling.EvaluationForm#getType() + * @see #getEvaluationForm() + * @generated + */ + EAttribute getEvaluationForm_Type(); + + /** + * Returns the meta object for class '{@link modelling.Department <em>Department</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Department</em>'. + * @see modelling.Department + * @generated + */ + EClass getDepartment(); + + /** + * Returns the meta object for the attribute '{@link modelling.Department#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see modelling.Department#getName() + * @see #getDepartment() + * @generated + */ + EAttribute getDepartment_Name(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.Department#getStudyprogram <em>Studyprogram</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Studyprogram</em>'. + * @see modelling.Department#getStudyprogram() + * @see #getDepartment() + * @generated + */ + EReference getDepartment_Studyprogram(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.Department#getPerson <em>Person</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Person</em>'. + * @see modelling.Department#getPerson() + * @see #getDepartment() + * @generated + */ + EReference getDepartment_Person(); + + /** + * Returns the meta object for class '{@link modelling.PointReduction <em>Point Reduction</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Point Reduction</em>'. + * @see modelling.PointReduction + * @generated + */ + EClass getPointReduction(); + + /** + * Returns the meta object for the attribute '{@link modelling.PointReduction#getReduction <em>Reduction</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Reduction</em>'. + * @see modelling.PointReduction#getReduction() + * @see #getPointReduction() + * @generated + */ + EAttribute getPointReduction_Reduction(); + + /** + * Returns the meta object for the reference list '{@link modelling.PointReduction#getCourseinstance <em>Courseinstance</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Courseinstance</em>'. + * @see modelling.PointReduction#getCourseinstance() + * @see #getPointReduction() + * @generated + */ + EReference getPointReduction_Courseinstance(); + + /** + * Returns the meta object for class '{@link modelling.Role <em>Role</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Role</em>'. + * @see modelling.Role + * @generated + */ + EClass getRole(); + + /** + * Returns the meta object for the attribute '{@link modelling.Role#getRole <em>Role</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Role</em>'. + * @see modelling.Role#getRole() + * @see #getRole() + * @generated + */ + EAttribute getRole_Role(); + + /** + * Returns the meta object for the reference '{@link modelling.Role#getCourseinstance <em>Courseinstance</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Courseinstance</em>'. + * @see modelling.Role#getCourseinstance() + * @see #getRole() + * @generated + */ + EReference getRole_Courseinstance(); + + /** + * Returns the meta object for class '{@link modelling.Person <em>Person</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Person</em>'. + * @see modelling.Person + * @generated + */ + EClass getPerson(); + + /** + * Returns the meta object for the attribute '{@link modelling.Person#getFirstName <em>First Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>First Name</em>'. + * @see modelling.Person#getFirstName() + * @see #getPerson() + * @generated + */ + EAttribute getPerson_FirstName(); + + /** + * Returns the meta object for the attribute '{@link modelling.Person#getLastName <em>Last Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Last Name</em>'. + * @see modelling.Person#getLastName() + * @see #getPerson() + * @generated + */ + EAttribute getPerson_LastName(); + + /** + * Returns the meta object for the containment reference '{@link modelling.Person#getStudent <em>Student</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Student</em>'. + * @see modelling.Person#getStudent() + * @see #getPerson() + * @generated + */ + EReference getPerson_Student(); + + /** + * Returns the meta object for the containment reference '{@link modelling.Person#getEmployee <em>Employee</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Employee</em>'. + * @see modelling.Person#getEmployee() + * @see #getPerson() + * @generated + */ + EReference getPerson_Employee(); + + /** + * Returns the meta object for class '{@link modelling.Student <em>Student</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Student</em>'. + * @see modelling.Student + * @generated + */ + EClass getStudent(); + + /** + * Returns the meta object for the attribute '{@link modelling.Student#getStudentID <em>Student ID</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Student ID</em>'. + * @see modelling.Student#getStudentID() + * @see #getStudent() + * @generated + */ + EAttribute getStudent_StudentID(); + + /** + * Returns the meta object for the reference list '{@link modelling.Student#getRegisteredFor <em>Registered For</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Registered For</em>'. + * @see modelling.Student#getRegisteredFor() + * @see #getStudent() + * @generated + */ + EReference getStudent_RegisteredFor(); + + /** + * Returns the meta object for the reference list '{@link modelling.Student#getExamPassed <em>Exam Passed</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Exam Passed</em>'. + * @see modelling.Student#getExamPassed() + * @see #getStudent() + * @generated + */ + EReference getStudent_ExamPassed(); + + /** + * Returns the meta object for the reference '{@link modelling.Student#getStudyprogram <em>Studyprogram</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Studyprogram</em>'. + * @see modelling.Student#getStudyprogram() + * @see #getStudent() + * @generated + */ + EReference getStudent_Studyprogram(); + + /** + * Returns the meta object for class '{@link modelling.Employee <em>Employee</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Employee</em>'. + * @see modelling.Employee + * @generated + */ + EClass getEmployee(); + + /** + * Returns the meta object for the attribute '{@link modelling.Employee#getEmployeeID <em>Employee ID</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Employee ID</em>'. + * @see modelling.Employee#getEmployeeID() + * @see #getEmployee() + * @generated + */ + EAttribute getEmployee_EmployeeID(); + + /** + * Returns the meta object for the containment reference list '{@link modelling.Employee#getRole <em>Role</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Role</em>'. + * @see modelling.Employee#getRole() + * @see #getEmployee() + * @generated + */ + EReference getEmployee_Role(); + + /** + * Returns the meta object for enum '{@link modelling.DayKind <em>Day Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Day Kind</em>'. + * @see modelling.DayKind + * @generated + */ + EEnum getDayKind(); + + /** + * Returns the meta object for enum '{@link modelling.RoleKind <em>Role Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Role Kind</em>'. + * @see modelling.RoleKind + * @generated + */ + EEnum getRoleKind(); + + /** + * Returns the meta object for enum '{@link modelling.EvaluationFormKind <em>Evaluation Form Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Evaluation Form Kind</em>'. + * @see modelling.EvaluationFormKind + * @generated + */ + EEnum getEvaluationFormKind(); + + /** + * Returns the meta object for enum '{@link modelling.TeachingFormKind <em>Teaching Form Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Teaching Form Kind</em>'. + * @see modelling.TeachingFormKind + * @generated + */ + EEnum getTeachingFormKind(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + ModellingFactory getModellingFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each operation of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link modelling.impl.CourseImpl <em>Course</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.CourseImpl + * @see modelling.impl.ModellingPackageImpl#getCourse() + * @generated + */ + EClass COURSE = eINSTANCE.getCourse(); + + /** + * The meta object literal for the '<em><b>Code</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE__CODE = eINSTANCE.getCourse_Code(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE__NAME = eINSTANCE.getCourse_Name(); + + /** + * The meta object literal for the '<em><b>Content</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE__CONTENT = eINSTANCE.getCourse_Content(); + + /** + * The meta object literal for the '<em><b>Recommended Courses</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE__RECOMMENDED_COURSES = eINSTANCE.getCourse_RecommendedCourses(); + + /** + * The meta object literal for the '<em><b>Required Courses</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE__REQUIRED_COURSES = eINSTANCE.getCourse_RequiredCourses(); + + /** + * The meta object literal for the '{@link modelling.impl.StudyProgramImpl <em>Study Program</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.StudyProgramImpl + * @see modelling.impl.ModellingPackageImpl#getStudyProgram() + * @generated + */ + EClass STUDY_PROGRAM = eINSTANCE.getStudyProgram(); + + /** + * The meta object literal for the '<em><b>Course</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STUDY_PROGRAM__COURSE = eINSTANCE.getStudyProgram_Course(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STUDY_PROGRAM__NAME = eINSTANCE.getStudyProgram_Name(); + + /** + * The meta object literal for the '<em><b>Code</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STUDY_PROGRAM__CODE = eINSTANCE.getStudyProgram_Code(); + + /** + * The meta object literal for the '{@link modelling.impl.CourseInstanceImpl <em>Course Instance</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.CourseInstanceImpl + * @see modelling.impl.ModellingPackageImpl#getCourseInstance() + * @generated + */ + EClass COURSE_INSTANCE = eINSTANCE.getCourseInstance(); + + /** + * The meta object literal for the '<em><b>Semester Year</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE_INSTANCE__SEMESTER_YEAR = eINSTANCE.getCourseInstance_SemesterYear(); + + /** + * The meta object literal for the '<em><b>Credits</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE_INSTANCE__CREDITS = eINSTANCE.getCourseInstance_Credits(); + + /** + * The meta object literal for the '<em><b>Lab Hours</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE_INSTANCE__LAB_HOURS = eINSTANCE.getCourseInstance_LabHours(); + + /** + * The meta object literal for the '<em><b>Lecture Hours</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COURSE_INSTANCE__LECTURE_HOURS = eINSTANCE.getCourseInstance_LectureHours(); + + /** + * The meta object literal for the '<em><b>Course</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__COURSE = eINSTANCE.getCourseInstance_Course(); + + /** + * The meta object literal for the '<em><b>Staff</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__STAFF = eINSTANCE.getCourseInstance_Staff(); + + /** + * The meta object literal for the '<em><b>Pointreduction</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__POINTREDUCTION = eINSTANCE.getCourseInstance_Pointreduction(); + + /** + * The meta object literal for the '<em><b>Evaluationform</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__EVALUATIONFORM = eINSTANCE.getCourseInstance_Evaluationform(); + + /** + * The meta object literal for the '<em><b>Timetablerow</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__TIMETABLEROW = eINSTANCE.getCourseInstance_Timetablerow(); + + /** + * The meta object literal for the '<em><b>Department</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__DEPARTMENT = eINSTANCE.getCourseInstance_Department(); + + /** + * The meta object literal for the '<em><b>Registered Student</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__REGISTERED_STUDENT = eINSTANCE.getCourseInstance_RegisteredStudent(); + + /** + * The meta object literal for the '<em><b>Passed Student</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COURSE_INSTANCE__PASSED_STUDENT = eINSTANCE.getCourseInstance_PassedStudent(); + + /** + * The meta object literal for the '{@link modelling.impl.TimeTableRowImpl <em>Time Table Row</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.TimeTableRowImpl + * @see modelling.impl.ModellingPackageImpl#getTimeTableRow() + * @generated + */ + EClass TIME_TABLE_ROW = eINSTANCE.getTimeTableRow(); + + /** + * The meta object literal for the '<em><b>Weekday</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TIME_TABLE_ROW__WEEKDAY = eINSTANCE.getTimeTableRow_Weekday(); + + /** + * The meta object literal for the '<em><b>Start Time</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TIME_TABLE_ROW__START_TIME = eINSTANCE.getTimeTableRow_StartTime(); + + /** + * The meta object literal for the '<em><b>End Time</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TIME_TABLE_ROW__END_TIME = eINSTANCE.getTimeTableRow_EndTime(); + + /** + * The meta object literal for the '<em><b>Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TIME_TABLE_ROW__TYPE = eINSTANCE.getTimeTableRow_Type(); + + /** + * The meta object literal for the '<em><b>Room</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TIME_TABLE_ROW__ROOM = eINSTANCE.getTimeTableRow_Room(); + + /** + * The meta object literal for the '{@link modelling.impl.EvaluationFormImpl <em>Evaluation Form</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.EvaluationFormImpl + * @see modelling.impl.ModellingPackageImpl#getEvaluationForm() + * @generated + */ + EClass EVALUATION_FORM = eINSTANCE.getEvaluationForm(); + + /** + * The meta object literal for the '<em><b>Percentage</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EVALUATION_FORM__PERCENTAGE = eINSTANCE.getEvaluationForm_Percentage(); + + /** + * The meta object literal for the '<em><b>Content</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EVALUATION_FORM__CONTENT = eINSTANCE.getEvaluationForm_Content(); + + /** + * The meta object literal for the '<em><b>Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EVALUATION_FORM__TYPE = eINSTANCE.getEvaluationForm_Type(); + + /** + * The meta object literal for the '{@link modelling.impl.DepartmentImpl <em>Department</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.DepartmentImpl + * @see modelling.impl.ModellingPackageImpl#getDepartment() + * @generated + */ + EClass DEPARTMENT = eINSTANCE.getDepartment(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DEPARTMENT__NAME = eINSTANCE.getDepartment_Name(); + + /** + * The meta object literal for the '<em><b>Studyprogram</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DEPARTMENT__STUDYPROGRAM = eINSTANCE.getDepartment_Studyprogram(); + + /** + * The meta object literal for the '<em><b>Person</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DEPARTMENT__PERSON = eINSTANCE.getDepartment_Person(); + + /** + * The meta object literal for the '{@link modelling.impl.PointReductionImpl <em>Point Reduction</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.PointReductionImpl + * @see modelling.impl.ModellingPackageImpl#getPointReduction() + * @generated + */ + EClass POINT_REDUCTION = eINSTANCE.getPointReduction(); + + /** + * The meta object literal for the '<em><b>Reduction</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute POINT_REDUCTION__REDUCTION = eINSTANCE.getPointReduction_Reduction(); + + /** + * The meta object literal for the '<em><b>Courseinstance</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference POINT_REDUCTION__COURSEINSTANCE = eINSTANCE.getPointReduction_Courseinstance(); + + /** + * The meta object literal for the '{@link modelling.impl.RoleImpl <em>Role</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.RoleImpl + * @see modelling.impl.ModellingPackageImpl#getRole() + * @generated + */ + EClass ROLE = eINSTANCE.getRole(); + + /** + * The meta object literal for the '<em><b>Role</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ROLE__ROLE = eINSTANCE.getRole_Role(); + + /** + * The meta object literal for the '<em><b>Courseinstance</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ROLE__COURSEINSTANCE = eINSTANCE.getRole_Courseinstance(); + + /** + * The meta object literal for the '{@link modelling.impl.PersonImpl <em>Person</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.PersonImpl + * @see modelling.impl.ModellingPackageImpl#getPerson() + * @generated + */ + EClass PERSON = eINSTANCE.getPerson(); + + /** + * The meta object literal for the '<em><b>First Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PERSON__FIRST_NAME = eINSTANCE.getPerson_FirstName(); + + /** + * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PERSON__LAST_NAME = eINSTANCE.getPerson_LastName(); + + /** + * The meta object literal for the '<em><b>Student</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PERSON__STUDENT = eINSTANCE.getPerson_Student(); + + /** + * The meta object literal for the '<em><b>Employee</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PERSON__EMPLOYEE = eINSTANCE.getPerson_Employee(); + + /** + * The meta object literal for the '{@link modelling.impl.StudentImpl <em>Student</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.StudentImpl + * @see modelling.impl.ModellingPackageImpl#getStudent() + * @generated + */ + EClass STUDENT = eINSTANCE.getStudent(); + + /** + * The meta object literal for the '<em><b>Student ID</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute STUDENT__STUDENT_ID = eINSTANCE.getStudent_StudentID(); + + /** + * The meta object literal for the '<em><b>Registered For</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STUDENT__REGISTERED_FOR = eINSTANCE.getStudent_RegisteredFor(); + + /** + * The meta object literal for the '<em><b>Exam Passed</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STUDENT__EXAM_PASSED = eINSTANCE.getStudent_ExamPassed(); + + /** + * The meta object literal for the '<em><b>Studyprogram</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference STUDENT__STUDYPROGRAM = eINSTANCE.getStudent_Studyprogram(); + + /** + * The meta object literal for the '{@link modelling.impl.EmployeeImpl <em>Employee</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.impl.EmployeeImpl + * @see modelling.impl.ModellingPackageImpl#getEmployee() + * @generated + */ + EClass EMPLOYEE = eINSTANCE.getEmployee(); + + /** + * The meta object literal for the '<em><b>Employee ID</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute EMPLOYEE__EMPLOYEE_ID = eINSTANCE.getEmployee_EmployeeID(); + + /** + * The meta object literal for the '<em><b>Role</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EMPLOYEE__ROLE = eINSTANCE.getEmployee_Role(); + + /** + * The meta object literal for the '{@link modelling.DayKind <em>Day Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.DayKind + * @see modelling.impl.ModellingPackageImpl#getDayKind() + * @generated + */ + EEnum DAY_KIND = eINSTANCE.getDayKind(); + + /** + * The meta object literal for the '{@link modelling.RoleKind <em>Role Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.RoleKind + * @see modelling.impl.ModellingPackageImpl#getRoleKind() + * @generated + */ + EEnum ROLE_KIND = eINSTANCE.getRoleKind(); + + /** + * The meta object literal for the '{@link modelling.EvaluationFormKind <em>Evaluation Form Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.EvaluationFormKind + * @see modelling.impl.ModellingPackageImpl#getEvaluationFormKind() + * @generated + */ + EEnum EVALUATION_FORM_KIND = eINSTANCE.getEvaluationFormKind(); + + /** + * The meta object literal for the '{@link modelling.TeachingFormKind <em>Teaching Form Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see modelling.TeachingFormKind + * @see modelling.impl.ModellingPackageImpl#getTeachingFormKind() + * @generated + */ + EEnum TEACHING_FORM_KIND = eINSTANCE.getTeachingFormKind(); + + } + +} //ModellingPackage diff --git a/src-gen/modelling/Person.java b/src-gen/modelling/Person.java new file mode 100644 index 0000000000000000000000000000000000000000..d824e92da317c6619330f605a42ba4fe5b0cffe8 --- /dev/null +++ b/src-gen/modelling/Person.java @@ -0,0 +1,131 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Person</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Person#getFirstName <em>First Name</em>}</li> + * <li>{@link modelling.Person#getLastName <em>Last Name</em>}</li> + * <li>{@link modelling.Person#getStudent <em>Student</em>}</li> + * <li>{@link modelling.Person#getEmployee <em>Employee</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getPerson() + * @model + * @generated + */ +public interface Person extends EObject { + /** + * Returns the value of the '<em><b>First Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>First Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>First Name</em>' attribute. + * @see #setFirstName(String) + * @see modelling.ModellingPackage#getPerson_FirstName() + * @model + * @generated + */ + String getFirstName(); + + /** + * Sets the value of the '{@link modelling.Person#getFirstName <em>First Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>First Name</em>' attribute. + * @see #getFirstName() + * @generated + */ + void setFirstName(String value); + + /** + * Returns the value of the '<em><b>Last Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Last Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Last Name</em>' attribute. + * @see #setLastName(String) + * @see modelling.ModellingPackage#getPerson_LastName() + * @model + * @generated + */ + String getLastName(); + + /** + * Sets the value of the '{@link modelling.Person#getLastName <em>Last Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Last Name</em>' attribute. + * @see #getLastName() + * @generated + */ + void setLastName(String value); + + /** + * Returns the value of the '<em><b>Student</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Student</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Student</em>' containment reference. + * @see #setStudent(Student) + * @see modelling.ModellingPackage#getPerson_Student() + * @model containment="true" + * @generated + */ + Student getStudent(); + + /** + * Sets the value of the '{@link modelling.Person#getStudent <em>Student</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Student</em>' containment reference. + * @see #getStudent() + * @generated + */ + void setStudent(Student value); + + /** + * Returns the value of the '<em><b>Employee</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Employee</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Employee</em>' containment reference. + * @see #setEmployee(Employee) + * @see modelling.ModellingPackage#getPerson_Employee() + * @model containment="true" + * @generated + */ + Employee getEmployee(); + + /** + * Sets the value of the '{@link modelling.Person#getEmployee <em>Employee</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Employee</em>' containment reference. + * @see #getEmployee() + * @generated + */ + void setEmployee(Employee value); + +} // Person diff --git a/src-gen/modelling/PointReduction.java b/src-gen/modelling/PointReduction.java new file mode 100644 index 0000000000000000000000000000000000000000..5a29bee6c36d7048ea88ea64ba10f3c0a1ee55f3 --- /dev/null +++ b/src-gen/modelling/PointReduction.java @@ -0,0 +1,69 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Point Reduction</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.PointReduction#getReduction <em>Reduction</em>}</li> + * <li>{@link modelling.PointReduction#getCourseinstance <em>Courseinstance</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getPointReduction() + * @model + * @generated + */ +public interface PointReduction extends EObject { + /** + * Returns the value of the '<em><b>Reduction</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Reduction</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Reduction</em>' attribute. + * @see #setReduction(float) + * @see modelling.ModellingPackage#getPointReduction_Reduction() + * @model + * @generated + */ + float getReduction(); + + /** + * Sets the value of the '{@link modelling.PointReduction#getReduction <em>Reduction</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Reduction</em>' attribute. + * @see #getReduction() + * @generated + */ + void setReduction(float value); + + /** + * Returns the value of the '<em><b>Courseinstance</b></em>' reference list. + * The list contents are of type {@link modelling.CourseInstance}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Courseinstance</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Courseinstance</em>' reference list. + * @see modelling.ModellingPackage#getPointReduction_Courseinstance() + * @model + * @generated + */ + EList<CourseInstance> getCourseinstance(); + +} // PointReduction diff --git a/src-gen/modelling/Role.java b/src-gen/modelling/Role.java new file mode 100644 index 0000000000000000000000000000000000000000..e05b54dc2b9280850a0de8ef3fa7a85591408db2 --- /dev/null +++ b/src-gen/modelling/Role.java @@ -0,0 +1,82 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Role</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Role#getRole <em>Role</em>}</li> + * <li>{@link modelling.Role#getCourseinstance <em>Courseinstance</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getRole() + * @model + * @generated + */ +public interface Role extends EObject { + /** + * Returns the value of the '<em><b>Role</b></em>' attribute. + * The literals are from the enumeration {@link modelling.RoleKind}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Role</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Role</em>' attribute. + * @see modelling.RoleKind + * @see #setRole(RoleKind) + * @see modelling.ModellingPackage#getRole_Role() + * @model + * @generated + */ + RoleKind getRole(); + + /** + * Sets the value of the '{@link modelling.Role#getRole <em>Role</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Role</em>' attribute. + * @see modelling.RoleKind + * @see #getRole() + * @generated + */ + void setRole(RoleKind value); + + /** + * Returns the value of the '<em><b>Courseinstance</b></em>' reference. + * It is bidirectional and its opposite is '{@link modelling.CourseInstance#getStaff <em>Staff</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Courseinstance</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Courseinstance</em>' reference. + * @see #setCourseinstance(CourseInstance) + * @see modelling.ModellingPackage#getRole_Courseinstance() + * @see modelling.CourseInstance#getStaff + * @model opposite="staff" + * @generated + */ + CourseInstance getCourseinstance(); + + /** + * Sets the value of the '{@link modelling.Role#getCourseinstance <em>Courseinstance</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Courseinstance</em>' reference. + * @see #getCourseinstance() + * @generated + */ + void setCourseinstance(CourseInstance value); + +} // Role diff --git a/src-gen/modelling/RoleKind.java b/src-gen/modelling/RoleKind.java new file mode 100644 index 0000000000000000000000000000000000000000..1e694a32d0e3079a6319caa9d5e4d2e67d517276 --- /dev/null +++ b/src-gen/modelling/RoleKind.java @@ -0,0 +1,267 @@ +/** + */ +package modelling; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Role Kind</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage#getRoleKind() + * @model + * @generated + */ +public enum RoleKind implements Enumerator { + /** + * The '<em><b>Lecturer</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LECTURER_VALUE + * @generated + * @ordered + */ + LECTURER(0, "Lecturer", "Lecturer"), + + /** + * The '<em><b>Coordinator</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #COORDINATOR_VALUE + * @generated + * @ordered + */ + COORDINATOR(1, "Coordinator", "Coordinator"), + + /** + * The '<em><b>Student Assistant</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #STUDENT_ASSISTANT_VALUE + * @generated + * @ordered + */ + STUDENT_ASSISTANT(2, "StudentAssistant", "StudentAssistant"), + + /** + * The '<em><b>Teacher Assistant</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TEACHER_ASSISTANT_VALUE + * @generated + * @ordered + */ + TEACHER_ASSISTANT(3, "TeacherAssistant", "TeacherAssistant"); + + /** + * The '<em><b>Lecturer</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Lecturer</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LECTURER + * @model name="Lecturer" + * @generated + * @ordered + */ + public static final int LECTURER_VALUE = 0; + + /** + * The '<em><b>Coordinator</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Coordinator</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #COORDINATOR + * @model name="Coordinator" + * @generated + * @ordered + */ + public static final int COORDINATOR_VALUE = 1; + + /** + * The '<em><b>Student Assistant</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Student Assistant</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #STUDENT_ASSISTANT + * @model name="StudentAssistant" + * @generated + * @ordered + */ + public static final int STUDENT_ASSISTANT_VALUE = 2; + + /** + * The '<em><b>Teacher Assistant</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Teacher Assistant</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TEACHER_ASSISTANT + * @model name="TeacherAssistant" + * @generated + * @ordered + */ + public static final int TEACHER_ASSISTANT_VALUE = 3; + + /** + * An array of all the '<em><b>Role Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final RoleKind[] VALUES_ARRAY = new RoleKind[] { LECTURER, COORDINATOR, STUDENT_ASSISTANT, + TEACHER_ASSISTANT, }; + + /** + * A public read-only list of all the '<em><b>Role Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<RoleKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Role Kind</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static RoleKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + RoleKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Role Kind</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static RoleKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + RoleKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Role Kind</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static RoleKind get(int value) { + switch (value) { + case LECTURER_VALUE: + return LECTURER; + case COORDINATOR_VALUE: + return COORDINATOR; + case STUDENT_ASSISTANT_VALUE: + return STUDENT_ASSISTANT; + case TEACHER_ASSISTANT_VALUE: + return TEACHER_ASSISTANT; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private RoleKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //RoleKind diff --git a/src-gen/modelling/Student.java b/src-gen/modelling/Student.java new file mode 100644 index 0000000000000000000000000000000000000000..8dd5d03e2e3f8e74fd2e4eaa6a6db3f962a22cc7 --- /dev/null +++ b/src-gen/modelling/Student.java @@ -0,0 +1,117 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Student</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.Student#getStudentID <em>Student ID</em>}</li> + * <li>{@link modelling.Student#getRegisteredFor <em>Registered For</em>}</li> + * <li>{@link modelling.Student#getExamPassed <em>Exam Passed</em>}</li> + * <li>{@link modelling.Student#getStudyprogram <em>Studyprogram</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getStudent() + * @model + * @generated + */ +public interface Student extends EObject { + /** + * Returns the value of the '<em><b>Student ID</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Student ID</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Student ID</em>' attribute. + * @see #setStudentID(int) + * @see modelling.ModellingPackage#getStudent_StudentID() + * @model + * @generated + */ + int getStudentID(); + + /** + * Sets the value of the '{@link modelling.Student#getStudentID <em>Student ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Student ID</em>' attribute. + * @see #getStudentID() + * @generated + */ + void setStudentID(int value); + + /** + * Returns the value of the '<em><b>Registered For</b></em>' reference list. + * The list contents are of type {@link modelling.CourseInstance}. + * It is bidirectional and its opposite is '{@link modelling.CourseInstance#getRegisteredStudent <em>Registered Student</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Registered For</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Registered For</em>' reference list. + * @see modelling.ModellingPackage#getStudent_RegisteredFor() + * @see modelling.CourseInstance#getRegisteredStudent + * @model opposite="registeredStudent" + * @generated + */ + EList<CourseInstance> getRegisteredFor(); + + /** + * Returns the value of the '<em><b>Exam Passed</b></em>' reference list. + * The list contents are of type {@link modelling.CourseInstance}. + * It is bidirectional and its opposite is '{@link modelling.CourseInstance#getPassedStudent <em>Passed Student</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exam Passed</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exam Passed</em>' reference list. + * @see modelling.ModellingPackage#getStudent_ExamPassed() + * @see modelling.CourseInstance#getPassedStudent + * @model opposite="passedStudent" + * @generated + */ + EList<CourseInstance> getExamPassed(); + + /** + * Returns the value of the '<em><b>Studyprogram</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Studyprogram</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Studyprogram</em>' reference. + * @see #setStudyprogram(StudyProgram) + * @see modelling.ModellingPackage#getStudent_Studyprogram() + * @model + * @generated + */ + StudyProgram getStudyprogram(); + + /** + * Sets the value of the '{@link modelling.Student#getStudyprogram <em>Studyprogram</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Studyprogram</em>' reference. + * @see #getStudyprogram() + * @generated + */ + void setStudyprogram(StudyProgram value); + +} // Student diff --git a/src-gen/modelling/StudyProgram.java b/src-gen/modelling/StudyProgram.java new file mode 100644 index 0000000000000000000000000000000000000000..3175892a22a87438d244ea01b05ab8eb773d0d1d --- /dev/null +++ b/src-gen/modelling/StudyProgram.java @@ -0,0 +1,96 @@ +/** + */ +package modelling; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Study Program</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.StudyProgram#getCourse <em>Course</em>}</li> + * <li>{@link modelling.StudyProgram#getName <em>Name</em>}</li> + * <li>{@link modelling.StudyProgram#getCode <em>Code</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getStudyProgram() + * @model + * @generated + */ +public interface StudyProgram extends EObject { + /** + * Returns the value of the '<em><b>Course</b></em>' containment reference list. + * The list contents are of type {@link modelling.Course}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Course</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Course</em>' containment reference list. + * @see modelling.ModellingPackage#getStudyProgram_Course() + * @model containment="true" + * @generated + */ + EList<Course> getCourse(); + + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see modelling.ModellingPackage#getStudyProgram_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link modelling.StudyProgram#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Code</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Code</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Code</em>' attribute. + * @see #setCode(String) + * @see modelling.ModellingPackage#getStudyProgram_Code() + * @model + * @generated + */ + String getCode(); + + /** + * Sets the value of the '{@link modelling.StudyProgram#getCode <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Code</em>' attribute. + * @see #getCode() + * @generated + */ + void setCode(String value); + +} // StudyProgram diff --git a/src-gen/modelling/TeachingFormKind.java b/src-gen/modelling/TeachingFormKind.java new file mode 100644 index 0000000000000000000000000000000000000000..98a6f9f4c90d89b09e3b9d1ae4e0450eeb8c9935 --- /dev/null +++ b/src-gen/modelling/TeachingFormKind.java @@ -0,0 +1,212 @@ +/** + */ +package modelling; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Teaching Form Kind</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage#getTeachingFormKind() + * @model + * @generated + */ +public enum TeachingFormKind implements Enumerator { + /** + * The '<em><b>Lecture</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LECTURE_VALUE + * @generated + * @ordered + */ + LECTURE(0, "Lecture", "Lecture "), + + /** + * The '<em><b>Lab</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LAB_VALUE + * @generated + * @ordered + */ + LAB(1, "Lab", "Lab "); + + /** + * The '<em><b>Lecture</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Lecture</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LECTURE + * @model name="Lecture" literal="Lecture " + * @generated + * @ordered + */ + public static final int LECTURE_VALUE = 0; + + /** + * The '<em><b>Lab</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Lab</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LAB + * @model name="Lab" literal="Lab " + * @generated + * @ordered + */ + public static final int LAB_VALUE = 1; + + /** + * An array of all the '<em><b>Teaching Form Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final TeachingFormKind[] VALUES_ARRAY = new TeachingFormKind[] { LECTURE, LAB, }; + + /** + * A public read-only list of all the '<em><b>Teaching Form Kind</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<TeachingFormKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Teaching Form Kind</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static TeachingFormKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + TeachingFormKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Teaching Form Kind</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static TeachingFormKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + TeachingFormKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Teaching Form Kind</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. + * @generated + */ + public static TeachingFormKind get(int value) { + switch (value) { + case LECTURE_VALUE: + return LECTURE; + case LAB_VALUE: + return LAB; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private TeachingFormKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //TeachingFormKind diff --git a/src-gen/modelling/TimeTableRow.java b/src-gen/modelling/TimeTableRow.java new file mode 100644 index 0000000000000000000000000000000000000000..c66a275b1cf4cf4bdc3a2ea4c9df9f73d9ad515b --- /dev/null +++ b/src-gen/modelling/TimeTableRow.java @@ -0,0 +1,164 @@ +/** + */ +package modelling; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Time Table Row</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link modelling.TimeTableRow#getWeekday <em>Weekday</em>}</li> + * <li>{@link modelling.TimeTableRow#getStartTime <em>Start Time</em>}</li> + * <li>{@link modelling.TimeTableRow#getEndTime <em>End Time</em>}</li> + * <li>{@link modelling.TimeTableRow#getType <em>Type</em>}</li> + * <li>{@link modelling.TimeTableRow#getRoom <em>Room</em>}</li> + * </ul> + * + * @see modelling.ModellingPackage#getTimeTableRow() + * @model + * @generated + */ +public interface TimeTableRow extends EObject { + /** + * Returns the value of the '<em><b>Weekday</b></em>' attribute. + * The literals are from the enumeration {@link modelling.DayKind}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Weekday</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Weekday</em>' attribute. + * @see modelling.DayKind + * @see #setWeekday(DayKind) + * @see modelling.ModellingPackage#getTimeTableRow_Weekday() + * @model + * @generated + */ + DayKind getWeekday(); + + /** + * Sets the value of the '{@link modelling.TimeTableRow#getWeekday <em>Weekday</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Weekday</em>' attribute. + * @see modelling.DayKind + * @see #getWeekday() + * @generated + */ + void setWeekday(DayKind value); + + /** + * Returns the value of the '<em><b>Start Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Start Time</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Start Time</em>' attribute. + * @see #setStartTime(int) + * @see modelling.ModellingPackage#getTimeTableRow_StartTime() + * @model + * @generated + */ + int getStartTime(); + + /** + * Sets the value of the '{@link modelling.TimeTableRow#getStartTime <em>Start Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Start Time</em>' attribute. + * @see #getStartTime() + * @generated + */ + void setStartTime(int value); + + /** + * Returns the value of the '<em><b>End Time</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>End Time</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>End Time</em>' attribute. + * @see #setEndTime(int) + * @see modelling.ModellingPackage#getTimeTableRow_EndTime() + * @model + * @generated + */ + int getEndTime(); + + /** + * Sets the value of the '{@link modelling.TimeTableRow#getEndTime <em>End Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>End Time</em>' attribute. + * @see #getEndTime() + * @generated + */ + void setEndTime(int value); + + /** + * Returns the value of the '<em><b>Type</b></em>' attribute. + * The literals are from the enumeration {@link modelling.TeachingFormKind}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type</em>' attribute. + * @see modelling.TeachingFormKind + * @see #setType(TeachingFormKind) + * @see modelling.ModellingPackage#getTimeTableRow_Type() + * @model + * @generated + */ + TeachingFormKind getType(); + + /** + * Sets the value of the '{@link modelling.TimeTableRow#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Type</em>' attribute. + * @see modelling.TeachingFormKind + * @see #getType() + * @generated + */ + void setType(TeachingFormKind value); + + /** + * Returns the value of the '<em><b>Room</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Room</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Room</em>' attribute. + * @see #setRoom(String) + * @see modelling.ModellingPackage#getTimeTableRow_Room() + * @model + * @generated + */ + String getRoom(); + + /** + * Sets the value of the '{@link modelling.TimeTableRow#getRoom <em>Room</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Room</em>' attribute. + * @see #getRoom() + * @generated + */ + void setRoom(String value); + +} // TimeTableRow diff --git a/src-gen/modelling/impl/CourseImpl.java b/src-gen/modelling/impl/CourseImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..fe75f763460707ca0ec50cce6279e2fe26343437 --- /dev/null +++ b/src-gen/modelling/impl/CourseImpl.java @@ -0,0 +1,350 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.Course; +import modelling.ModellingPackage; + +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.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Course</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.CourseImpl#getCode <em>Code</em>}</li> + * <li>{@link modelling.impl.CourseImpl#getName <em>Name</em>}</li> + * <li>{@link modelling.impl.CourseImpl#getContent <em>Content</em>}</li> + * <li>{@link modelling.impl.CourseImpl#getRecommendedCourses <em>Recommended Courses</em>}</li> + * <li>{@link modelling.impl.CourseImpl#getRequiredCourses <em>Required Courses</em>}</li> + * </ul> + * + * @generated + */ +public class CourseImpl extends MinimalEObjectImpl.Container implements Course { + /** + * The default value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected static final String CODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected String code = CODE_EDEFAULT; + + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected static final String CONTENT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected String content = CONTENT_EDEFAULT; + + /** + * The cached value of the '{@link #getRecommendedCourses() <em>Recommended Courses</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRecommendedCourses() + * @generated + * @ordered + */ + protected EList<Course> recommendedCourses; + + /** + * The cached value of the '{@link #getRequiredCourses() <em>Required Courses</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRequiredCourses() + * @generated + * @ordered + */ + protected EList<Course> requiredCourses; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CourseImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.COURSE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCode() { + return code; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCode(String newCode) { + String oldCode = code; + code = newCode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE__CODE, oldCode, code)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getContent() { + return content; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setContent(String newContent) { + String oldContent = content; + content = newContent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE__CONTENT, oldContent, + content)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Course> getRecommendedCourses() { + if (recommendedCourses == null) { + recommendedCourses = new EObjectResolvingEList<Course>(Course.class, this, + ModellingPackage.COURSE__RECOMMENDED_COURSES); + } + return recommendedCourses; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Course> getRequiredCourses() { + if (requiredCourses == null) { + requiredCourses = new EObjectResolvingEList<Course>(Course.class, this, + ModellingPackage.COURSE__REQUIRED_COURSES); + } + return requiredCourses; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.COURSE__CODE: + return getCode(); + case ModellingPackage.COURSE__NAME: + return getName(); + case ModellingPackage.COURSE__CONTENT: + return getContent(); + case ModellingPackage.COURSE__RECOMMENDED_COURSES: + return getRecommendedCourses(); + case ModellingPackage.COURSE__REQUIRED_COURSES: + return getRequiredCourses(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.COURSE__CODE: + setCode((String) newValue); + return; + case ModellingPackage.COURSE__NAME: + setName((String) newValue); + return; + case ModellingPackage.COURSE__CONTENT: + setContent((String) newValue); + return; + case ModellingPackage.COURSE__RECOMMENDED_COURSES: + getRecommendedCourses().clear(); + getRecommendedCourses().addAll((Collection<? extends Course>) newValue); + return; + case ModellingPackage.COURSE__REQUIRED_COURSES: + getRequiredCourses().clear(); + getRequiredCourses().addAll((Collection<? extends Course>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.COURSE__CODE: + setCode(CODE_EDEFAULT); + return; + case ModellingPackage.COURSE__NAME: + setName(NAME_EDEFAULT); + return; + case ModellingPackage.COURSE__CONTENT: + setContent(CONTENT_EDEFAULT); + return; + case ModellingPackage.COURSE__RECOMMENDED_COURSES: + getRecommendedCourses().clear(); + return; + case ModellingPackage.COURSE__REQUIRED_COURSES: + getRequiredCourses().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.COURSE__CODE: + return CODE_EDEFAULT == null ? code != null : !CODE_EDEFAULT.equals(code); + case ModellingPackage.COURSE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ModellingPackage.COURSE__CONTENT: + return CONTENT_EDEFAULT == null ? content != null : !CONTENT_EDEFAULT.equals(content); + case ModellingPackage.COURSE__RECOMMENDED_COURSES: + return recommendedCourses != null && !recommendedCourses.isEmpty(); + case ModellingPackage.COURSE__REQUIRED_COURSES: + return requiredCourses != null && !requiredCourses.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (code: "); + result.append(code); + result.append(", name: "); + result.append(name); + result.append(", content: "); + result.append(content); + result.append(')'); + return result.toString(); + } + +} //CourseImpl diff --git a/src-gen/modelling/impl/CourseInstanceImpl.java b/src-gen/modelling/impl/CourseInstanceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..81ce190205cf4d1a7818907e2a593433cfbb1b36 --- /dev/null +++ b/src-gen/modelling/impl/CourseInstanceImpl.java @@ -0,0 +1,819 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.Course; +import modelling.CourseInstance; +import modelling.Department; +import modelling.EvaluationForm; +import modelling.ModellingPackage; +import modelling.PointReduction; +import modelling.Role; +import modelling.Student; +import modelling.TimeTableRow; + +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.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Course Instance</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.CourseInstanceImpl#getSemesterYear <em>Semester Year</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getCredits <em>Credits</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getLabHours <em>Lab Hours</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getLectureHours <em>Lecture Hours</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getCourse <em>Course</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getStaff <em>Staff</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getPointreduction <em>Pointreduction</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getEvaluationform <em>Evaluationform</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getTimetablerow <em>Timetablerow</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getDepartment <em>Department</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getRegisteredStudent <em>Registered Student</em>}</li> + * <li>{@link modelling.impl.CourseInstanceImpl#getPassedStudent <em>Passed Student</em>}</li> + * </ul> + * + * @generated + */ +public class CourseInstanceImpl extends MinimalEObjectImpl.Container implements CourseInstance { + /** + * The default value of the '{@link #getSemesterYear() <em>Semester Year</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSemesterYear() + * @generated + * @ordered + */ + protected static final String SEMESTER_YEAR_EDEFAULT = null; + + /** + * The cached value of the '{@link #getSemesterYear() <em>Semester Year</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSemesterYear() + * @generated + * @ordered + */ + protected String semesterYear = SEMESTER_YEAR_EDEFAULT; + + /** + * The default value of the '{@link #getCredits() <em>Credits</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCredits() + * @generated + * @ordered + */ + protected static final float CREDITS_EDEFAULT = 0.0F; + + /** + * The cached value of the '{@link #getCredits() <em>Credits</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCredits() + * @generated + * @ordered + */ + protected float credits = CREDITS_EDEFAULT; + + /** + * The default value of the '{@link #getLabHours() <em>Lab Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabHours() + * @generated + * @ordered + */ + protected static final int LAB_HOURS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLabHours() <em>Lab Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLabHours() + * @generated + * @ordered + */ + protected int labHours = LAB_HOURS_EDEFAULT; + + /** + * The default value of the '{@link #getLectureHours() <em>Lecture Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLectureHours() + * @generated + * @ordered + */ + protected static final int LECTURE_HOURS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLectureHours() <em>Lecture Hours</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLectureHours() + * @generated + * @ordered + */ + protected int lectureHours = LECTURE_HOURS_EDEFAULT; + + /** + * The cached value of the '{@link #getCourse() <em>Course</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCourse() + * @generated + * @ordered + */ + protected EList<Course> course; + + /** + * The cached value of the '{@link #getStaff() <em>Staff</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStaff() + * @generated + * @ordered + */ + protected EList<Role> staff; + + /** + * The cached value of the '{@link #getPointreduction() <em>Pointreduction</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPointreduction() + * @generated + * @ordered + */ + protected EList<PointReduction> pointreduction; + + /** + * The cached value of the '{@link #getEvaluationform() <em>Evaluationform</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEvaluationform() + * @generated + * @ordered + */ + protected EList<EvaluationForm> evaluationform; + + /** + * The cached value of the '{@link #getTimetablerow() <em>Timetablerow</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTimetablerow() + * @generated + * @ordered + */ + protected EList<TimeTableRow> timetablerow; + + /** + * The cached value of the '{@link #getDepartment() <em>Department</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDepartment() + * @generated + * @ordered + */ + protected Department department; + + /** + * The cached value of the '{@link #getRegisteredStudent() <em>Registered Student</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRegisteredStudent() + * @generated + * @ordered + */ + protected Student registeredStudent; + + /** + * The cached value of the '{@link #getPassedStudent() <em>Passed Student</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPassedStudent() + * @generated + * @ordered + */ + protected Student passedStudent; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CourseInstanceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.COURSE_INSTANCE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getSemesterYear() { + return semesterYear; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSemesterYear(String newSemesterYear) { + String oldSemesterYear = semesterYear; + semesterYear = newSemesterYear; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__SEMESTER_YEAR, + oldSemesterYear, semesterYear)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public float getCredits() { + return credits; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCredits(float newCredits) { + float oldCredits = credits; + credits = newCredits; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__CREDITS, oldCredits, + credits)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getLabHours() { + return labHours; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLabHours(int newLabHours) { + int oldLabHours = labHours; + labHours = newLabHours; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__LAB_HOURS, + oldLabHours, labHours)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getLectureHours() { + return lectureHours; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLectureHours(int newLectureHours) { + int oldLectureHours = lectureHours; + lectureHours = newLectureHours; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__LECTURE_HOURS, + oldLectureHours, lectureHours)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Course> getCourse() { + if (course == null) { + course = new EObjectContainmentEList<Course>(Course.class, this, ModellingPackage.COURSE_INSTANCE__COURSE); + } + return course; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Role> getStaff() { + if (staff == null) { + staff = new EObjectWithInverseResolvingEList<Role>(Role.class, this, + ModellingPackage.COURSE_INSTANCE__STAFF, ModellingPackage.ROLE__COURSEINSTANCE); + } + return staff; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<PointReduction> getPointreduction() { + if (pointreduction == null) { + pointreduction = new EObjectContainmentEList<PointReduction>(PointReduction.class, this, + ModellingPackage.COURSE_INSTANCE__POINTREDUCTION); + } + return pointreduction; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<EvaluationForm> getEvaluationform() { + if (evaluationform == null) { + evaluationform = new EObjectContainmentEList<EvaluationForm>(EvaluationForm.class, this, + ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM); + } + return evaluationform; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<TimeTableRow> getTimetablerow() { + if (timetablerow == null) { + timetablerow = new EObjectContainmentEList<TimeTableRow>(TimeTableRow.class, this, + ModellingPackage.COURSE_INSTANCE__TIMETABLEROW); + } + return timetablerow; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Department getDepartment() { + if (department != null && department.eIsProxy()) { + InternalEObject oldDepartment = (InternalEObject) department; + department = (Department) eResolveProxy(oldDepartment); + if (department != oldDepartment) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + ModellingPackage.COURSE_INSTANCE__DEPARTMENT, oldDepartment, department)); + } + } + return department; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Department basicGetDepartment() { + return department; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDepartment(Department newDepartment) { + Department oldDepartment = department; + department = newDepartment; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__DEPARTMENT, + oldDepartment, department)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student getRegisteredStudent() { + if (registeredStudent != null && registeredStudent.eIsProxy()) { + InternalEObject oldRegisteredStudent = (InternalEObject) registeredStudent; + registeredStudent = (Student) eResolveProxy(oldRegisteredStudent); + if (registeredStudent != oldRegisteredStudent) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT, oldRegisteredStudent, + registeredStudent)); + } + } + return registeredStudent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student basicGetRegisteredStudent() { + return registeredStudent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRegisteredStudent(Student newRegisteredStudent, NotificationChain msgs) { + Student oldRegisteredStudent = registeredStudent; + registeredStudent = newRegisteredStudent; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT, oldRegisteredStudent, newRegisteredStudent); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRegisteredStudent(Student newRegisteredStudent) { + if (newRegisteredStudent != registeredStudent) { + NotificationChain msgs = null; + if (registeredStudent != null) + msgs = ((InternalEObject) registeredStudent).eInverseRemove(this, + ModellingPackage.STUDENT__REGISTERED_FOR, Student.class, msgs); + if (newRegisteredStudent != null) + msgs = ((InternalEObject) newRegisteredStudent).eInverseAdd(this, + ModellingPackage.STUDENT__REGISTERED_FOR, Student.class, msgs); + msgs = basicSetRegisteredStudent(newRegisteredStudent, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT, + newRegisteredStudent, newRegisteredStudent)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student getPassedStudent() { + if (passedStudent != null && passedStudent.eIsProxy()) { + InternalEObject oldPassedStudent = (InternalEObject) passedStudent; + passedStudent = (Student) eResolveProxy(oldPassedStudent); + if (passedStudent != oldPassedStudent) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, + ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT, oldPassedStudent, passedStudent)); + } + } + return passedStudent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student basicGetPassedStudent() { + return passedStudent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPassedStudent(Student newPassedStudent, NotificationChain msgs) { + Student oldPassedStudent = passedStudent; + passedStudent = newPassedStudent; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT, oldPassedStudent, newPassedStudent); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPassedStudent(Student newPassedStudent) { + if (newPassedStudent != passedStudent) { + NotificationChain msgs = null; + if (passedStudent != null) + msgs = ((InternalEObject) passedStudent).eInverseRemove(this, ModellingPackage.STUDENT__EXAM_PASSED, + Student.class, msgs); + if (newPassedStudent != null) + msgs = ((InternalEObject) newPassedStudent).eInverseAdd(this, ModellingPackage.STUDENT__EXAM_PASSED, + Student.class, msgs); + msgs = basicSetPassedStudent(newPassedStudent, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT, + newPassedStudent, newPassedStudent)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__STAFF: + return ((InternalEList<InternalEObject>) (InternalEList<?>) getStaff()).basicAdd(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + if (registeredStudent != null) + msgs = ((InternalEObject) registeredStudent).eInverseRemove(this, + ModellingPackage.STUDENT__REGISTERED_FOR, Student.class, msgs); + return basicSetRegisteredStudent((Student) otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + if (passedStudent != null) + msgs = ((InternalEObject) passedStudent).eInverseRemove(this, ModellingPackage.STUDENT__EXAM_PASSED, + Student.class, msgs); + return basicSetPassedStudent((Student) otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__COURSE: + return ((InternalEList<?>) getCourse()).basicRemove(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__STAFF: + return ((InternalEList<?>) getStaff()).basicRemove(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__POINTREDUCTION: + return ((InternalEList<?>) getPointreduction()).basicRemove(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM: + return ((InternalEList<?>) getEvaluationform()).basicRemove(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__TIMETABLEROW: + return ((InternalEList<?>) getTimetablerow()).basicRemove(otherEnd, msgs); + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + return basicSetRegisteredStudent(null, msgs); + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + return basicSetPassedStudent(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__SEMESTER_YEAR: + return getSemesterYear(); + case ModellingPackage.COURSE_INSTANCE__CREDITS: + return getCredits(); + case ModellingPackage.COURSE_INSTANCE__LAB_HOURS: + return getLabHours(); + case ModellingPackage.COURSE_INSTANCE__LECTURE_HOURS: + return getLectureHours(); + case ModellingPackage.COURSE_INSTANCE__COURSE: + return getCourse(); + case ModellingPackage.COURSE_INSTANCE__STAFF: + return getStaff(); + case ModellingPackage.COURSE_INSTANCE__POINTREDUCTION: + return getPointreduction(); + case ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM: + return getEvaluationform(); + case ModellingPackage.COURSE_INSTANCE__TIMETABLEROW: + return getTimetablerow(); + case ModellingPackage.COURSE_INSTANCE__DEPARTMENT: + if (resolve) + return getDepartment(); + return basicGetDepartment(); + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + if (resolve) + return getRegisteredStudent(); + return basicGetRegisteredStudent(); + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + if (resolve) + return getPassedStudent(); + return basicGetPassedStudent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__SEMESTER_YEAR: + setSemesterYear((String) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__CREDITS: + setCredits((Float) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__LAB_HOURS: + setLabHours((Integer) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__LECTURE_HOURS: + setLectureHours((Integer) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__COURSE: + getCourse().clear(); + getCourse().addAll((Collection<? extends Course>) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__STAFF: + getStaff().clear(); + getStaff().addAll((Collection<? extends Role>) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__POINTREDUCTION: + getPointreduction().clear(); + getPointreduction().addAll((Collection<? extends PointReduction>) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM: + getEvaluationform().clear(); + getEvaluationform().addAll((Collection<? extends EvaluationForm>) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__TIMETABLEROW: + getTimetablerow().clear(); + getTimetablerow().addAll((Collection<? extends TimeTableRow>) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__DEPARTMENT: + setDepartment((Department) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + setRegisteredStudent((Student) newValue); + return; + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + setPassedStudent((Student) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__SEMESTER_YEAR: + setSemesterYear(SEMESTER_YEAR_EDEFAULT); + return; + case ModellingPackage.COURSE_INSTANCE__CREDITS: + setCredits(CREDITS_EDEFAULT); + return; + case ModellingPackage.COURSE_INSTANCE__LAB_HOURS: + setLabHours(LAB_HOURS_EDEFAULT); + return; + case ModellingPackage.COURSE_INSTANCE__LECTURE_HOURS: + setLectureHours(LECTURE_HOURS_EDEFAULT); + return; + case ModellingPackage.COURSE_INSTANCE__COURSE: + getCourse().clear(); + return; + case ModellingPackage.COURSE_INSTANCE__STAFF: + getStaff().clear(); + return; + case ModellingPackage.COURSE_INSTANCE__POINTREDUCTION: + getPointreduction().clear(); + return; + case ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM: + getEvaluationform().clear(); + return; + case ModellingPackage.COURSE_INSTANCE__TIMETABLEROW: + getTimetablerow().clear(); + return; + case ModellingPackage.COURSE_INSTANCE__DEPARTMENT: + setDepartment((Department) null); + return; + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + setRegisteredStudent((Student) null); + return; + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + setPassedStudent((Student) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.COURSE_INSTANCE__SEMESTER_YEAR: + return SEMESTER_YEAR_EDEFAULT == null ? semesterYear != null : !SEMESTER_YEAR_EDEFAULT.equals(semesterYear); + case ModellingPackage.COURSE_INSTANCE__CREDITS: + return credits != CREDITS_EDEFAULT; + case ModellingPackage.COURSE_INSTANCE__LAB_HOURS: + return labHours != LAB_HOURS_EDEFAULT; + case ModellingPackage.COURSE_INSTANCE__LECTURE_HOURS: + return lectureHours != LECTURE_HOURS_EDEFAULT; + case ModellingPackage.COURSE_INSTANCE__COURSE: + return course != null && !course.isEmpty(); + case ModellingPackage.COURSE_INSTANCE__STAFF: + return staff != null && !staff.isEmpty(); + case ModellingPackage.COURSE_INSTANCE__POINTREDUCTION: + return pointreduction != null && !pointreduction.isEmpty(); + case ModellingPackage.COURSE_INSTANCE__EVALUATIONFORM: + return evaluationform != null && !evaluationform.isEmpty(); + case ModellingPackage.COURSE_INSTANCE__TIMETABLEROW: + return timetablerow != null && !timetablerow.isEmpty(); + case ModellingPackage.COURSE_INSTANCE__DEPARTMENT: + return department != null; + case ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT: + return registeredStudent != null; + case ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT: + return passedStudent != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (semesterYear: "); + result.append(semesterYear); + result.append(", credits: "); + result.append(credits); + result.append(", labHours: "); + result.append(labHours); + result.append(", lectureHours: "); + result.append(lectureHours); + result.append(')'); + return result.toString(); + } + +} //CourseInstanceImpl diff --git a/src-gen/modelling/impl/DepartmentImpl.java b/src-gen/modelling/impl/DepartmentImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6bb0114891187fc3b0b94f22d523cf3f50f28840 --- /dev/null +++ b/src-gen/modelling/impl/DepartmentImpl.java @@ -0,0 +1,261 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.Department; +import modelling.ModellingPackage; +import modelling.Person; +import modelling.StudyProgram; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Department</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.DepartmentImpl#getName <em>Name</em>}</li> + * <li>{@link modelling.impl.DepartmentImpl#getStudyprogram <em>Studyprogram</em>}</li> + * <li>{@link modelling.impl.DepartmentImpl#getPerson <em>Person</em>}</li> + * </ul> + * + * @generated + */ +public class DepartmentImpl extends MinimalEObjectImpl.Container implements Department { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getStudyprogram() <em>Studyprogram</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStudyprogram() + * @generated + * @ordered + */ + protected EList<StudyProgram> studyprogram; + + /** + * The cached value of the '{@link #getPerson() <em>Person</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPerson() + * @generated + * @ordered + */ + protected EList<Person> person; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DepartmentImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.DEPARTMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.DEPARTMENT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<StudyProgram> getStudyprogram() { + if (studyprogram == null) { + studyprogram = new EObjectContainmentEList<StudyProgram>(StudyProgram.class, this, + ModellingPackage.DEPARTMENT__STUDYPROGRAM); + } + return studyprogram; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Person> getPerson() { + if (person == null) { + person = new EObjectContainmentEList<Person>(Person.class, this, ModellingPackage.DEPARTMENT__PERSON); + } + return person; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.DEPARTMENT__STUDYPROGRAM: + return ((InternalEList<?>) getStudyprogram()).basicRemove(otherEnd, msgs); + case ModellingPackage.DEPARTMENT__PERSON: + return ((InternalEList<?>) getPerson()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.DEPARTMENT__NAME: + return getName(); + case ModellingPackage.DEPARTMENT__STUDYPROGRAM: + return getStudyprogram(); + case ModellingPackage.DEPARTMENT__PERSON: + return getPerson(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.DEPARTMENT__NAME: + setName((String) newValue); + return; + case ModellingPackage.DEPARTMENT__STUDYPROGRAM: + getStudyprogram().clear(); + getStudyprogram().addAll((Collection<? extends StudyProgram>) newValue); + return; + case ModellingPackage.DEPARTMENT__PERSON: + getPerson().clear(); + getPerson().addAll((Collection<? extends Person>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.DEPARTMENT__NAME: + setName(NAME_EDEFAULT); + return; + case ModellingPackage.DEPARTMENT__STUDYPROGRAM: + getStudyprogram().clear(); + return; + case ModellingPackage.DEPARTMENT__PERSON: + getPerson().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.DEPARTMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ModellingPackage.DEPARTMENT__STUDYPROGRAM: + return studyprogram != null && !studyprogram.isEmpty(); + case ModellingPackage.DEPARTMENT__PERSON: + return person != null && !person.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //DepartmentImpl diff --git a/src-gen/modelling/impl/EmployeeImpl.java b/src-gen/modelling/impl/EmployeeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..ad84b8b41e3c74a3baf8ae41c3a23e417d7e5b97 --- /dev/null +++ b/src-gen/modelling/impl/EmployeeImpl.java @@ -0,0 +1,224 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.Employee; +import modelling.ModellingPackage; +import modelling.Role; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Employee</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.EmployeeImpl#getEmployeeID <em>Employee ID</em>}</li> + * <li>{@link modelling.impl.EmployeeImpl#getRole <em>Role</em>}</li> + * </ul> + * + * @generated + */ +public class EmployeeImpl extends MinimalEObjectImpl.Container implements Employee { + /** + * The default value of the '{@link #getEmployeeID() <em>Employee ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmployeeID() + * @generated + * @ordered + */ + protected static final int EMPLOYEE_ID_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getEmployeeID() <em>Employee ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmployeeID() + * @generated + * @ordered + */ + protected int employeeID = EMPLOYEE_ID_EDEFAULT; + + /** + * The cached value of the '{@link #getRole() <em>Role</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRole() + * @generated + * @ordered + */ + protected EList<Role> role; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EmployeeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.EMPLOYEE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getEmployeeID() { + return employeeID; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEmployeeID(int newEmployeeID) { + int oldEmployeeID = employeeID; + employeeID = newEmployeeID; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.EMPLOYEE__EMPLOYEE_ID, oldEmployeeID, + employeeID)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Role> getRole() { + if (role == null) { + role = new EObjectContainmentEList<Role>(Role.class, this, ModellingPackage.EMPLOYEE__ROLE); + } + return role; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.EMPLOYEE__ROLE: + return ((InternalEList<?>) getRole()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.EMPLOYEE__EMPLOYEE_ID: + return getEmployeeID(); + case ModellingPackage.EMPLOYEE__ROLE: + return getRole(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.EMPLOYEE__EMPLOYEE_ID: + setEmployeeID((Integer) newValue); + return; + case ModellingPackage.EMPLOYEE__ROLE: + getRole().clear(); + getRole().addAll((Collection<? extends Role>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.EMPLOYEE__EMPLOYEE_ID: + setEmployeeID(EMPLOYEE_ID_EDEFAULT); + return; + case ModellingPackage.EMPLOYEE__ROLE: + getRole().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.EMPLOYEE__EMPLOYEE_ID: + return employeeID != EMPLOYEE_ID_EDEFAULT; + case ModellingPackage.EMPLOYEE__ROLE: + return role != null && !role.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (employeeID: "); + result.append(employeeID); + result.append(')'); + return result.toString(); + } + +} //EmployeeImpl diff --git a/src-gen/modelling/impl/EvaluationFormImpl.java b/src-gen/modelling/impl/EvaluationFormImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..12fb7d27e16a4b83419ddcb1a6ee24c84bef6081 --- /dev/null +++ b/src-gen/modelling/impl/EvaluationFormImpl.java @@ -0,0 +1,276 @@ +/** + */ +package modelling.impl; + +import modelling.EvaluationForm; +import modelling.EvaluationFormKind; +import modelling.ModellingPackage; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Evaluation Form</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.EvaluationFormImpl#getPercentage <em>Percentage</em>}</li> + * <li>{@link modelling.impl.EvaluationFormImpl#getContent <em>Content</em>}</li> + * <li>{@link modelling.impl.EvaluationFormImpl#getType <em>Type</em>}</li> + * </ul> + * + * @generated + */ +public class EvaluationFormImpl extends MinimalEObjectImpl.Container implements EvaluationForm { + /** + * The default value of the '{@link #getPercentage() <em>Percentage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPercentage() + * @generated + * @ordered + */ + protected static final int PERCENTAGE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getPercentage() <em>Percentage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPercentage() + * @generated + * @ordered + */ + protected int percentage = PERCENTAGE_EDEFAULT; + + /** + * The default value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected static final String CONTENT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getContent() <em>Content</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getContent() + * @generated + * @ordered + */ + protected String content = CONTENT_EDEFAULT; + + /** + * The default value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected static final EvaluationFormKind TYPE_EDEFAULT = EvaluationFormKind.WRITTEN_EXAM; + + /** + * The cached value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected EvaluationFormKind type = TYPE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected EvaluationFormImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.EVALUATION_FORM; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getPercentage() { + return percentage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPercentage(int newPercentage) { + int oldPercentage = percentage; + percentage = newPercentage; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.EVALUATION_FORM__PERCENTAGE, + oldPercentage, percentage)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getContent() { + return content; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setContent(String newContent) { + String oldContent = content; + content = newContent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.EVALUATION_FORM__CONTENT, oldContent, + content)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EvaluationFormKind getType() { + return type; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setType(EvaluationFormKind newType) { + EvaluationFormKind oldType = type; + type = newType == null ? TYPE_EDEFAULT : newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.EVALUATION_FORM__TYPE, oldType, + type)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.EVALUATION_FORM__PERCENTAGE: + return getPercentage(); + case ModellingPackage.EVALUATION_FORM__CONTENT: + return getContent(); + case ModellingPackage.EVALUATION_FORM__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.EVALUATION_FORM__PERCENTAGE: + setPercentage((Integer) newValue); + return; + case ModellingPackage.EVALUATION_FORM__CONTENT: + setContent((String) newValue); + return; + case ModellingPackage.EVALUATION_FORM__TYPE: + setType((EvaluationFormKind) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.EVALUATION_FORM__PERCENTAGE: + setPercentage(PERCENTAGE_EDEFAULT); + return; + case ModellingPackage.EVALUATION_FORM__CONTENT: + setContent(CONTENT_EDEFAULT); + return; + case ModellingPackage.EVALUATION_FORM__TYPE: + setType(TYPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.EVALUATION_FORM__PERCENTAGE: + return percentage != PERCENTAGE_EDEFAULT; + case ModellingPackage.EVALUATION_FORM__CONTENT: + return CONTENT_EDEFAULT == null ? content != null : !CONTENT_EDEFAULT.equals(content); + case ModellingPackage.EVALUATION_FORM__TYPE: + return type != TYPE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (percentage: "); + result.append(percentage); + result.append(", content: "); + result.append(content); + result.append(", type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + +} //EvaluationFormImpl diff --git a/src-gen/modelling/impl/ModellingFactoryImpl.java b/src-gen/modelling/impl/ModellingFactoryImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..7c045b98b4bea530b8a4bfe745bf1a3d6f0bfc27 --- /dev/null +++ b/src-gen/modelling/impl/ModellingFactoryImpl.java @@ -0,0 +1,347 @@ +/** + */ +package modelling.impl; + +import modelling.*; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class ModellingFactoryImpl extends EFactoryImpl implements ModellingFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static ModellingFactory init() { + try { + ModellingFactory theModellingFactory = (ModellingFactory) EPackage.Registry.INSTANCE + .getEFactory(ModellingPackage.eNS_URI); + if (theModellingFactory != null) { + return theModellingFactory; + } + } catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new ModellingFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModellingFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case ModellingPackage.COURSE: + return createCourse(); + case ModellingPackage.STUDY_PROGRAM: + return createStudyProgram(); + case ModellingPackage.COURSE_INSTANCE: + return createCourseInstance(); + case ModellingPackage.TIME_TABLE_ROW: + return createTimeTableRow(); + case ModellingPackage.EVALUATION_FORM: + return createEvaluationForm(); + case ModellingPackage.DEPARTMENT: + return createDepartment(); + case ModellingPackage.POINT_REDUCTION: + return createPointReduction(); + case ModellingPackage.ROLE: + return createRole(); + case ModellingPackage.PERSON: + return createPerson(); + case ModellingPackage.STUDENT: + return createStudent(); + case ModellingPackage.EMPLOYEE: + return createEmployee(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) { + switch (eDataType.getClassifierID()) { + case ModellingPackage.DAY_KIND: + return createDayKindFromString(eDataType, initialValue); + case ModellingPackage.ROLE_KIND: + return createRoleKindFromString(eDataType, initialValue); + case ModellingPackage.EVALUATION_FORM_KIND: + return createEvaluationFormKindFromString(eDataType, initialValue); + case ModellingPackage.TEACHING_FORM_KIND: + return createTeachingFormKindFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) { + switch (eDataType.getClassifierID()) { + case ModellingPackage.DAY_KIND: + return convertDayKindToString(eDataType, instanceValue); + case ModellingPackage.ROLE_KIND: + return convertRoleKindToString(eDataType, instanceValue); + case ModellingPackage.EVALUATION_FORM_KIND: + return convertEvaluationFormKindToString(eDataType, instanceValue); + case ModellingPackage.TEACHING_FORM_KIND: + return convertTeachingFormKindToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Course createCourse() { + CourseImpl course = new CourseImpl(); + return course; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StudyProgram createStudyProgram() { + StudyProgramImpl studyProgram = new StudyProgramImpl(); + return studyProgram; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CourseInstance createCourseInstance() { + CourseInstanceImpl courseInstance = new CourseInstanceImpl(); + return courseInstance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TimeTableRow createTimeTableRow() { + TimeTableRowImpl timeTableRow = new TimeTableRowImpl(); + return timeTableRow; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EvaluationForm createEvaluationForm() { + EvaluationFormImpl evaluationForm = new EvaluationFormImpl(); + return evaluationForm; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Department createDepartment() { + DepartmentImpl department = new DepartmentImpl(); + return department; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PointReduction createPointReduction() { + PointReductionImpl pointReduction = new PointReductionImpl(); + return pointReduction; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Role createRole() { + RoleImpl role = new RoleImpl(); + return role; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Person createPerson() { + PersonImpl person = new PersonImpl(); + return person; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student createStudent() { + StudentImpl student = new StudentImpl(); + return student; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Employee createEmployee() { + EmployeeImpl employee = new EmployeeImpl(); + return employee; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DayKind createDayKindFromString(EDataType eDataType, String initialValue) { + DayKind result = DayKind.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertDayKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RoleKind createRoleKindFromString(EDataType eDataType, String initialValue) { + RoleKind result = RoleKind.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertRoleKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EvaluationFormKind createEvaluationFormKindFromString(EDataType eDataType, String initialValue) { + EvaluationFormKind result = EvaluationFormKind.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertEvaluationFormKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TeachingFormKind createTeachingFormKindFromString(EDataType eDataType, String initialValue) { + TeachingFormKind result = TeachingFormKind.get(initialValue); + if (result == null) + throw new IllegalArgumentException( + "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertTeachingFormKindToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModellingPackage getModellingPackage() { + return (ModellingPackage) getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static ModellingPackage getPackage() { + return ModellingPackage.eINSTANCE; + } + +} //ModellingFactoryImpl diff --git a/src-gen/modelling/impl/ModellingPackageImpl.java b/src-gen/modelling/impl/ModellingPackageImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..4ec114cde5a1e517f5df5dedbc29ef86427b24ca --- /dev/null +++ b/src-gen/modelling/impl/ModellingPackageImpl.java @@ -0,0 +1,1058 @@ +/** + */ +package modelling.impl; + +import modelling.Course; +import modelling.CourseInstance; +import modelling.DayKind; +import modelling.Department; +import modelling.Employee; +import modelling.EvaluationForm; +import modelling.EvaluationFormKind; +import modelling.ModellingFactory; +import modelling.ModellingPackage; +import modelling.Person; +import modelling.PointReduction; +import modelling.Role; +import modelling.RoleKind; +import modelling.Student; +import modelling.StudyProgram; +import modelling.TeachingFormKind; +import modelling.TimeTableRow; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class ModellingPackageImpl extends EPackageImpl implements ModellingPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass courseEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass studyProgramEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass courseInstanceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass timeTableRowEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass evaluationFormEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass departmentEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass pointReductionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass roleEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass personEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass studentEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass employeeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum dayKindEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum roleKindEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum evaluationFormKindEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum teachingFormKindEEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see modelling.ModellingPackage#eNS_URI + * @see #init() + * @generated + */ + private ModellingPackageImpl() { + super(eNS_URI, ModellingFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link ModellingPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static ModellingPackage init() { + if (isInited) + return (ModellingPackage) EPackage.Registry.INSTANCE.getEPackage(ModellingPackage.eNS_URI); + + // Obtain or create and register package + Object registeredModellingPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + ModellingPackageImpl theModellingPackage = registeredModellingPackage instanceof ModellingPackageImpl + ? (ModellingPackageImpl) registeredModellingPackage + : new ModellingPackageImpl(); + + isInited = true; + + // Create package meta-data objects + theModellingPackage.createPackageContents(); + + // Initialize created meta-data + theModellingPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theModellingPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(ModellingPackage.eNS_URI, theModellingPackage); + return theModellingPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getCourse() { + return courseEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourse_Code() { + return (EAttribute) courseEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourse_Name() { + return (EAttribute) courseEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourse_Content() { + return (EAttribute) courseEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourse_RecommendedCourses() { + return (EReference) courseEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourse_RequiredCourses() { + return (EReference) courseEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getStudyProgram() { + return studyProgramEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStudyProgram_Course() { + return (EReference) studyProgramEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getStudyProgram_Name() { + return (EAttribute) studyProgramEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getStudyProgram_Code() { + return (EAttribute) studyProgramEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getCourseInstance() { + return courseInstanceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourseInstance_SemesterYear() { + return (EAttribute) courseInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourseInstance_Credits() { + return (EAttribute) courseInstanceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourseInstance_LabHours() { + return (EAttribute) courseInstanceEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getCourseInstance_LectureHours() { + return (EAttribute) courseInstanceEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Course() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Staff() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Pointreduction() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Evaluationform() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(7); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Timetablerow() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(8); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_Department() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(9); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_RegisteredStudent() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(10); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getCourseInstance_PassedStudent() { + return (EReference) courseInstanceEClass.getEStructuralFeatures().get(11); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTimeTableRow() { + return timeTableRowEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTimeTableRow_Weekday() { + return (EAttribute) timeTableRowEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTimeTableRow_StartTime() { + return (EAttribute) timeTableRowEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTimeTableRow_EndTime() { + return (EAttribute) timeTableRowEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTimeTableRow_Type() { + return (EAttribute) timeTableRowEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTimeTableRow_Room() { + return (EAttribute) timeTableRowEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getEvaluationForm() { + return evaluationFormEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEvaluationForm_Percentage() { + return (EAttribute) evaluationFormEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEvaluationForm_Content() { + return (EAttribute) evaluationFormEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEvaluationForm_Type() { + return (EAttribute) evaluationFormEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getDepartment() { + return departmentEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getDepartment_Name() { + return (EAttribute) departmentEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getDepartment_Studyprogram() { + return (EReference) departmentEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getDepartment_Person() { + return (EReference) departmentEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPointReduction() { + return pointReductionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getPointReduction_Reduction() { + return (EAttribute) pointReductionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPointReduction_Courseinstance() { + return (EReference) pointReductionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getRole() { + return roleEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getRole_Role() { + return (EAttribute) roleEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getRole_Courseinstance() { + return (EReference) roleEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPerson() { + return personEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getPerson_FirstName() { + return (EAttribute) personEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getPerson_LastName() { + return (EAttribute) personEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPerson_Student() { + return (EReference) personEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPerson_Employee() { + return (EReference) personEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getStudent() { + return studentEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getStudent_StudentID() { + return (EAttribute) studentEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStudent_RegisteredFor() { + return (EReference) studentEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStudent_ExamPassed() { + return (EReference) studentEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getStudent_Studyprogram() { + return (EReference) studentEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getEmployee() { + return employeeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getEmployee_EmployeeID() { + return (EAttribute) employeeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getEmployee_Role() { + return (EReference) employeeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getDayKind() { + return dayKindEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getRoleKind() { + return roleKindEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getEvaluationFormKind() { + return evaluationFormKindEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getTeachingFormKind() { + return teachingFormKindEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModellingFactory getModellingFactory() { + return (ModellingFactory) getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) + return; + isCreated = true; + + // Create classes and their features + courseEClass = createEClass(COURSE); + createEAttribute(courseEClass, COURSE__CODE); + createEAttribute(courseEClass, COURSE__NAME); + createEAttribute(courseEClass, COURSE__CONTENT); + createEReference(courseEClass, COURSE__RECOMMENDED_COURSES); + createEReference(courseEClass, COURSE__REQUIRED_COURSES); + + studyProgramEClass = createEClass(STUDY_PROGRAM); + createEReference(studyProgramEClass, STUDY_PROGRAM__COURSE); + createEAttribute(studyProgramEClass, STUDY_PROGRAM__NAME); + createEAttribute(studyProgramEClass, STUDY_PROGRAM__CODE); + + courseInstanceEClass = createEClass(COURSE_INSTANCE); + createEAttribute(courseInstanceEClass, COURSE_INSTANCE__SEMESTER_YEAR); + createEAttribute(courseInstanceEClass, COURSE_INSTANCE__CREDITS); + createEAttribute(courseInstanceEClass, COURSE_INSTANCE__LAB_HOURS); + createEAttribute(courseInstanceEClass, COURSE_INSTANCE__LECTURE_HOURS); + createEReference(courseInstanceEClass, COURSE_INSTANCE__COURSE); + createEReference(courseInstanceEClass, COURSE_INSTANCE__STAFF); + createEReference(courseInstanceEClass, COURSE_INSTANCE__POINTREDUCTION); + createEReference(courseInstanceEClass, COURSE_INSTANCE__EVALUATIONFORM); + createEReference(courseInstanceEClass, COURSE_INSTANCE__TIMETABLEROW); + createEReference(courseInstanceEClass, COURSE_INSTANCE__DEPARTMENT); + createEReference(courseInstanceEClass, COURSE_INSTANCE__REGISTERED_STUDENT); + createEReference(courseInstanceEClass, COURSE_INSTANCE__PASSED_STUDENT); + + timeTableRowEClass = createEClass(TIME_TABLE_ROW); + createEAttribute(timeTableRowEClass, TIME_TABLE_ROW__WEEKDAY); + createEAttribute(timeTableRowEClass, TIME_TABLE_ROW__START_TIME); + createEAttribute(timeTableRowEClass, TIME_TABLE_ROW__END_TIME); + createEAttribute(timeTableRowEClass, TIME_TABLE_ROW__TYPE); + createEAttribute(timeTableRowEClass, TIME_TABLE_ROW__ROOM); + + evaluationFormEClass = createEClass(EVALUATION_FORM); + createEAttribute(evaluationFormEClass, EVALUATION_FORM__PERCENTAGE); + createEAttribute(evaluationFormEClass, EVALUATION_FORM__CONTENT); + createEAttribute(evaluationFormEClass, EVALUATION_FORM__TYPE); + + departmentEClass = createEClass(DEPARTMENT); + createEAttribute(departmentEClass, DEPARTMENT__NAME); + createEReference(departmentEClass, DEPARTMENT__STUDYPROGRAM); + createEReference(departmentEClass, DEPARTMENT__PERSON); + + pointReductionEClass = createEClass(POINT_REDUCTION); + createEAttribute(pointReductionEClass, POINT_REDUCTION__REDUCTION); + createEReference(pointReductionEClass, POINT_REDUCTION__COURSEINSTANCE); + + roleEClass = createEClass(ROLE); + createEAttribute(roleEClass, ROLE__ROLE); + createEReference(roleEClass, ROLE__COURSEINSTANCE); + + personEClass = createEClass(PERSON); + createEAttribute(personEClass, PERSON__FIRST_NAME); + createEAttribute(personEClass, PERSON__LAST_NAME); + createEReference(personEClass, PERSON__STUDENT); + createEReference(personEClass, PERSON__EMPLOYEE); + + studentEClass = createEClass(STUDENT); + createEAttribute(studentEClass, STUDENT__STUDENT_ID); + createEReference(studentEClass, STUDENT__REGISTERED_FOR); + createEReference(studentEClass, STUDENT__EXAM_PASSED); + createEReference(studentEClass, STUDENT__STUDYPROGRAM); + + employeeEClass = createEClass(EMPLOYEE); + createEAttribute(employeeEClass, EMPLOYEE__EMPLOYEE_ID); + createEReference(employeeEClass, EMPLOYEE__ROLE); + + // Create enums + dayKindEEnum = createEEnum(DAY_KIND); + roleKindEEnum = createEEnum(ROLE_KIND); + evaluationFormKindEEnum = createEEnum(EVALUATION_FORM_KIND); + teachingFormKindEEnum = createEEnum(TEACHING_FORM_KIND); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @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. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) + return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + + // Initialize classes, features, and operations; add parameters + initEClass(courseEClass, Course.class, "Course", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCourse_Code(), ecorePackage.getEString(), "code", null, 0, 1, Course.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCourse_Name(), ecorePackage.getEString(), "name", null, 0, 1, Course.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCourse_Content(), ecorePackage.getEString(), "content", null, 0, 1, Course.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourse_RecommendedCourses(), this.getCourse(), null, "recommendedCourses", null, 0, -1, + Course.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourse_RequiredCourses(), this.getCourse(), null, "requiredCourses", null, 0, -1, + Course.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(studyProgramEClass, StudyProgram.class, "StudyProgram", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getStudyProgram_Course(), this.getCourse(), null, "course", null, 0, -1, StudyProgram.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getStudyProgram_Name(), ecorePackage.getEString(), "name", null, 0, 1, StudyProgram.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getStudyProgram_Code(), ecorePackage.getEString(), "code", null, 0, 1, StudyProgram.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(courseInstanceEClass, CourseInstance.class, "CourseInstance", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCourseInstance_SemesterYear(), ecorePackage.getEString(), "semesterYear", null, 0, 1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getCourseInstance_Credits(), ecorePackage.getEFloat(), "credits", null, 0, 1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getCourseInstance_LabHours(), ecorePackage.getEInt(), "labHours", null, 0, 1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getCourseInstance_LectureHours(), ecorePackage.getEInt(), "lectureHours", null, 0, 1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Course(), this.getCourse(), null, "course", null, 0, -1, CourseInstance.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Staff(), this.getRole(), this.getRole_Courseinstance(), "staff", null, 0, -1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Pointreduction(), this.getPointReduction(), null, "pointreduction", null, 0, + -1, CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Evaluationform(), this.getEvaluationForm(), null, "evaluationform", null, 0, + -1, CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Timetablerow(), this.getTimeTableRow(), null, "timetablerow", null, 0, -1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_Department(), this.getDepartment(), null, "department", null, 0, 1, + CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_RegisteredStudent(), this.getStudent(), this.getStudent_RegisteredFor(), + "registeredStudent", null, 0, 1, CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCourseInstance_PassedStudent(), this.getStudent(), this.getStudent_ExamPassed(), + "passedStudent", null, 0, 1, CourseInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(timeTableRowEClass, TimeTableRow.class, "TimeTableRow", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getTimeTableRow_Weekday(), this.getDayKind(), "weekday", null, 0, 1, TimeTableRow.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTimeTableRow_StartTime(), ecorePackage.getEInt(), "startTime", null, 0, 1, TimeTableRow.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTimeTableRow_EndTime(), ecorePackage.getEInt(), "endTime", null, 0, 1, TimeTableRow.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTimeTableRow_Type(), this.getTeachingFormKind(), "type", null, 0, 1, TimeTableRow.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTimeTableRow_Room(), ecorePackage.getEString(), "room", null, 0, 1, TimeTableRow.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(evaluationFormEClass, EvaluationForm.class, "EvaluationForm", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEvaluationForm_Percentage(), ecorePackage.getEInt(), "percentage", null, 0, 1, + EvaluationForm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getEvaluationForm_Content(), ecorePackage.getEString(), "content", null, 0, 1, + EvaluationForm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEAttribute(getEvaluationForm_Type(), this.getEvaluationFormKind(), "type", null, 0, 1, EvaluationForm.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(departmentEClass, Department.class, "Department", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getDepartment_Name(), ecorePackage.getEString(), "name", null, 0, 1, Department.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getDepartment_Studyprogram(), this.getStudyProgram(), null, "studyprogram", null, 0, -1, + Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getDepartment_Person(), this.getPerson(), null, "person", null, 0, -1, Department.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(pointReductionEClass, PointReduction.class, "PointReduction", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getPointReduction_Reduction(), ecorePackage.getEFloat(), "reduction", null, 0, 1, + PointReduction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED); + initEReference(getPointReduction_Courseinstance(), this.getCourseInstance(), null, "courseinstance", null, 0, + -1, PointReduction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(roleEClass, Role.class, "Role", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getRole_Role(), this.getRoleKind(), "role", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getRole_Courseinstance(), this.getCourseInstance(), this.getCourseInstance_Staff(), + "courseinstance", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(personEClass, Person.class, "Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getPerson_FirstName(), ecorePackage.getEString(), "firstName", null, 0, 1, Person.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPerson_LastName(), ecorePackage.getEString(), "lastName", null, 0, 1, Person.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPerson_Student(), this.getStudent(), null, "student", null, 0, 1, Person.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + initEReference(getPerson_Employee(), this.getEmployee(), null, "employee", null, 0, 1, Person.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(studentEClass, Student.class, "Student", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getStudent_StudentID(), ecorePackage.getEInt(), "studentID", null, 0, 1, Student.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStudent_RegisteredFor(), this.getCourseInstance(), this.getCourseInstance_RegisteredStudent(), + "registeredFor", null, 0, -1, Student.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStudent_ExamPassed(), this.getCourseInstance(), this.getCourseInstance_PassedStudent(), + "examPassed", null, 0, -1, Student.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getStudent_Studyprogram(), this.getStudyProgram(), null, "studyprogram", null, 0, 1, + Student.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(employeeEClass, Employee.class, "Employee", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEmployee_EmployeeID(), ecorePackage.getEInt(), "employeeID", null, 0, 1, Employee.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEmployee_Role(), this.getRole(), null, "role", null, 0, -1, Employee.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(dayKindEEnum, DayKind.class, "DayKind"); + addEEnumLiteral(dayKindEEnum, DayKind.MONDAY); + addEEnumLiteral(dayKindEEnum, DayKind.TUESDAY); + addEEnumLiteral(dayKindEEnum, DayKind.WEDNESDAY); + addEEnumLiteral(dayKindEEnum, DayKind.THURSDAY); + addEEnumLiteral(dayKindEEnum, DayKind.FRIDAY); + addEEnumLiteral(dayKindEEnum, DayKind.SATURDAY); + addEEnumLiteral(dayKindEEnum, DayKind.SUNDAY); + + initEEnum(roleKindEEnum, RoleKind.class, "RoleKind"); + addEEnumLiteral(roleKindEEnum, RoleKind.LECTURER); + addEEnumLiteral(roleKindEEnum, RoleKind.COORDINATOR); + addEEnumLiteral(roleKindEEnum, RoleKind.STUDENT_ASSISTANT); + addEEnumLiteral(roleKindEEnum, RoleKind.TEACHER_ASSISTANT); + + initEEnum(evaluationFormKindEEnum, EvaluationFormKind.class, "EvaluationFormKind"); + addEEnumLiteral(evaluationFormKindEEnum, EvaluationFormKind.WRITTEN_EXAM); + addEEnumLiteral(evaluationFormKindEEnum, EvaluationFormKind.ORAL_EXAM); + addEEnumLiteral(evaluationFormKindEEnum, EvaluationFormKind.EXERCISES); + addEEnumLiteral(evaluationFormKindEEnum, EvaluationFormKind.PROJECT); + + initEEnum(teachingFormKindEEnum, TeachingFormKind.class, "TeachingFormKind"); + addEEnumLiteral(teachingFormKindEEnum, TeachingFormKind.LECTURE); + addEEnumLiteral(teachingFormKindEEnum, TeachingFormKind.LAB); + + // Create resource + createResource(eNS_URI); + } + +} //ModellingPackageImpl diff --git a/src-gen/modelling/impl/PersonImpl.java b/src-gen/modelling/impl/PersonImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..93c28dc354e7a2072e8ad747bd4101efd76099ad --- /dev/null +++ b/src-gen/modelling/impl/PersonImpl.java @@ -0,0 +1,382 @@ +/** + */ +package modelling.impl; + +import modelling.Employee; +import modelling.ModellingPackage; +import modelling.Person; +import modelling.Student; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Person</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.PersonImpl#getFirstName <em>First Name</em>}</li> + * <li>{@link modelling.impl.PersonImpl#getLastName <em>Last Name</em>}</li> + * <li>{@link modelling.impl.PersonImpl#getStudent <em>Student</em>}</li> + * <li>{@link modelling.impl.PersonImpl#getEmployee <em>Employee</em>}</li> + * </ul> + * + * @generated + */ +public class PersonImpl extends MinimalEObjectImpl.Container implements Person { + /** + * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFirstName() + * @generated + * @ordered + */ + protected static final String FIRST_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFirstName() + * @generated + * @ordered + */ + protected String firstName = FIRST_NAME_EDEFAULT; + + /** + * The default value of the '{@link #getLastName() <em>Last Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLastName() + * @generated + * @ordered + */ + protected static final String LAST_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLastName() <em>Last Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLastName() + * @generated + * @ordered + */ + protected String lastName = LAST_NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getStudent() <em>Student</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStudent() + * @generated + * @ordered + */ + protected Student student; + + /** + * The cached value of the '{@link #getEmployee() <em>Employee</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEmployee() + * @generated + * @ordered + */ + protected Employee employee; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PersonImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.PERSON; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getFirstName() { + return firstName; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFirstName(String newFirstName) { + String oldFirstName = firstName; + firstName = newFirstName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.PERSON__FIRST_NAME, oldFirstName, + firstName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLastName() { + return lastName; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLastName(String newLastName) { + String oldLastName = lastName; + lastName = newLastName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.PERSON__LAST_NAME, oldLastName, + lastName)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Student getStudent() { + return student; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetStudent(Student newStudent, NotificationChain msgs) { + Student oldStudent = student; + student = newStudent; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + ModellingPackage.PERSON__STUDENT, oldStudent, newStudent); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStudent(Student newStudent) { + if (newStudent != student) { + NotificationChain msgs = null; + if (student != null) + msgs = ((InternalEObject) student).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - ModellingPackage.PERSON__STUDENT, null, msgs); + if (newStudent != null) + msgs = ((InternalEObject) newStudent).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - ModellingPackage.PERSON__STUDENT, null, msgs); + msgs = basicSetStudent(newStudent, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.PERSON__STUDENT, newStudent, + newStudent)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Employee getEmployee() { + return employee; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEmployee(Employee newEmployee, NotificationChain msgs) { + Employee oldEmployee = employee; + employee = newEmployee; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + ModellingPackage.PERSON__EMPLOYEE, oldEmployee, newEmployee); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEmployee(Employee newEmployee) { + if (newEmployee != employee) { + NotificationChain msgs = null; + if (employee != null) + msgs = ((InternalEObject) employee).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - ModellingPackage.PERSON__EMPLOYEE, null, msgs); + if (newEmployee != null) + msgs = ((InternalEObject) newEmployee).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - ModellingPackage.PERSON__EMPLOYEE, null, msgs); + msgs = basicSetEmployee(newEmployee, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.PERSON__EMPLOYEE, newEmployee, + newEmployee)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.PERSON__STUDENT: + return basicSetStudent(null, msgs); + case ModellingPackage.PERSON__EMPLOYEE: + return basicSetEmployee(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.PERSON__FIRST_NAME: + return getFirstName(); + case ModellingPackage.PERSON__LAST_NAME: + return getLastName(); + case ModellingPackage.PERSON__STUDENT: + return getStudent(); + case ModellingPackage.PERSON__EMPLOYEE: + return getEmployee(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.PERSON__FIRST_NAME: + setFirstName((String) newValue); + return; + case ModellingPackage.PERSON__LAST_NAME: + setLastName((String) newValue); + return; + case ModellingPackage.PERSON__STUDENT: + setStudent((Student) newValue); + return; + case ModellingPackage.PERSON__EMPLOYEE: + setEmployee((Employee) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.PERSON__FIRST_NAME: + setFirstName(FIRST_NAME_EDEFAULT); + return; + case ModellingPackage.PERSON__LAST_NAME: + setLastName(LAST_NAME_EDEFAULT); + return; + case ModellingPackage.PERSON__STUDENT: + setStudent((Student) null); + return; + case ModellingPackage.PERSON__EMPLOYEE: + setEmployee((Employee) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.PERSON__FIRST_NAME: + return FIRST_NAME_EDEFAULT == null ? firstName != null : !FIRST_NAME_EDEFAULT.equals(firstName); + case ModellingPackage.PERSON__LAST_NAME: + return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName); + case ModellingPackage.PERSON__STUDENT: + return student != null; + case ModellingPackage.PERSON__EMPLOYEE: + return employee != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (firstName: "); + result.append(firstName); + result.append(", lastName: "); + result.append(lastName); + result.append(')'); + return result.toString(); + } + +} //PersonImpl diff --git a/src-gen/modelling/impl/PointReductionImpl.java b/src-gen/modelling/impl/PointReductionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b5488b9e4f3e031aae257157c23d82bab4ea6423 --- /dev/null +++ b/src-gen/modelling/impl/PointReductionImpl.java @@ -0,0 +1,208 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.CourseInstance; +import modelling.ModellingPackage; +import modelling.PointReduction; + +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.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Point Reduction</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.PointReductionImpl#getReduction <em>Reduction</em>}</li> + * <li>{@link modelling.impl.PointReductionImpl#getCourseinstance <em>Courseinstance</em>}</li> + * </ul> + * + * @generated + */ +public class PointReductionImpl extends MinimalEObjectImpl.Container implements PointReduction { + /** + * The default value of the '{@link #getReduction() <em>Reduction</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReduction() + * @generated + * @ordered + */ + protected static final float REDUCTION_EDEFAULT = 0.0F; + + /** + * The cached value of the '{@link #getReduction() <em>Reduction</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReduction() + * @generated + * @ordered + */ + protected float reduction = REDUCTION_EDEFAULT; + + /** + * The cached value of the '{@link #getCourseinstance() <em>Courseinstance</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCourseinstance() + * @generated + * @ordered + */ + protected EList<CourseInstance> courseinstance; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PointReductionImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.POINT_REDUCTION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public float getReduction() { + return reduction; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setReduction(float newReduction) { + float oldReduction = reduction; + reduction = newReduction; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.POINT_REDUCTION__REDUCTION, + oldReduction, reduction)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<CourseInstance> getCourseinstance() { + if (courseinstance == null) { + courseinstance = new EObjectResolvingEList<CourseInstance>(CourseInstance.class, this, + ModellingPackage.POINT_REDUCTION__COURSEINSTANCE); + } + return courseinstance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.POINT_REDUCTION__REDUCTION: + return getReduction(); + case ModellingPackage.POINT_REDUCTION__COURSEINSTANCE: + return getCourseinstance(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.POINT_REDUCTION__REDUCTION: + setReduction((Float) newValue); + return; + case ModellingPackage.POINT_REDUCTION__COURSEINSTANCE: + getCourseinstance().clear(); + getCourseinstance().addAll((Collection<? extends CourseInstance>) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.POINT_REDUCTION__REDUCTION: + setReduction(REDUCTION_EDEFAULT); + return; + case ModellingPackage.POINT_REDUCTION__COURSEINSTANCE: + getCourseinstance().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.POINT_REDUCTION__REDUCTION: + return reduction != REDUCTION_EDEFAULT; + case ModellingPackage.POINT_REDUCTION__COURSEINSTANCE: + return courseinstance != null && !courseinstance.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (reduction: "); + result.append(reduction); + result.append(')'); + return result.toString(); + } + +} //PointReductionImpl diff --git a/src-gen/modelling/impl/RoleImpl.java b/src-gen/modelling/impl/RoleImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..671937d3883632777e31b45990296e49b8a83a32 --- /dev/null +++ b/src-gen/modelling/impl/RoleImpl.java @@ -0,0 +1,290 @@ +/** + */ +package modelling.impl; + +import modelling.CourseInstance; +import modelling.ModellingPackage; +import modelling.Role; +import modelling.RoleKind; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Role</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.RoleImpl#getRole <em>Role</em>}</li> + * <li>{@link modelling.impl.RoleImpl#getCourseinstance <em>Courseinstance</em>}</li> + * </ul> + * + * @generated + */ +public class RoleImpl extends MinimalEObjectImpl.Container implements Role { + /** + * The default value of the '{@link #getRole() <em>Role</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRole() + * @generated + * @ordered + */ + protected static final RoleKind ROLE_EDEFAULT = RoleKind.LECTURER; + + /** + * The cached value of the '{@link #getRole() <em>Role</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRole() + * @generated + * @ordered + */ + protected RoleKind role = ROLE_EDEFAULT; + + /** + * The cached value of the '{@link #getCourseinstance() <em>Courseinstance</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCourseinstance() + * @generated + * @ordered + */ + protected CourseInstance courseinstance; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RoleImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.ROLE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public RoleKind getRole() { + return role; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRole(RoleKind newRole) { + RoleKind oldRole = role; + role = newRole == null ? ROLE_EDEFAULT : newRole; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.ROLE__ROLE, oldRole, role)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CourseInstance getCourseinstance() { + if (courseinstance != null && courseinstance.eIsProxy()) { + InternalEObject oldCourseinstance = (InternalEObject) courseinstance; + courseinstance = (CourseInstance) eResolveProxy(oldCourseinstance); + if (courseinstance != oldCourseinstance) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModellingPackage.ROLE__COURSEINSTANCE, + oldCourseinstance, courseinstance)); + } + } + return courseinstance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CourseInstance basicGetCourseinstance() { + return courseinstance; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCourseinstance(CourseInstance newCourseinstance, NotificationChain msgs) { + CourseInstance oldCourseinstance = courseinstance; + courseinstance = newCourseinstance; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + ModellingPackage.ROLE__COURSEINSTANCE, oldCourseinstance, newCourseinstance); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCourseinstance(CourseInstance newCourseinstance) { + if (newCourseinstance != courseinstance) { + NotificationChain msgs = null; + if (courseinstance != null) + msgs = ((InternalEObject) courseinstance).eInverseRemove(this, ModellingPackage.COURSE_INSTANCE__STAFF, + CourseInstance.class, msgs); + if (newCourseinstance != null) + msgs = ((InternalEObject) newCourseinstance).eInverseAdd(this, ModellingPackage.COURSE_INSTANCE__STAFF, + CourseInstance.class, msgs); + msgs = basicSetCourseinstance(newCourseinstance, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.ROLE__COURSEINSTANCE, + newCourseinstance, newCourseinstance)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.ROLE__COURSEINSTANCE: + if (courseinstance != null) + msgs = ((InternalEObject) courseinstance).eInverseRemove(this, ModellingPackage.COURSE_INSTANCE__STAFF, + CourseInstance.class, msgs); + return basicSetCourseinstance((CourseInstance) otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.ROLE__COURSEINSTANCE: + return basicSetCourseinstance(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.ROLE__ROLE: + return getRole(); + case ModellingPackage.ROLE__COURSEINSTANCE: + if (resolve) + return getCourseinstance(); + return basicGetCourseinstance(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.ROLE__ROLE: + setRole((RoleKind) newValue); + return; + case ModellingPackage.ROLE__COURSEINSTANCE: + setCourseinstance((CourseInstance) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.ROLE__ROLE: + setRole(ROLE_EDEFAULT); + return; + case ModellingPackage.ROLE__COURSEINSTANCE: + setCourseinstance((CourseInstance) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.ROLE__ROLE: + return role != ROLE_EDEFAULT; + case ModellingPackage.ROLE__COURSEINSTANCE: + return courseinstance != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (role: "); + result.append(role); + result.append(')'); + return result.toString(); + } + +} //RoleImpl diff --git a/src-gen/modelling/impl/StudentImpl.java b/src-gen/modelling/impl/StudentImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9e8234dab656ab77173365f5c5a018a34bbeeff1 --- /dev/null +++ b/src-gen/modelling/impl/StudentImpl.java @@ -0,0 +1,343 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.CourseInstance; +import modelling.ModellingPackage; +import modelling.Student; +import modelling.StudyProgram; + +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.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Student</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.StudentImpl#getStudentID <em>Student ID</em>}</li> + * <li>{@link modelling.impl.StudentImpl#getRegisteredFor <em>Registered For</em>}</li> + * <li>{@link modelling.impl.StudentImpl#getExamPassed <em>Exam Passed</em>}</li> + * <li>{@link modelling.impl.StudentImpl#getStudyprogram <em>Studyprogram</em>}</li> + * </ul> + * + * @generated + */ +public class StudentImpl extends MinimalEObjectImpl.Container implements Student { + /** + * The default value of the '{@link #getStudentID() <em>Student ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStudentID() + * @generated + * @ordered + */ + protected static final int STUDENT_ID_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getStudentID() <em>Student ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStudentID() + * @generated + * @ordered + */ + protected int studentID = STUDENT_ID_EDEFAULT; + + /** + * The cached value of the '{@link #getRegisteredFor() <em>Registered For</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRegisteredFor() + * @generated + * @ordered + */ + protected EList<CourseInstance> registeredFor; + + /** + * The cached value of the '{@link #getExamPassed() <em>Exam Passed</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExamPassed() + * @generated + * @ordered + */ + protected EList<CourseInstance> examPassed; + + /** + * The cached value of the '{@link #getStudyprogram() <em>Studyprogram</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStudyprogram() + * @generated + * @ordered + */ + protected StudyProgram studyprogram; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StudentImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.STUDENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getStudentID() { + return studentID; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStudentID(int newStudentID) { + int oldStudentID = studentID; + studentID = newStudentID; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.STUDENT__STUDENT_ID, oldStudentID, + studentID)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<CourseInstance> getRegisteredFor() { + if (registeredFor == null) { + registeredFor = new EObjectWithInverseResolvingEList<CourseInstance>(CourseInstance.class, this, + ModellingPackage.STUDENT__REGISTERED_FOR, ModellingPackage.COURSE_INSTANCE__REGISTERED_STUDENT); + } + return registeredFor; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<CourseInstance> getExamPassed() { + if (examPassed == null) { + examPassed = new EObjectWithInverseResolvingEList<CourseInstance>(CourseInstance.class, this, + ModellingPackage.STUDENT__EXAM_PASSED, ModellingPackage.COURSE_INSTANCE__PASSED_STUDENT); + } + return examPassed; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StudyProgram getStudyprogram() { + if (studyprogram != null && studyprogram.eIsProxy()) { + InternalEObject oldStudyprogram = (InternalEObject) studyprogram; + studyprogram = (StudyProgram) eResolveProxy(oldStudyprogram); + if (studyprogram != oldStudyprogram) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModellingPackage.STUDENT__STUDYPROGRAM, + oldStudyprogram, studyprogram)); + } + } + return studyprogram; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public StudyProgram basicGetStudyprogram() { + return studyprogram; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStudyprogram(StudyProgram newStudyprogram) { + StudyProgram oldStudyprogram = studyprogram; + studyprogram = newStudyprogram; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.STUDENT__STUDYPROGRAM, + oldStudyprogram, studyprogram)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.STUDENT__REGISTERED_FOR: + return ((InternalEList<InternalEObject>) (InternalEList<?>) getRegisteredFor()).basicAdd(otherEnd, msgs); + case ModellingPackage.STUDENT__EXAM_PASSED: + return ((InternalEList<InternalEObject>) (InternalEList<?>) getExamPassed()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.STUDENT__REGISTERED_FOR: + return ((InternalEList<?>) getRegisteredFor()).basicRemove(otherEnd, msgs); + case ModellingPackage.STUDENT__EXAM_PASSED: + return ((InternalEList<?>) getExamPassed()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.STUDENT__STUDENT_ID: + return getStudentID(); + case ModellingPackage.STUDENT__REGISTERED_FOR: + return getRegisteredFor(); + case ModellingPackage.STUDENT__EXAM_PASSED: + return getExamPassed(); + case ModellingPackage.STUDENT__STUDYPROGRAM: + if (resolve) + return getStudyprogram(); + return basicGetStudyprogram(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.STUDENT__STUDENT_ID: + setStudentID((Integer) newValue); + return; + case ModellingPackage.STUDENT__REGISTERED_FOR: + getRegisteredFor().clear(); + getRegisteredFor().addAll((Collection<? extends CourseInstance>) newValue); + return; + case ModellingPackage.STUDENT__EXAM_PASSED: + getExamPassed().clear(); + getExamPassed().addAll((Collection<? extends CourseInstance>) newValue); + return; + case ModellingPackage.STUDENT__STUDYPROGRAM: + setStudyprogram((StudyProgram) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.STUDENT__STUDENT_ID: + setStudentID(STUDENT_ID_EDEFAULT); + return; + case ModellingPackage.STUDENT__REGISTERED_FOR: + getRegisteredFor().clear(); + return; + case ModellingPackage.STUDENT__EXAM_PASSED: + getExamPassed().clear(); + return; + case ModellingPackage.STUDENT__STUDYPROGRAM: + setStudyprogram((StudyProgram) null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.STUDENT__STUDENT_ID: + return studentID != STUDENT_ID_EDEFAULT; + case ModellingPackage.STUDENT__REGISTERED_FOR: + return registeredFor != null && !registeredFor.isEmpty(); + case ModellingPackage.STUDENT__EXAM_PASSED: + return examPassed != null && !examPassed.isEmpty(); + case ModellingPackage.STUDENT__STUDYPROGRAM: + return studyprogram != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (studentID: "); + result.append(studentID); + result.append(')'); + return result.toString(); + } + +} //StudentImpl diff --git a/src-gen/modelling/impl/StudyProgramImpl.java b/src-gen/modelling/impl/StudyProgramImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9a9e452b599e208405b67a0874cb199e54fc8387 --- /dev/null +++ b/src-gen/modelling/impl/StudyProgramImpl.java @@ -0,0 +1,277 @@ +/** + */ +package modelling.impl; + +import java.util.Collection; + +import modelling.Course; +import modelling.ModellingPackage; +import modelling.StudyProgram; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Study Program</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.StudyProgramImpl#getCourse <em>Course</em>}</li> + * <li>{@link modelling.impl.StudyProgramImpl#getName <em>Name</em>}</li> + * <li>{@link modelling.impl.StudyProgramImpl#getCode <em>Code</em>}</li> + * </ul> + * + * @generated + */ +public class StudyProgramImpl extends MinimalEObjectImpl.Container implements StudyProgram { + /** + * The cached value of the '{@link #getCourse() <em>Course</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCourse() + * @generated + * @ordered + */ + protected EList<Course> course; + + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected static final String CODE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCode() <em>Code</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCode() + * @generated + * @ordered + */ + protected String code = CODE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StudyProgramImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.STUDY_PROGRAM; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Course> getCourse() { + if (course == null) { + course = new EObjectContainmentEList<Course>(Course.class, this, ModellingPackage.STUDY_PROGRAM__COURSE); + } + return course; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.STUDY_PROGRAM__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCode() { + return code; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCode(String newCode) { + String oldCode = code; + code = newCode; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.STUDY_PROGRAM__CODE, oldCode, code)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ModellingPackage.STUDY_PROGRAM__COURSE: + return ((InternalEList<?>) getCourse()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.STUDY_PROGRAM__COURSE: + return getCourse(); + case ModellingPackage.STUDY_PROGRAM__NAME: + return getName(); + case ModellingPackage.STUDY_PROGRAM__CODE: + return getCode(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.STUDY_PROGRAM__COURSE: + getCourse().clear(); + getCourse().addAll((Collection<? extends Course>) newValue); + return; + case ModellingPackage.STUDY_PROGRAM__NAME: + setName((String) newValue); + return; + case ModellingPackage.STUDY_PROGRAM__CODE: + setCode((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.STUDY_PROGRAM__COURSE: + getCourse().clear(); + return; + case ModellingPackage.STUDY_PROGRAM__NAME: + setName(NAME_EDEFAULT); + return; + case ModellingPackage.STUDY_PROGRAM__CODE: + setCode(CODE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.STUDY_PROGRAM__COURSE: + return course != null && !course.isEmpty(); + case ModellingPackage.STUDY_PROGRAM__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case ModellingPackage.STUDY_PROGRAM__CODE: + return CODE_EDEFAULT == null ? code != null : !CODE_EDEFAULT.equals(code); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", code: "); + result.append(code); + result.append(')'); + return result.toString(); + } + +} //StudyProgramImpl diff --git a/src-gen/modelling/impl/TimeTableRowImpl.java b/src-gen/modelling/impl/TimeTableRowImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..232e1c55489b74b19cfa489f1a1393d490d8632b --- /dev/null +++ b/src-gen/modelling/impl/TimeTableRowImpl.java @@ -0,0 +1,387 @@ +/** + */ +package modelling.impl; + +import modelling.DayKind; +import modelling.ModellingPackage; +import modelling.TeachingFormKind; +import modelling.TimeTableRow; + +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; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Time Table Row</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link modelling.impl.TimeTableRowImpl#getWeekday <em>Weekday</em>}</li> + * <li>{@link modelling.impl.TimeTableRowImpl#getStartTime <em>Start Time</em>}</li> + * <li>{@link modelling.impl.TimeTableRowImpl#getEndTime <em>End Time</em>}</li> + * <li>{@link modelling.impl.TimeTableRowImpl#getType <em>Type</em>}</li> + * <li>{@link modelling.impl.TimeTableRowImpl#getRoom <em>Room</em>}</li> + * </ul> + * + * @generated + */ +public class TimeTableRowImpl extends MinimalEObjectImpl.Container implements TimeTableRow { + /** + * The default value of the '{@link #getWeekday() <em>Weekday</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getWeekday() + * @generated + * @ordered + */ + protected static final DayKind WEEKDAY_EDEFAULT = DayKind.MONDAY; + + /** + * The cached value of the '{@link #getWeekday() <em>Weekday</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getWeekday() + * @generated + * @ordered + */ + protected DayKind weekday = WEEKDAY_EDEFAULT; + + /** + * The default value of the '{@link #getStartTime() <em>Start Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStartTime() + * @generated + * @ordered + */ + protected static final int START_TIME_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getStartTime() <em>Start Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStartTime() + * @generated + * @ordered + */ + protected int startTime = START_TIME_EDEFAULT; + + /** + * The default value of the '{@link #getEndTime() <em>End Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEndTime() + * @generated + * @ordered + */ + protected static final int END_TIME_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getEndTime() <em>End Time</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEndTime() + * @generated + * @ordered + */ + protected int endTime = END_TIME_EDEFAULT; + + /** + * The default value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected static final TeachingFormKind TYPE_EDEFAULT = TeachingFormKind.LECTURE; + + /** + * The cached value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected TeachingFormKind type = TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getRoom() <em>Room</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRoom() + * @generated + * @ordered + */ + protected static final String ROOM_EDEFAULT = null; + + /** + * The cached value of the '{@link #getRoom() <em>Room</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRoom() + * @generated + * @ordered + */ + protected String room = ROOM_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TimeTableRowImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ModellingPackage.Literals.TIME_TABLE_ROW; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DayKind getWeekday() { + return weekday; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setWeekday(DayKind newWeekday) { + DayKind oldWeekday = weekday; + weekday = newWeekday == null ? WEEKDAY_EDEFAULT : newWeekday; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.TIME_TABLE_ROW__WEEKDAY, oldWeekday, + weekday)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getStartTime() { + return startTime; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStartTime(int newStartTime) { + int oldStartTime = startTime; + startTime = newStartTime; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.TIME_TABLE_ROW__START_TIME, + oldStartTime, startTime)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getEndTime() { + return endTime; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setEndTime(int newEndTime) { + int oldEndTime = endTime; + endTime = newEndTime; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.TIME_TABLE_ROW__END_TIME, oldEndTime, + endTime)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TeachingFormKind getType() { + return type; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setType(TeachingFormKind newType) { + TeachingFormKind oldType = type; + type = newType == null ? TYPE_EDEFAULT : newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.TIME_TABLE_ROW__TYPE, oldType, + type)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getRoom() { + return room; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRoom(String newRoom) { + String oldRoom = room; + room = newRoom; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ModellingPackage.TIME_TABLE_ROW__ROOM, oldRoom, + room)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ModellingPackage.TIME_TABLE_ROW__WEEKDAY: + return getWeekday(); + case ModellingPackage.TIME_TABLE_ROW__START_TIME: + return getStartTime(); + case ModellingPackage.TIME_TABLE_ROW__END_TIME: + return getEndTime(); + case ModellingPackage.TIME_TABLE_ROW__TYPE: + return getType(); + case ModellingPackage.TIME_TABLE_ROW__ROOM: + return getRoom(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ModellingPackage.TIME_TABLE_ROW__WEEKDAY: + setWeekday((DayKind) newValue); + return; + case ModellingPackage.TIME_TABLE_ROW__START_TIME: + setStartTime((Integer) newValue); + return; + case ModellingPackage.TIME_TABLE_ROW__END_TIME: + setEndTime((Integer) newValue); + return; + case ModellingPackage.TIME_TABLE_ROW__TYPE: + setType((TeachingFormKind) newValue); + return; + case ModellingPackage.TIME_TABLE_ROW__ROOM: + setRoom((String) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ModellingPackage.TIME_TABLE_ROW__WEEKDAY: + setWeekday(WEEKDAY_EDEFAULT); + return; + case ModellingPackage.TIME_TABLE_ROW__START_TIME: + setStartTime(START_TIME_EDEFAULT); + return; + case ModellingPackage.TIME_TABLE_ROW__END_TIME: + setEndTime(END_TIME_EDEFAULT); + return; + case ModellingPackage.TIME_TABLE_ROW__TYPE: + setType(TYPE_EDEFAULT); + return; + case ModellingPackage.TIME_TABLE_ROW__ROOM: + setRoom(ROOM_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ModellingPackage.TIME_TABLE_ROW__WEEKDAY: + return weekday != WEEKDAY_EDEFAULT; + case ModellingPackage.TIME_TABLE_ROW__START_TIME: + return startTime != START_TIME_EDEFAULT; + case ModellingPackage.TIME_TABLE_ROW__END_TIME: + return endTime != END_TIME_EDEFAULT; + case ModellingPackage.TIME_TABLE_ROW__TYPE: + return type != TYPE_EDEFAULT; + case ModellingPackage.TIME_TABLE_ROW__ROOM: + return ROOM_EDEFAULT == null ? room != null : !ROOM_EDEFAULT.equals(room); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) + return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (weekday: "); + result.append(weekday); + result.append(", startTime: "); + result.append(startTime); + result.append(", endTime: "); + result.append(endTime); + result.append(", type: "); + result.append(type); + result.append(", room: "); + result.append(room); + result.append(')'); + return result.toString(); + } + +} //TimeTableRowImpl diff --git a/src-gen/modelling/util/ModellingAdapterFactory.java b/src-gen/modelling/util/ModellingAdapterFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..ab94732226089ff2c8ef85b2540ad158aa108854 --- /dev/null +++ b/src-gen/modelling/util/ModellingAdapterFactory.java @@ -0,0 +1,309 @@ +/** + */ +package modelling.util; + +import modelling.*; + +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; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage + * @generated + */ +public class ModellingAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static ModellingPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModellingAdapterFactory() { + if (modelPackage == null) { + modelPackage = ModellingPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @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 <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModellingSwitch<Adapter> modelSwitch = new ModellingSwitch<Adapter>() { + @Override + public Adapter caseCourse(Course object) { + return createCourseAdapter(); + } + + @Override + public Adapter caseStudyProgram(StudyProgram object) { + return createStudyProgramAdapter(); + } + + @Override + public Adapter caseCourseInstance(CourseInstance object) { + return createCourseInstanceAdapter(); + } + + @Override + public Adapter caseTimeTableRow(TimeTableRow object) { + return createTimeTableRowAdapter(); + } + + @Override + public Adapter caseEvaluationForm(EvaluationForm object) { + return createEvaluationFormAdapter(); + } + + @Override + public Adapter caseDepartment(Department object) { + return createDepartmentAdapter(); + } + + @Override + public Adapter casePointReduction(PointReduction object) { + return createPointReductionAdapter(); + } + + @Override + public Adapter caseRole(Role object) { + return createRoleAdapter(); + } + + @Override + public Adapter casePerson(Person object) { + return createPersonAdapter(); + } + + @Override + public Adapter caseStudent(Student object) { + return createStudentAdapter(); + } + + @Override + public Adapter caseEmployee(Employee object) { + return createEmployeeAdapter(); + } + + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject) target); + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Course <em>Course</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Course + * @generated + */ + public Adapter createCourseAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.StudyProgram <em>Study Program</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.StudyProgram + * @generated + */ + public Adapter createStudyProgramAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.CourseInstance <em>Course Instance</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.CourseInstance + * @generated + */ + public Adapter createCourseInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.TimeTableRow <em>Time Table Row</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.TimeTableRow + * @generated + */ + public Adapter createTimeTableRowAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.EvaluationForm <em>Evaluation Form</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.EvaluationForm + * @generated + */ + public Adapter createEvaluationFormAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Department <em>Department</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Department + * @generated + */ + public Adapter createDepartmentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.PointReduction <em>Point Reduction</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.PointReduction + * @generated + */ + public Adapter createPointReductionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Role <em>Role</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Role + * @generated + */ + public Adapter createRoleAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Person <em>Person</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Person + * @generated + */ + public Adapter createPersonAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Student <em>Student</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Student + * @generated + */ + public Adapter createStudentAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link modelling.Employee <em>Employee</em>}'. + * <!-- begin-user-doc --> + * 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. + * <!-- end-user-doc --> + * @return the new adapter. + * @see modelling.Employee + * @generated + */ + public Adapter createEmployeeAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //ModellingAdapterFactory diff --git a/src-gen/modelling/util/ModellingSwitch.java b/src-gen/modelling/util/ModellingSwitch.java new file mode 100644 index 0000000000000000000000000000000000000000..3c17215934377e7cee7dcb2f17076c325e862027 --- /dev/null +++ b/src-gen/modelling/util/ModellingSwitch.java @@ -0,0 +1,332 @@ +/** + */ +package modelling.util; + +import modelling.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> 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. + * <!-- end-user-doc --> + * @see modelling.ModellingPackage + * @generated + */ +public class ModellingSwitch<T> extends Switch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static ModellingPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ModellingSwitch() { + if (modelPackage == null) { + modelPackage = ModellingPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @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 <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case ModellingPackage.COURSE: { + Course course = (Course) theEObject; + T result = caseCourse(course); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.STUDY_PROGRAM: { + StudyProgram studyProgram = (StudyProgram) theEObject; + T result = caseStudyProgram(studyProgram); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.COURSE_INSTANCE: { + CourseInstance courseInstance = (CourseInstance) theEObject; + T result = caseCourseInstance(courseInstance); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.TIME_TABLE_ROW: { + TimeTableRow timeTableRow = (TimeTableRow) theEObject; + T result = caseTimeTableRow(timeTableRow); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.EVALUATION_FORM: { + EvaluationForm evaluationForm = (EvaluationForm) theEObject; + T result = caseEvaluationForm(evaluationForm); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.DEPARTMENT: { + Department department = (Department) theEObject; + T result = caseDepartment(department); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.POINT_REDUCTION: { + PointReduction pointReduction = (PointReduction) theEObject; + T result = casePointReduction(pointReduction); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.ROLE: { + Role role = (Role) theEObject; + T result = caseRole(role); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.PERSON: { + Person person = (Person) theEObject; + T result = casePerson(person); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.STUDENT: { + Student student = (Student) theEObject; + T result = caseStudent(student); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case ModellingPackage.EMPLOYEE: { + Employee employee = (Employee) theEObject; + T result = caseEmployee(employee); + if (result == null) + result = defaultCase(theEObject); + return result; + } + default: + return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Course</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Course</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCourse(Course object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Study Program</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Study Program</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStudyProgram(StudyProgram object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Course Instance</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Course Instance</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCourseInstance(CourseInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Time Table Row</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Time Table Row</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTimeTableRow(TimeTableRow object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Evaluation Form</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Evaluation Form</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEvaluationForm(EvaluationForm object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Department</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Department</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDepartment(Department object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Point Reduction</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Point Reduction</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePointReduction(PointReduction object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Role</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Role</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRole(Role object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Person</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Person</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePerson(Person object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Student</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Student</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStudent(Student object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Employee</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Employee</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEmployee(Employee object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //ModellingSwitch