Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2013-04-01 20:16:07 +0000
committerJuergen Haug2013-04-01 20:16:07 +0000
commit40dfb78555b1e3dd37b5323d4bf34e89561032c8 (patch)
treebaf1a8f046917766f717938388bc753da86a8ea4 /plugins/org.eclipse.etrice.core.config
parent0dbd50da04a9371d15c2e338a61d86fa9753aa58 (diff)
downloadorg.eclipse.etrice-40dfb78555b1e3dd37b5323d4bf34e89561032c8.tar.gz
org.eclipse.etrice-40dfb78555b1e3dd37b5323d4bf34e89561032c8.tar.xz
org.eclipse.etrice-40dfb78555b1e3dd37b5323d4bf34e89561032c8.zip
[core] added config docu + generated comments have initial new line
Diffstat (limited to 'plugins/org.eclipse.etrice.core.config')
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore264
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java4
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java27
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java51
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java36
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java25
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java37
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java11
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java33
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/DynamicConfig.java40
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java31
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java11
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/LiteralArray.java13
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortClassConfig.java19
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortInstanceConfig.java27
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ProtocolClassConfig.java34
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java14
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/SubSystemConfig.java29
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java125
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java6
-rw-r--r--plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext31
-rw-r--r--plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend402
-rw-r--r--plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java3
-rw-r--r--plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.java473
-rw-r--r--plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/ImplPostProcessing.java10
25 files changed, 1416 insertions, 340 deletions
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
index 832c29af7..c21cf8f1c 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
@@ -2,6 +2,9 @@
<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="config" nsURI="http://www.eclipse.org/etrice/core/Config" nsPrefix="config">
<eClassifiers xsi:type="ecore:EClass" name="ConfigModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The root object for the ROOM Config model. It gives access to&#xD;&#xA;the {@link SubSystemConfig sub system class},&#xD;&#xA;{@link ActorClassConfig actor class}, {@link ProtocolClassConfig protocol class} and&#xD;&#xA;{@link ActorInstanceConfig actor instance} configurations and the room model {@link Import imports}.&#xD;&#xA;"/>
+ </eAnnotations>
<eOperations name="getActorClassConfigs" upperBound="-1" eType="#//ActorClassConfig">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="EList&lt;ActorClassConfig> list = new org.eclipse.emf.common.util.BasicEList&lt;ActorClassConfig>();&#xD;&#xA;for(ConfigElement element : this.getConfigElements())&#xD;&#xA;&#x9;if(element instanceof ActorClassConfig)&#xD;&#xA;&#x9;&#x9;list.add((ActorClassConfig) element);&#xD;&#xA;return list;&#xD;&#xA;"/>
@@ -22,88 +25,275 @@
<details key="body" value="EList&lt;SubSystemConfig> list = new org.eclipse.emf.common.util.BasicEList&lt;SubSystemConfig>();&#xD;&#xA;for(ConfigElement element : this.getConfigElements())&#xD;&#xA;&#x9;if(element instanceof SubSystemConfig)&#xD;&#xA;&#x9;&#x9;list.add((SubSystemConfig) element);&#xD;&#xA;return list;"/>
</eAnnotations>
</eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" 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">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The model name is a dot separated fully qualified name and is&#xD;&#xA;used to provide a name space.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
- eType="#//Import" containment="true"/>
+ eType="#//Import" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all imported room models. The config elements reference these imports.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="configElements" upperBound="-1"
- eType="#//ConfigElement" containment="true"/>
+ eType="#//ConfigElement" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all top level config elements&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the super class of the top level config elements&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link SubSystemConfig}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link ActorClassConfig}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link ActorInstanceConfig}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link ProtocolClassConfig}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
+ </eAnnotations>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConfigElement"/>
<eClassifiers xsi:type="ecore:EClass" name="SubSystemConfig" eSuperTypes="#//ConfigElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subSystem" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class defines settings with a sub system scope.&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the logical system that contains the {@link #org.eclipse.etrice.core.room.SubSystemRef sub system reference}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subSystem" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemRef">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the sub system reference.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="dynConfig" eType="#//DynamicConfig"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the dynamic configuration. It is available within the {@link #getSubSystem sub system}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DynamicConfig">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="filePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="userCode1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="userCode2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="polling" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The dynamic configuration provides a configuration at runtime.&#xD;&#xA;The source of the configuration is abstracted by an interface.&#xD;&#xA;&lt;br>&#xD;&#xA;This feature is experimental and implemented for target language java only.&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="filePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the file path of the configuration. In this case the source of the configuration is a simple file.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="userCode1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>Defines the import statement for the implemenation of the configuration source.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="userCode2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the constructor statement for the implemenation of the configuration source.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="polling" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>Defines the time interval in milliseconds to query changes from the configuration source.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActorClassConfig" eSuperTypes="#//ConfigElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="actor" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorClass actor class}.&#xD;&#xA;The configuration defines the default values for all instances of the {@link #getActor actor}.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;The config sub elements are:&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link AttrClassConfig attribute class config}&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actor" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the actor class.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrClassConfig" containment="true"/>
+ eType="#//AttrClassConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all attribute configurations.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActorInstanceConfig" eSuperTypes="#//ConfigElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subSystem" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemRef"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorRef actor instance}.&#xD;&#xA;The configuration defines values for this actor instance and overrides the default values from the corresponding class config.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;The config sub elements are:&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link AttrInstanceConfig attribute instance config}&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//LogicalSystem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the logical system that contains the {@link #getSubSystem sub system}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subSystem" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemRef">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the sub system that contains the {@link #getRefPath actor instance}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//RefPath"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the path of the actor instance relative to the {@link #getSubSystem sub system}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrInstanceConfig" containment="true"/>
+ eType="#//AttrInstanceConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all attribute configurations.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
- eType="#//PortInstanceConfig" containment="true"/>
+ eType="#//PortInstanceConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all port configurations.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProtocolClassConfig" eSuperTypes="#//ConfigElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ProtocolClass protocol class}.&#xD;&#xA;The config sub elements are:&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>a {@link PortClassConfig port class config} for the regular port class&lt;/li>&#xD;&#xA;&#x9;&lt;li>a {@link PortClassConfig port class config} for the conjugate port class&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the protocol class.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="regular" eType="#//PortClassConfig"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the configuration for the regular part of the protocol.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="conjugated" eType="#//PortClassConfig"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the configuration for the conjugated part of the protocol.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PortClassConfig">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.PortClass port class}.&#xD;&#xA;The configuration defines the default values for all instances of the port.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;The config sub elements are:&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link AttrClassConfig attribute class config}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrClassConfig" containment="true"/>
+ eType="#//AttrClassConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all attribute configurations.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PortInstanceConfig">
- <eStructuralFeatures xsi:type="ecore:EReference" name="item" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.InterfaceItem interface item} (e.g. port instance).&#xD;&#xA;The configuration defines values for this interface item and overrides the default values from the corresponding class config.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;The config sub elements are:&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link AttrInstanceConfig attribute instance config}&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//InterfaceItem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the interface item.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrInstanceConfig" containment="true"/>
+ eType="#//AttrInstanceConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of all attribute configurations.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttrConfig">
- <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Attribute"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>It is the super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link AttrClassConfig}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link AttrInstanceConfig}&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Attribute">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the attribute.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//LiteralArray"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the value of {@link #getAttribute attribute}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttrClassConfig" eSuperTypes="#//AttrConfig">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.&#xD;&#xA;The configuration defines a default value for all instances of the attribute.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;&lt;br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty&lt;/li>&#xD;&#xA;&#x9;&lt;li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="min" eType="#//NumberLiteral"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the lower bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="max" eType="#//NumberLiteral"
- containment="true"/>
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is the upper bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrClassConfig" containment="true"/>
+ eType="#//AttrClassConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttrInstanceConfig" eSuperTypes="#//AttrConfig">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynConfig" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.&#xD;&#xA;The configuration defines values for this attribute instance and overrides the default values from the corresponding class config.&#xD;&#xA;The values are applied at generation time.&#xD;&#xA;&lt;br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty&lt;/li>&#xD;&#xA;&#x9;&lt;li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist&lt;/li>&#xD;&#xA;&lt;/ul>&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynConfig" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>If the dynamic configuration options is activated for this attribute, then the values are set at runtime by the means of the {@link DynamicConfig dynamic config}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>Controls the behavior of the dynamic configuration. If set to false, then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is updated (overwritten) if changes occur in the external configuration, &#xD;&#xA;otherwise set to true, then changes in {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} (that occur from within the system) are recorded to the external configuration.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttrInstanceConfig" containment="true"/>
+ eType="#//AttrInstanceConfig" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RefPath">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>A path of strings that are interpreted as {@link org.eclipse.etrice.core.room.ActorRef}s starting at a {@link org.eclipse.etrice.core.room.SubSystemClass}.&#xD;&#xA;"/>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="refs" unique="false" upperBound="-1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a path in the instance tree where each segment corresponds to the name of the&#xD;&#xA;corresponding {@link ActorContainerRef}.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Import">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="importedNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The import declares an imported {@link org.eclipse.etrice.core.room.RoomModel room model} (given as a URI) and&#xD;&#xA;an optional imported namespace.&#xD;&#xA;"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importedNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The imported name space has to be a dot separated qualified name followed by .*.&#xD;&#xA;Example: my.namespace.*&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>The import URI can be a relative or absolute file system path.&#xD;&#xA;It may contain environment variables in ${} which will be expanded.&#xD;&#xA;&lt;p>&#xD;&#xA;Examples:&#xD;&#xA;&lt;ul>&#xD;&#xA; &lt;li>import model &quot;AnotherModel.room&quot;&lt;/li>&#xD;&#xA; &lt;li>import my.namespace.* from &quot;AnotherModel.room&quot;&lt;/li>&#xD;&#xA; &lt;li>import my.namespace.* from &quot;../../AnotherProject/models/AnotherModel.room&quot;&lt;/li>&#xD;&#xA; &lt;li>import my.namespace.* from &quot;/${ROOM_MODELS}/SomeModel.room&quot;&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;&lt;/p>&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LiteralArray">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>Aggregates one or more {@link Literal literals}.&#x9;&#x9;&#xD;&#xA;"/>
+ </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
- eType="#//Literal" containment="true"/>
+ eType="#//Literal" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>This is a list of literals.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Literal">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;br>It is the super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;&#x9;&lt;li>{@link BooleanLiteral}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link NumberLiteral}&lt;/li>&#xD;&#xA;&#x9;&lt;li>{@link StringLiteral}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;that represents a primitive value.&#xD;&#xA;"/>
+ </eAnnotations>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Literal"/>
<eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Literal">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
index 4651430a3..01bda2b71 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
@@ -1,4 +1,6 @@
-
+/*
+* generated by Xtext
+*/
package org.eclipse.etrice.core;
import org.eclipse.emf.ecore.EPackage;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
index 204549fd3..d64f7c6a5 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
@@ -11,6 +11,17 @@ import org.eclipse.etrice.core.room.ActorClass;
* A representation of the model object '<em><b>Actor Class Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorClass actor class}.
+ * The configuration defines the default values for all instances of the {@link #getActor actor}.
+ * The values are applied at generation time.
+ * The config sub elements are:
+ * <ul>
+ * <li>{@link AttrClassConfig attribute class config}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +39,11 @@ public interface ActorClassConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Actor</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Actor</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the actor class.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Actor</em>' reference.
* @see #setActor(ActorClass)
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorClassConfig_Actor()
@@ -55,11 +66,11 @@ public interface ActorClassConfig extends ConfigElement
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrClassConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all attribute configurations.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorClassConfig_Attributes()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java
index f5e9e2f70..c80dd1c7e 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java
@@ -12,6 +12,17 @@ import org.eclipse.etrice.core.room.SubSystemRef;
* A representation of the model object '<em><b>Actor Instance Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorRef actor instance}.
+ * The configuration defines values for this actor instance and overrides the default values from the corresponding class config.
+ * The values are applied at generation time.
+ * The config sub elements are:
+ * <ul>
+ * <li>{@link AttrInstanceConfig attribute instance config}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -32,11 +43,11 @@ public interface ActorInstanceConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Root</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Root</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the logical system that contains the {@link #getSubSystem sub system}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Root</em>' reference.
* @see #setRoot(LogicalSystem)
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Root()
@@ -58,11 +69,11 @@ public interface ActorInstanceConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Sub System</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sub System</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the sub system that contains the {@link #getRefPath actor instance}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Sub System</em>' reference.
* @see #setSubSystem(SubSystemRef)
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_SubSystem()
@@ -84,11 +95,11 @@ public interface ActorInstanceConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Path</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Path</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the path of the actor instance relative to the {@link #getSubSystem sub system}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Path</em>' containment reference.
* @see #setPath(RefPath)
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Path()
@@ -111,11 +122,11 @@ public interface ActorInstanceConfig extends ConfigElement
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrInstanceConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all attribute configurations.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Attributes()
* @model containment="true"
@@ -127,11 +138,11 @@ public interface ActorInstanceConfig extends ConfigElement
* Returns the value of the '<em><b>Ports</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.PortInstanceConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ports</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all port configurations.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Ports</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Ports()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java
index c8e4032db..2faab8734 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java
@@ -9,6 +9,18 @@ import org.eclipse.emf.common.util.EList;
* A representation of the model object '<em><b>Attr Class Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.
+ * The configuration defines a default value for all instances of the attribute.
+ * The values are applied at generation time.
+ * <br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is
+ * <ul>
+ * <li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>
+ * <li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -27,11 +39,11 @@ public interface AttrClassConfig extends AttrConfig
/**
* Returns the value of the '<em><b>Min</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Min</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the lower bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Min</em>' containment reference.
* @see #setMin(NumberLiteral)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig_Min()
@@ -53,11 +65,11 @@ public interface AttrClassConfig extends AttrConfig
/**
* Returns the value of the '<em><b>Max</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Max</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the upper bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Max</em>' containment reference.
* @see #setMax(NumberLiteral)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig_Max()
@@ -80,11 +92,11 @@ public interface AttrClassConfig extends AttrConfig
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrClassConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig_Attributes()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java
index 593ddc202..95156f2fb 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java
@@ -11,6 +11,15 @@ import org.eclipse.etrice.core.room.Attribute;
* A representation of the model object '<em><b>Attr Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>It is the super class of
+ * <ul>
+ * <li>{@link AttrClassConfig}</li>
+ * <li>{@link AttrInstanceConfig}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +37,11 @@ public interface AttrConfig extends EObject
/**
* Returns the value of the '<em><b>Attribute</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attribute</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the attribute.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attribute</em>' reference.
* @see #setAttribute(Attribute)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrConfig_Attribute()
@@ -54,11 +63,11 @@ public interface AttrConfig extends EObject
/**
* Returns the value of the '<em><b>Value</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the value of {@link #getAttribute attribute}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Value</em>' containment reference.
* @see #setValue(LiteralArray)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrConfig_Value()
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java
index 41ff51746..16954545e 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java
@@ -9,6 +9,18 @@ import org.eclipse.emf.common.util.EList;
* A representation of the model object '<em><b>Attr Instance Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.
+ * The configuration defines values for this attribute instance and overrides the default values from the corresponding class config.
+ * The values are applied at generation time.
+ * <br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is
+ * <ul>
+ * <li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>
+ * <li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -27,11 +39,11 @@ public interface AttrInstanceConfig extends AttrConfig
/**
* Returns the value of the '<em><b>Dyn Config</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Dyn Config</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>If the dynamic configuration options is activated for this attribute, then the values are set at runtime by the means of the {@link DynamicConfig dynamic config}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Dyn Config</em>' attribute.
* @see #setDynConfig(boolean)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrInstanceConfig_DynConfig()
@@ -53,11 +65,12 @@ public interface AttrInstanceConfig extends AttrConfig
/**
* Returns the value of the '<em><b>Read Only</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Read Only</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>Controls the behavior of the dynamic configuration. If set to false, then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is updated (overwritten) if changes occur in the external configuration,
+ * otherwise set to true, then changes in {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} (that occur from within the system) are recorded to the external configuration.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Read Only</em>' attribute.
* @see #setReadOnly(boolean)
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrInstanceConfig_ReadOnly()
@@ -80,11 +93,11 @@ public interface AttrInstanceConfig extends AttrConfig
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrInstanceConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getAttrInstanceConfig_Attributes()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java
index 0947cf678..c982dabbc 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java
@@ -9,6 +9,17 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Element</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This is the super class of the top level config elements
+ * <ul>
+ * <li>{@link SubSystemConfig}</li>
+ * <li>{@link ActorClassConfig}</li>
+ * <li>{@link ActorInstanceConfig}</li>
+ * <li>{@link ProtocolClassConfig}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
*
* @see org.eclipse.etrice.core.config.ConfigPackage#getConfigElement()
* @model
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
index 7344b6a92..11942b699 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
@@ -11,6 +11,14 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Model</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>The root object for the ROOM Config model. It gives access to
+ * the {@link SubSystemConfig sub system class},
+ * {@link ActorClassConfig actor class}, {@link ProtocolClassConfig protocol class} and
+ * {@link ActorInstanceConfig actor instance} configurations and the room model {@link Import imports}.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -29,11 +37,12 @@ public interface ConfigModel 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 -->
+ * <!-- begin-model-doc -->
+ * <br>The model name is a dot separated fully qualified name and is
+ * used to provide a name space.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_Name()
@@ -56,11 +65,11 @@ public interface ConfigModel extends EObject
* Returns the value of the '<em><b>Imports</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.Import}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Imports</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all imported room models. The config elements reference these imports.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Imports</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_Imports()
* @model containment="true"
@@ -72,11 +81,11 @@ public interface ConfigModel extends EObject
* Returns the value of the '<em><b>Config Elements</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.ConfigElement}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Config Elements</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all top level config elements
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Config Elements</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_ConfigElements()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/DynamicConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/DynamicConfig.java
index 32f8daf46..bf9bdbe93 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/DynamicConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/DynamicConfig.java
@@ -9,6 +9,14 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Dynamic Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>The dynamic configuration provides a configuration at runtime.
+ * The source of the configuration is abstracted by an interface.
+ * <br>
+ * This feature is experimental and implemented for target language java only.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +36,11 @@ public interface DynamicConfig extends EObject
/**
* Returns the value of the '<em><b>File Path</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>File Path</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the file path of the configuration. In this case the source of the configuration is a simple file.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>File Path</em>' attribute.
* @see #setFilePath(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getDynamicConfig_FilePath()
@@ -54,11 +62,11 @@ public interface DynamicConfig extends EObject
/**
* Returns the value of the '<em><b>User Code1</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>User Code1</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>Defines the import statement for the implemenation of the configuration source.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>User Code1</em>' attribute.
* @see #setUserCode1(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getDynamicConfig_UserCode1()
@@ -80,11 +88,11 @@ public interface DynamicConfig extends EObject
/**
* Returns the value of the '<em><b>User Code2</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>User Code2</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the constructor statement for the implemenation of the configuration source.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>User Code2</em>' attribute.
* @see #setUserCode2(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getDynamicConfig_UserCode2()
@@ -106,11 +114,11 @@ public interface DynamicConfig extends EObject
/**
* Returns the value of the '<em><b>Polling</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Polling</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>Defines the time interval in milliseconds to query changes from the configuration source.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Polling</em>' attribute.
* @see #setPolling(int)
* @see org.eclipse.etrice.core.config.ConfigPackage#getDynamicConfig_Polling()
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java
index 065a725f5..974063024 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java
@@ -9,6 +9,12 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Import</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>The import declares an imported {@link org.eclipse.etrice.core.room.RoomModel room model} (given as a URI) and
+ * an optional imported namespace.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -26,11 +32,12 @@ public interface Import extends EObject
/**
* Returns the value of the '<em><b>Imported Namespace</b></em>' attribute.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Imported Namespace</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>The imported name space has to be a dot separated qualified name followed by .*.
+ * Example: my.namespace.*
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Imported Namespace</em>' attribute.
* @see #setImportedNamespace(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getImport_ImportedNamespace()
@@ -52,11 +59,21 @@ public interface Import extends EObject
/**
* Returns the value of the '<em><b>Import URI</b></em>' attribute.
* <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>The import URI can be a relative or absolute file system path.
+ * It may contain environment variables in ${} which will be expanded.
* <p>
- * If the meaning of the '<em>Import URI</em>' attribute isn't clear,
- * there really should be more of a description here...
+ * Examples:
+ * <ul>
+ * <li>import model "AnotherModel.room"</li>
+ * <li>import my.namespace.* from "AnotherModel.room"</li>
+ * <li>import my.namespace.* from "../../AnotherProject/models/AnotherModel.room"</li>
+ * <li>import my.namespace.* from "/${ROOM_MODELS}/SomeModel.room"</li>
+ * </ul>
* </p>
- * <!-- end-user-doc -->
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Import URI</em>' attribute.
* @see #setImportURI(String)
* @see org.eclipse.etrice.core.config.ConfigPackage#getImport_ImportURI()
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java
index 01f5ed2c7..b20738a0b 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java
@@ -9,6 +9,17 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Literal</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>It is the super class of
+ * <ul>
+ * <li>{@link BooleanLiteral}</li>
+ * <li>{@link NumberLiteral}</li>
+ * <li>{@link StringLiteral}</li>
+ * </ul>
+ * that represents a primitive value.
+ *
+ * <!-- end-model-doc -->
+ *
*
* @see org.eclipse.etrice.core.config.ConfigPackage#getLiteral()
* @model
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/LiteralArray.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/LiteralArray.java
index 684ba279f..a56699af7 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/LiteralArray.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/LiteralArray.java
@@ -11,6 +11,11 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Literal Array</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>Aggregates one or more {@link Literal literals}.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +33,11 @@ public interface LiteralArray extends EObject
* Returns the value of the '<em><b>Literals</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.Literal}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Literals</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of literals.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Literals</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getLiteralArray_Literals()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortClassConfig.java
index c6524ac29..f39f3e774 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortClassConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortClassConfig.java
@@ -11,6 +11,17 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Port Class Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.PortClass port class}.
+ * The configuration defines the default values for all instances of the port.
+ * The values are applied at generation time.
+ * The config sub elements are:
+ * <ul>
+ * <li>{@link AttrClassConfig attribute class config}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +39,11 @@ public interface PortClassConfig extends EObject
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrClassConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all attribute configurations.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getPortClassConfig_Attributes()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortInstanceConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortInstanceConfig.java
index b0d95a7c6..7a6a8fecb 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortInstanceConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/PortInstanceConfig.java
@@ -13,6 +13,17 @@ import org.eclipse.etrice.core.room.InterfaceItem;
* A representation of the model object '<em><b>Port Instance Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.InterfaceItem interface item} (e.g. port instance).
+ * The configuration defines values for this interface item and overrides the default values from the corresponding class config.
+ * The values are applied at generation time.
+ * The config sub elements are:
+ * <ul>
+ * <li>{@link AttrInstanceConfig attribute instance config}</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -30,11 +41,11 @@ public interface PortInstanceConfig extends EObject
/**
* Returns the value of the '<em><b>Item</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Item</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the interface item.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Item</em>' reference.
* @see #setItem(InterfaceItem)
* @see org.eclipse.etrice.core.config.ConfigPackage#getPortInstanceConfig_Item()
@@ -57,11 +68,11 @@ public interface PortInstanceConfig extends EObject
* Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.etrice.core.config.AttrInstanceConfig}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a list of all attribute configurations.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Attributes</em>' containment reference list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getPortInstanceConfig_Attributes()
* @model containment="true"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ProtocolClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ProtocolClassConfig.java
index 86e385f93..bbbd54cd9 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ProtocolClassConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ProtocolClassConfig.java
@@ -9,6 +9,16 @@ import org.eclipse.etrice.core.room.ProtocolClass;
* A representation of the model object '<em><b>Protocol Class Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class models a configuration for an {@link org.eclipse.etrice.core.room.ProtocolClass protocol class}.
+ * The config sub elements are:
+ * <ul>
+ * <li>a {@link PortClassConfig port class config} for the regular port class</li>
+ * <li>a {@link PortClassConfig port class config} for the conjugate port class</li>
+ * </ul>
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -27,11 +37,11 @@ public interface ProtocolClassConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Protocol</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Protocol</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the protocol class.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Protocol</em>' reference.
* @see #setProtocol(ProtocolClass)
* @see org.eclipse.etrice.core.config.ConfigPackage#getProtocolClassConfig_Protocol()
@@ -53,11 +63,11 @@ public interface ProtocolClassConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Regular</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Regular</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the configuration for the regular part of the protocol.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Regular</em>' containment reference.
* @see #setRegular(PortClassConfig)
* @see org.eclipse.etrice.core.config.ConfigPackage#getProtocolClassConfig_Regular()
@@ -79,11 +89,11 @@ public interface ProtocolClassConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Conjugated</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Conjugated</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the configuration for the conjugated part of the protocol.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Conjugated</em>' containment reference.
* @see #setConjugated(PortClassConfig)
* @see org.eclipse.etrice.core.config.ConfigPackage#getProtocolClassConfig_Conjugated()
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java
index 1e2afb6d6..50b286e12 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java
@@ -11,6 +11,11 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object '<em><b>Ref Path</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>A path of strings that are interpreted as {@link org.eclipse.etrice.core.room.ActorRef}s starting at a {@link org.eclipse.etrice.core.room.SubSystemClass}.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +33,12 @@ public interface RefPath extends EObject
* Returns the value of the '<em><b>Refs</b></em>' attribute list.
* The list contents are of type {@link java.lang.String}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Refs</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is a path in the instance tree where each segment corresponds to the name of the
+ * corresponding {@link ActorContainerRef}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Refs</em>' attribute list.
* @see org.eclipse.etrice.core.config.ConfigPackage#getRefPath_Refs()
* @model unique="false"
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/SubSystemConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/SubSystemConfig.java
index 8c601f7e4..871282c8a 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/SubSystemConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/SubSystemConfig.java
@@ -10,6 +10,11 @@ import org.eclipse.etrice.core.room.SubSystemRef;
* A representation of the model object '<em><b>Sub System Config</b></em>'.
* <!-- end-user-doc -->
*
+ * <!-- begin-model-doc -->
+ * <br>This class defines settings with a sub system scope.
+ *
+ * <!-- end-model-doc -->
+ *
* <p>
* The following features are supported:
* <ul>
@@ -28,11 +33,11 @@ public interface SubSystemConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Root</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Root</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the logical system that contains the {@link #org.eclipse.etrice.core.room.SubSystemRef sub system reference}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Root</em>' reference.
* @see #setRoot(LogicalSystem)
* @see org.eclipse.etrice.core.config.ConfigPackage#getSubSystemConfig_Root()
@@ -54,11 +59,11 @@ public interface SubSystemConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Sub System</b></em>' reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sub System</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the sub system reference.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Sub System</em>' reference.
* @see #setSubSystem(SubSystemRef)
* @see org.eclipse.etrice.core.config.ConfigPackage#getSubSystemConfig_SubSystem()
@@ -80,11 +85,11 @@ public interface SubSystemConfig extends ConfigElement
/**
* Returns the value of the '<em><b>Dyn Config</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Dyn Config</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <br>This is the dynamic configuration. It is available within the {@link #getSubSystem sub system}.
+ *
+ * <!-- end-model-doc -->
* @return the value of the '<em>Dyn Config</em>' containment reference.
* @see #setDynConfig(DynamicConfig)
* @see org.eclipse.etrice.core.config.ConfigPackage#getSubSystemConfig_DynConfig()
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
index ebd931de1..5d4963534 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
@@ -1,7 +1,6 @@
/*
* generated by Xtext
*/
-
package org.eclipse.etrice.core.services;
import com.google.inject.Singleton;
@@ -277,13 +276,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cAttributesAttrClassConfigParserRuleCall_3_0 = (RuleCall)cAttributesAssignment_3.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
- /// *
- //
- // * Validation:
- //
- // * duplicates config, attributes
- //
- // * / ActorClassConfig:
+ //ActorClassConfig:
//
// "ActorClassConfig" actor=[room::ActorClass|FQN] "{" attributes+=AttrClassConfig* "}";
public ParserRule getRule() { return rule; }
@@ -338,19 +331,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cPortsPortInstanceConfigParserRuleCall_7_1_0 = (RuleCall)cPortsAssignment_7_1.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
- /// *
- //
- // * Validation:
- //
- // * duplicates config, attributes
- //
- // * valid instance reference
- //
- // * Proposal:
- //
- // * attributes
- //
- // * / ActorInstanceConfig:
+ //ActorInstanceConfig:
//
// "ActorInstanceConfig" root=[room::LogicalSystem|FQN] "/" subSystem=[room::SubSystemRef] "/" path=RefPath "{"
//
@@ -582,17 +563,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cAttrClassConfigParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
private final RuleCall cAttrInstanceConfigParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
- /// *
- //
- // * Validation:
- //
- // * correct value type
- //
- // * Proposal:
- //
- // * correct Literal
- //
- // * / AttrConfig:
+ //AttrConfig:
//
// AttrClassConfig | AttrInstanceConfig;
public ParserRule getRule() { return rule; }
@@ -635,21 +606,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cAttributesAttrClassConfigParserRuleCall_3_1_2_0 = (RuleCall)cAttributesAssignment_3_1_2.eContents().get(0);
private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
- /// *
- //
- // * Validation:
- //
- // * correct min, max type + available
- //
- // * min <= value <= max
- //
- // * if !value -> min <= attribute.defaultValue <= max
- //
- // * character length
- //
- // *
- //
- // * / AttrClassConfig:
+ //AttrClassConfig:
//
// "Attr" attribute=[room::Attribute] ("=" value=LiteralArray)? ("{" (("min" "=" min=NumberLiteral)? ("max" "="
//
@@ -845,13 +802,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
private final Assignment cRefsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cRefsIDTerminalRuleCall_1_1_0 = (RuleCall)cRefsAssignment_1_1.eContents().get(0);
- /// *
- //
- // * Proposal:
- //
- // * for ActorInstanceConfig
- //
- // * / RefPath:
+ //RefPath:
//
// refs+=ID ("/" refs+=ID)*;
public ParserRule getRule() { return rule; }
@@ -1019,10 +970,6 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
//
////;
//
- //// LiteralArray = BooleanLiteral+|NumberLiteral+
- //
- //// LiteralArray = StringLiteral
- //
//LiteralArray:
//
// literals+=Literal ("," literals+=Literal)*;
@@ -1561,13 +1508,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getDynamicConfigAccess().getRule();
}
- /// *
- //
- // * Validation:
- //
- // * duplicates config, attributes
- //
- // * / ActorClassConfig:
+ //ActorClassConfig:
//
// "ActorClassConfig" actor=[room::ActorClass|FQN] "{" attributes+=AttrClassConfig* "}";
public ActorClassConfigElements getActorClassConfigAccess() {
@@ -1578,19 +1519,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getActorClassConfigAccess().getRule();
}
- /// *
- //
- // * Validation:
- //
- // * duplicates config, attributes
- //
- // * valid instance reference
- //
- // * Proposal:
- //
- // * attributes
- //
- // * / ActorInstanceConfig:
+ //ActorInstanceConfig:
//
// "ActorInstanceConfig" root=[room::LogicalSystem|FQN] "/" subSystem=[room::SubSystemRef] "/" path=RefPath "{"
//
@@ -1638,17 +1567,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getPortInstanceConfigAccess().getRule();
}
- /// *
- //
- // * Validation:
- //
- // * correct value type
- //
- // * Proposal:
- //
- // * correct Literal
- //
- // * / AttrConfig:
+ //AttrConfig:
//
// AttrClassConfig | AttrInstanceConfig;
public AttrConfigElements getAttrConfigAccess() {
@@ -1659,21 +1578,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getAttrConfigAccess().getRule();
}
- /// *
- //
- // * Validation:
- //
- // * correct min, max type + available
- //
- // * min <= value <= max
- //
- // * if !value -> min <= attribute.defaultValue <= max
- //
- // * character length
- //
- // *
- //
- // * / AttrClassConfig:
+ //AttrClassConfig:
//
// "Attr" attribute=[room::Attribute] ("=" value=LiteralArray)? ("{" (("min" "=" min=NumberLiteral)? ("max" "="
//
@@ -1699,13 +1604,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getAttrInstanceConfigAccess().getRule();
}
- /// *
- //
- // * Proposal:
- //
- // * for ActorInstanceConfig
- //
- // * / RefPath:
+ //RefPath:
//
// refs+=ID ("/" refs+=ID)*;
public RefPathElements getRefPathAccess() {
@@ -1781,10 +1680,6 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
//
////;
//
- //// LiteralArray = BooleanLiteral+|NumberLiteral+
- //
- //// LiteralArray = StringLiteral
- //
//LiteralArray:
//
// literals+=Literal ("," literals+=Literal)*;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java
index 60d3bb078..0551c9b74 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java
@@ -1,14 +1,16 @@
+/*
+* generated by Xtext
+*/
package org.eclipse.etrice.core.validation;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
import org.eclipse.xtext.validation.ComposedChecks;
@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class})
-public class AbstractConfigJavaValidator extends AbstractDeclarativeValidator {
+public class AbstractConfigJavaValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator {
@Override
protected List<EPackage> getEPackages() {
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
index ac273ffe3..fbf69c2d4 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/Config.xtext
@@ -37,22 +37,11 @@ DynamicConfig:
('polling timer [ms]' polling=INT)?)
'}';
- /*
- * Validation:
- * duplicates config, attributes
- */
ActorClassConfig:
'ActorClassConfig' actor=[room::ActorClass|FQN] '{'
(attributes+=AttrClassConfig)*
'}';
- /*
- * Validation:
- * duplicates config, attributes
- * valid instance reference
- * Proposal:
- * attributes
- */
ActorInstanceConfig:
'ActorInstanceConfig' root=[room::LogicalSystem|FQN] '/' subSystem=[room::SubSystemRef|ID] '/' path=RefPath '{'
((attributes+=AttrInstanceConfig)* &
@@ -75,23 +64,9 @@ PortInstanceConfig:
(attributes+=AttrInstanceConfig)*
'}';
- /*
- * Validation:
- * correct value type
- * Proposal:
- * correct Literal
- */
AttrConfig:
AttrClassConfig | AttrInstanceConfig;
- /*
- * Validation:
- * correct min, max type + available
- * min <= value <= max
- * if !value -> min <= attribute.defaultValue <= max
- * character length
- *
- */
AttrClassConfig:
'Attr' attribute=[room::Attribute] ('=' value=LiteralArray)? ('{'
(('min' '=' min=NumberLiteral)?
@@ -105,10 +80,6 @@ AttrInstanceConfig:
(attributes+=AttrInstanceConfig*))
'}')?;
- /*
- * Proposal:
- * for ActorInstanceConfig
- */
RefPath:
refs+=ID ('/' refs+=ID)*;
@@ -139,8 +110,6 @@ FQN:
// KW
//;
-// LiteralArray = BooleanLiteral+|NumberLiteral+
-// LiteralArray = StringLiteral
LiteralArray:
literals+=Literal (',' literals+=Literal)*;
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend
index fb33a36fc..4c7e679d1 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend
@@ -14,24 +14,400 @@ package org.eclipse.etrice.core.postprocessing
import org.eclipse.xtext.GeneratedMetamodel
-import static extension org.eclipse.emf.ecore.util.EcoreUtil.*
import static extension org.eclipse.etrice.core.postprocessing.PostprocessingHelpers.*
class DocuPostprocessor {
def process(GeneratedMetamodel metamodel) {
-// var pckg = metamodel.EPackage
-//
-// var mdl = pckg.getClass("ConfigModel")
-// mdl.setDocumentation(
-// '''
-// <br>
-// ''')
-//
-// mdl.getAttribute("name").setDocumentation(
-// '''
-// <br>
-// ''')
+ val pckg = metamodel.EPackage
+
+ //------------------------------------------------------------------
+ var cls = pckg.getClass("ConfigModel")
+ cls.setDocumentation(
+ '''
+ The root object for the ROOM Config model. It gives access to
+ the {@link SubSystemConfig sub system class},
+ {@link ActorClassConfig actor class}, {@link ProtocolClassConfig protocol class} and
+ {@link ActorInstanceConfig actor instance} configurations and the room model {@link Import imports}.
+ ''')
+
+ cls.getAttribute("name").setDocumentation(
+ '''
+ The model name is a dot separated fully qualified name and is
+ used to provide a name space.
+ ''')
+
+ cls.getReference("imports").setDocumentation(
+ '''
+ This is a list of all imported room models. The config elements reference these imports.
+ ''')
+
+ cls.getReference("configElements").setDocumentation(
+ '''
+ This is a list of all top level config elements
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("ConfigElement")
+ cls.setDocumentation(
+ '''
+ This is the super class of the top level config elements
+ <ul>
+ <li>{@link SubSystemConfig}</li>
+ <li>{@link ActorClassConfig}</li>
+ <li>{@link ActorInstanceConfig}</li>
+ <li>{@link ProtocolClassConfig}</li>
+ </ul>
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("SubSystemConfig")
+ cls.setDocumentation(
+ '''
+ This class defines settings with a sub system scope.
+ '''
+ )
+
+ cls.getReference("root").setDocumentation(
+ '''
+ This is the logical system that contains the {@link #org.eclipse.etrice.core.room.SubSystemRef sub system reference}.
+ ''')
+
+ cls.getReference("subSystem").setDocumentation(
+ '''
+ This is the sub system reference.
+ ''')
+
+ cls.getReference("dynConfig").setDocumentation(
+ '''
+ This is the dynamic configuration. It is available within the {@link #getSubSystem sub system}.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("DynamicConfig")
+ cls.setDocumentation(
+ '''
+ The dynamic configuration provides a configuration at runtime.
+ The source of the configuration is abstracted by an interface.
+ <br>
+ This feature is experimental and implemented for target language java only.
+ '''
+ )
+
+ cls.getAttribute("filePath").setDocumentation(
+ '''
+ This is the file path of the configuration. In this case the source of the configuration is a simple file.
+ '''
+ )
+
+ cls.getAttribute("userCode1").setDocumentation(
+ '''
+ Defines the import statement for the implemenation of the configuration source.
+ ''')
+
+ cls.getAttribute("userCode2").setDocumentation(
+ '''
+ This is the constructor statement for the implemenation of the configuration source.
+ '''
+ )
+
+ cls.getAttribute("polling").setDocumentation(
+ '''
+ Defines the time interval in milliseconds to query changes from the configuration source.
+ '''
+ )
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("ActorClassConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorClass actor class}.
+ The configuration defines the default values for all instances of the {@link #getActor actor}.
+ The values are applied at generation time.
+ The config sub elements are:
+ <ul>
+ <li>{@link AttrClassConfig attribute class config}</li>
+ </ul>
+ ''')
+
+ cls.getReference("actor").setDocumentation(
+ '''
+ This is the actor class.
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of all attribute configurations.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("ProtocolClassConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.ProtocolClass protocol class}.
+ The config sub elements are:
+ <ul>
+ <li>a {@link PortClassConfig port class config} for the regular port class</li>
+ <li>a {@link PortClassConfig port class config} for the conjugate port class</li>
+ </ul>
+ ''')
+
+ cls.getReference("protocol").setDocumentation(
+ '''
+ This is the protocol class.
+ ''')
+
+ cls.getReference("regular").setDocumentation(
+ '''
+ This is the configuration for the regular part of the protocol.
+ ''')
+
+ cls.getReference("conjugated").setDocumentation(
+ '''
+ This is the configuration for the conjugated part of the protocol.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("PortClassConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.PortClass port class}.
+ The configuration defines the default values for all instances of the port.
+ The values are applied at generation time.
+ The config sub elements are:
+ <ul>
+ <li>{@link AttrClassConfig attribute class config}</li>
+ </ul>
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of all attribute configurations.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("ActorInstanceConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorRef actor instance}.
+ The configuration defines values for this actor instance and overrides the default values from the corresponding class config.
+ The values are applied at generation time.
+ The config sub elements are:
+ <ul>
+ <li>{@link AttrInstanceConfig attribute instance config}</li>
+ </ul>
+ ''')
+
+ cls.getReference("root").setDocumentation(
+ '''
+ This is the logical system that contains the {@link #getSubSystem sub system}.
+ ''')
+
+ cls.getReference("subSystem").setDocumentation(
+ '''
+ This is the sub system that contains the {@link #getRefPath actor instance}.
+ ''')
+
+ cls.getReference("path").setDocumentation(
+ '''
+ This is the path of the actor instance relative to the {@link #getSubSystem sub system}.
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of all attribute configurations.
+ ''')
+
+ cls.getReference("ports").setDocumentation(
+ '''
+ This is a list of all port configurations.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("PortInstanceConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.InterfaceItem interface item} (e.g. port instance).
+ The configuration defines values for this interface item and overrides the default values from the corresponding class config.
+ The values are applied at generation time.
+ The config sub elements are:
+ <ul>
+ <li>{@link AttrInstanceConfig attribute instance config}</li>
+ </ul>
+ ''')
+
+ cls.getReference("item").setDocumentation(
+ '''
+ This is the interface item.
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of all attribute configurations.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("AttrConfig")
+ cls.setDocumentation(
+ '''
+ It is the super class of
+ <ul>
+ <li>{@link AttrClassConfig}</li>
+ <li>{@link AttrInstanceConfig}</li>
+ </ul>
+ ''')
+
+ cls.getReference("attribute").setDocumentation(
+ '''
+ This is the attribute.
+ ''')
+
+ cls.getReference("value").setDocumentation(
+ '''
+ This is the value of {@link #getAttribute attribute}.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("AttrClassConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.
+ The configuration defines a default value for all instances of the attribute.
+ The values are applied at generation time.
+ <br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is
+ <ul>
+ <li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>
+ <li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>
+ </ul>
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.
+ ''')
+
+ cls.getReference("min").setDocumentation(
+ '''
+ This is the lower bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.
+ ''')
+
+ cls.getReference("max").setDocumentation(
+ '''
+ This is the upper bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("AttrInstanceConfig")
+ cls.setDocumentation(
+ '''
+ This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.
+ The configuration defines values for this attribute instance and overrides the default values from the corresponding class config.
+ The values are applied at generation time.
+ <br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is
+ <ul>
+ <li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>
+ <li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>
+ </ul>
+ ''')
+
+ cls.getReference("attributes").setDocumentation(
+ '''
+ This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.
+ ''')
+
+ cls.getAttribute("dynConfig").setDocumentation(
+ '''
+ If the dynamic configuration options is activated for this attribute, then the values are set at runtime by the means of the {@link DynamicConfig dynamic config}.
+ ''')
+
+ cls.getAttribute("readOnly").setDocumentation(
+ '''
+ Controls the behavior of the dynamic configuration. If set to false, then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is updated (overwritten) if changes occur in the external configuration,
+ otherwise set to true, then changes in {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} (that occur from within the system) are recorded to the external configuration.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("LiteralArray")
+ cls.setDocumentation(
+ '''
+ Aggregates one or more {@link Literal literals}.
+ ''')
+
+ cls.getReference("literals").setDocumentation(
+ '''
+ This is a list of literals.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("Literal")
+ cls.setDocumentation(
+ '''
+ It is the super class of
+ <ul>
+ <li>{@link BooleanLiteral}</li>
+ <li>{@link NumberLiteral}</li>
+ <li>{@link StringLiteral}</li>
+ </ul>
+ that represents a primitive value.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("RefPath")
+ cls.setDocumentation(
+ '''
+ A path of strings that are interpreted as {@link org.eclipse.etrice.core.room.ActorRef}s starting at a {@link org.eclipse.etrice.core.room.SubSystemClass}.
+ ''')
+
+ cls.getAttribute("refs").setDocumentation(
+ '''
+ This is a path in the instance tree where each segment corresponds to the name of the
+ corresponding {@link ActorContainerRef}.
+ ''')
+
+ //------------------------------------------------------------------
+
+ cls = pckg.getClass("Import")
+ cls.setDocumentation(
+ '''
+ The import declares an imported {@link org.eclipse.etrice.core.room.RoomModel room model} (given as a URI) and
+ an optional imported namespace.
+ ''')
+
+ cls.getAttribute("importedNamespace").setDocumentation(
+ '''
+ The imported name space has to be a dot separated qualified name followed by .*.
+ Example: my.namespace.*
+ ''')
+
+ cls.getAttribute("importURI").setDocumentation(
+ '''
+ The import URI can be a relative or absolute file system path.
+ It may contain environment variables in ${} which will be expanded.
+ <p>
+ Examples:
+ <ul>
+ <li>import model "AnotherModel.room"</li>
+ <li>import my.namespace.* from "AnotherModel.room"</li>
+ <li>import my.namespace.* from "../../AnotherProject/models/AnotherModel.room"</li>
+ <li>import my.namespace.* from "/${ROOM_MODELS}/SomeModel.room"</li>
+ </ul>
+ </p>
+ ''')
+
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
index 15a186d3d..cc2fdff1d 100644
--- a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
+++ b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
@@ -1,3 +1,6 @@
+/**
+ * generated by Xtext
+ */
package org.eclipse.etrice.core.generator;
import org.eclipse.emf.ecore.resource.Resource;
diff --git a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.java b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.java
index 9c18df4e3..1626969da 100644
--- a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.java
+++ b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.java
@@ -1,10 +1,479 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug (initial contribution)
+ */
package org.eclipse.etrice.core.postprocessing;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.etrice.core.postprocessing.PostprocessingHelpers;
+import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.GeneratedMetamodel;
@SuppressWarnings("all")
public class DocuPostprocessor {
- public Object process(final GeneratedMetamodel metamodel) {
- return null;
+ public void process(final GeneratedMetamodel metamodel) {
+ final EPackage pckg = metamodel.getEPackage();
+ EClass cls = PostprocessingHelpers.getClass(pckg, "ConfigModel");
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("The root object for the ROOM Config model. It gives access to");
+ _builder.newLine();
+ _builder.append("the {@link SubSystemConfig sub system class},");
+ _builder.newLine();
+ _builder.append("{@link ActorClassConfig actor class}, {@link ProtocolClassConfig protocol class} and");
+ _builder.newLine();
+ _builder.append("{@link ActorInstanceConfig actor instance} configurations and the room model {@link Import imports}.");
+ _builder.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder.toString());
+ EAttribute _attribute = PostprocessingHelpers.getAttribute(cls, "name");
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append("The model name is a dot separated fully qualified name and is");
+ _builder_1.newLine();
+ _builder_1.append("used to provide a name space.");
+ _builder_1.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute, _builder_1.toString());
+ EReference _reference = PostprocessingHelpers.getReference(cls, "imports");
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append("This is a list of all imported room models. The config elements reference these imports.");
+ _builder_2.newLine();
+ PostprocessingHelpers.setDocumentation(_reference, _builder_2.toString());
+ EReference _reference_1 = PostprocessingHelpers.getReference(cls, "configElements");
+ StringConcatenation _builder_3 = new StringConcatenation();
+ _builder_3.append("This is a list of all top level config elements");
+ _builder_3.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_1, _builder_3.toString());
+ EClass _class = PostprocessingHelpers.getClass(pckg, "ConfigElement");
+ cls = _class;
+ StringConcatenation _builder_4 = new StringConcatenation();
+ _builder_4.append("This is the super class of the top level config elements");
+ _builder_4.newLine();
+ _builder_4.append("<ul>");
+ _builder_4.newLine();
+ _builder_4.append("\t");
+ _builder_4.append("<li>{@link SubSystemConfig}</li>");
+ _builder_4.newLine();
+ _builder_4.append("\t");
+ _builder_4.append("<li>{@link ActorClassConfig}</li>");
+ _builder_4.newLine();
+ _builder_4.append("\t");
+ _builder_4.append("<li>{@link ActorInstanceConfig}</li>");
+ _builder_4.newLine();
+ _builder_4.append("\t");
+ _builder_4.append("<li>{@link ProtocolClassConfig}</li>");
+ _builder_4.newLine();
+ _builder_4.append("</ul>");
+ _builder_4.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_4.toString());
+ EClass _class_1 = PostprocessingHelpers.getClass(pckg, "SubSystemConfig");
+ cls = _class_1;
+ StringConcatenation _builder_5 = new StringConcatenation();
+ _builder_5.append("This class defines settings with a sub system scope.");
+ _builder_5.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_5.toString());
+ EReference _reference_2 = PostprocessingHelpers.getReference(cls, "root");
+ StringConcatenation _builder_6 = new StringConcatenation();
+ _builder_6.append("This is the logical system that contains the {@link #org.eclipse.etrice.core.room.SubSystemRef sub system reference}.");
+ _builder_6.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_2, _builder_6.toString());
+ EReference _reference_3 = PostprocessingHelpers.getReference(cls, "subSystem");
+ StringConcatenation _builder_7 = new StringConcatenation();
+ _builder_7.append("This is the sub system reference.");
+ _builder_7.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_3, _builder_7.toString());
+ EReference _reference_4 = PostprocessingHelpers.getReference(cls, "dynConfig");
+ StringConcatenation _builder_8 = new StringConcatenation();
+ _builder_8.append("This is the dynamic configuration. It is available within the {@link #getSubSystem sub system}.");
+ _builder_8.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_4, _builder_8.toString());
+ EClass _class_2 = PostprocessingHelpers.getClass(pckg, "DynamicConfig");
+ cls = _class_2;
+ StringConcatenation _builder_9 = new StringConcatenation();
+ _builder_9.append("The dynamic configuration provides a configuration at runtime.");
+ _builder_9.newLine();
+ _builder_9.append("The source of the configuration is abstracted by an interface.");
+ _builder_9.newLine();
+ _builder_9.append("<br>");
+ _builder_9.newLine();
+ _builder_9.append("This feature is experimental and implemented for target language java only.");
+ _builder_9.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_9.toString());
+ EAttribute _attribute_1 = PostprocessingHelpers.getAttribute(cls, "filePath");
+ StringConcatenation _builder_10 = new StringConcatenation();
+ _builder_10.append("This is the file path of the configuration. In this case the source of the configuration is a simple file.");
+ _builder_10.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_1, _builder_10.toString());
+ EAttribute _attribute_2 = PostprocessingHelpers.getAttribute(cls, "userCode1");
+ StringConcatenation _builder_11 = new StringConcatenation();
+ _builder_11.append("Defines the import statement for the implemenation of the configuration source.");
+ _builder_11.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_2, _builder_11.toString());
+ EAttribute _attribute_3 = PostprocessingHelpers.getAttribute(cls, "userCode2");
+ StringConcatenation _builder_12 = new StringConcatenation();
+ _builder_12.append("This is the constructor statement for the implemenation of the configuration source.");
+ _builder_12.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_3, _builder_12.toString());
+ EAttribute _attribute_4 = PostprocessingHelpers.getAttribute(cls, "polling");
+ StringConcatenation _builder_13 = new StringConcatenation();
+ _builder_13.append("Defines the time interval in milliseconds to query changes from the configuration source.");
+ _builder_13.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_4, _builder_13.toString());
+ EClass _class_3 = PostprocessingHelpers.getClass(pckg, "ActorClassConfig");
+ cls = _class_3;
+ StringConcatenation _builder_14 = new StringConcatenation();
+ _builder_14.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorClass actor class}.");
+ _builder_14.newLine();
+ _builder_14.append("The configuration defines the default values for all instances of the {@link #getActor actor}.");
+ _builder_14.newLine();
+ _builder_14.append("The values are applied at generation time.");
+ _builder_14.newLine();
+ _builder_14.append("The config sub elements are:");
+ _builder_14.newLine();
+ _builder_14.append("<ul>");
+ _builder_14.newLine();
+ _builder_14.append("\t");
+ _builder_14.append("<li>{@link AttrClassConfig attribute class config}</li>");
+ _builder_14.newLine();
+ _builder_14.append("</ul>\t\t\t\t");
+ _builder_14.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_14.toString());
+ EReference _reference_5 = PostprocessingHelpers.getReference(cls, "actor");
+ StringConcatenation _builder_15 = new StringConcatenation();
+ _builder_15.append("This is the actor class.");
+ _builder_15.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_5, _builder_15.toString());
+ EReference _reference_6 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_16 = new StringConcatenation();
+ _builder_16.append("This is a list of all attribute configurations.");
+ _builder_16.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_6, _builder_16.toString());
+ EClass _class_4 = PostprocessingHelpers.getClass(pckg, "ProtocolClassConfig");
+ cls = _class_4;
+ StringConcatenation _builder_17 = new StringConcatenation();
+ _builder_17.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.ProtocolClass protocol class}.");
+ _builder_17.newLine();
+ _builder_17.append("The config sub elements are:");
+ _builder_17.newLine();
+ _builder_17.append("<ul>");
+ _builder_17.newLine();
+ _builder_17.append("\t");
+ _builder_17.append("<li>a {@link PortClassConfig port class config} for the regular port class</li>");
+ _builder_17.newLine();
+ _builder_17.append("\t");
+ _builder_17.append("<li>a {@link PortClassConfig port class config} for the conjugate port class</li>");
+ _builder_17.newLine();
+ _builder_17.append("</ul>");
+ _builder_17.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_17.toString());
+ EReference _reference_7 = PostprocessingHelpers.getReference(cls, "protocol");
+ StringConcatenation _builder_18 = new StringConcatenation();
+ _builder_18.append("This is the protocol class.");
+ _builder_18.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_7, _builder_18.toString());
+ EReference _reference_8 = PostprocessingHelpers.getReference(cls, "regular");
+ StringConcatenation _builder_19 = new StringConcatenation();
+ _builder_19.append("This is the configuration for the regular part of the protocol.");
+ _builder_19.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_8, _builder_19.toString());
+ EReference _reference_9 = PostprocessingHelpers.getReference(cls, "conjugated");
+ StringConcatenation _builder_20 = new StringConcatenation();
+ _builder_20.append("This is the configuration for the conjugated part of the protocol.");
+ _builder_20.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_9, _builder_20.toString());
+ EClass _class_5 = PostprocessingHelpers.getClass(pckg, "PortClassConfig");
+ cls = _class_5;
+ StringConcatenation _builder_21 = new StringConcatenation();
+ _builder_21.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.PortClass port class}.");
+ _builder_21.newLine();
+ _builder_21.append("The configuration defines the default values for all instances of the port.");
+ _builder_21.newLine();
+ _builder_21.append("The values are applied at generation time.");
+ _builder_21.newLine();
+ _builder_21.append("The config sub elements are:");
+ _builder_21.newLine();
+ _builder_21.append("<ul>");
+ _builder_21.newLine();
+ _builder_21.append("\t");
+ _builder_21.append("<li>{@link AttrClassConfig attribute class config}</li>");
+ _builder_21.newLine();
+ _builder_21.append("</ul>");
+ _builder_21.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_21.toString());
+ EReference _reference_10 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_22 = new StringConcatenation();
+ _builder_22.append("This is a list of all attribute configurations.");
+ _builder_22.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_10, _builder_22.toString());
+ EClass _class_6 = PostprocessingHelpers.getClass(pckg, "ActorInstanceConfig");
+ cls = _class_6;
+ StringConcatenation _builder_23 = new StringConcatenation();
+ _builder_23.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.ActorRef actor instance}.");
+ _builder_23.newLine();
+ _builder_23.append("The configuration defines values for this actor instance and overrides the default values from the corresponding class config.");
+ _builder_23.newLine();
+ _builder_23.append("The values are applied at generation time.");
+ _builder_23.newLine();
+ _builder_23.append("The config sub elements are:");
+ _builder_23.newLine();
+ _builder_23.append("<ul>");
+ _builder_23.newLine();
+ _builder_23.append("\t");
+ _builder_23.append("<li>{@link AttrInstanceConfig attribute instance config}</li>");
+ _builder_23.newLine();
+ _builder_23.append("</ul>\t\t\t\t");
+ _builder_23.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_23.toString());
+ EReference _reference_11 = PostprocessingHelpers.getReference(cls, "root");
+ StringConcatenation _builder_24 = new StringConcatenation();
+ _builder_24.append("This is the logical system that contains the {@link #getSubSystem sub system}.");
+ _builder_24.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_11, _builder_24.toString());
+ EReference _reference_12 = PostprocessingHelpers.getReference(cls, "subSystem");
+ StringConcatenation _builder_25 = new StringConcatenation();
+ _builder_25.append("This is the sub system that contains the {@link #getRefPath actor instance}.");
+ _builder_25.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_12, _builder_25.toString());
+ EReference _reference_13 = PostprocessingHelpers.getReference(cls, "path");
+ StringConcatenation _builder_26 = new StringConcatenation();
+ _builder_26.append("This is the path of the actor instance relative to the {@link #getSubSystem sub system}.");
+ _builder_26.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_13, _builder_26.toString());
+ EReference _reference_14 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_27 = new StringConcatenation();
+ _builder_27.append("This is a list of all attribute configurations.");
+ _builder_27.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_14, _builder_27.toString());
+ EReference _reference_15 = PostprocessingHelpers.getReference(cls, "ports");
+ StringConcatenation _builder_28 = new StringConcatenation();
+ _builder_28.append("This is a list of all port configurations.");
+ _builder_28.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_15, _builder_28.toString());
+ EClass _class_7 = PostprocessingHelpers.getClass(pckg, "PortInstanceConfig");
+ cls = _class_7;
+ StringConcatenation _builder_29 = new StringConcatenation();
+ _builder_29.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.InterfaceItem interface item} (e.g. port instance).");
+ _builder_29.newLine();
+ _builder_29.append("The configuration defines values for this interface item and overrides the default values from the corresponding class config.");
+ _builder_29.newLine();
+ _builder_29.append("The values are applied at generation time.");
+ _builder_29.newLine();
+ _builder_29.append("The config sub elements are:");
+ _builder_29.newLine();
+ _builder_29.append("<ul>");
+ _builder_29.newLine();
+ _builder_29.append("\t");
+ _builder_29.append("<li>{@link AttrInstanceConfig attribute instance config}</li>");
+ _builder_29.newLine();
+ _builder_29.append("</ul>\t\t\t\t");
+ _builder_29.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_29.toString());
+ EReference _reference_16 = PostprocessingHelpers.getReference(cls, "item");
+ StringConcatenation _builder_30 = new StringConcatenation();
+ _builder_30.append("This is the interface item.");
+ _builder_30.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_16, _builder_30.toString());
+ EReference _reference_17 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_31 = new StringConcatenation();
+ _builder_31.append("This is a list of all attribute configurations.");
+ _builder_31.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_17, _builder_31.toString());
+ EClass _class_8 = PostprocessingHelpers.getClass(pckg, "AttrConfig");
+ cls = _class_8;
+ StringConcatenation _builder_32 = new StringConcatenation();
+ _builder_32.append("It is the super class of");
+ _builder_32.newLine();
+ _builder_32.append("<ul>");
+ _builder_32.newLine();
+ _builder_32.append("\t");
+ _builder_32.append("<li>{@link AttrClassConfig}</li>");
+ _builder_32.newLine();
+ _builder_32.append("\t");
+ _builder_32.append("<li>{@link AttrInstanceConfig}</li>");
+ _builder_32.newLine();
+ _builder_32.append("</ul>\t\t\t\t");
+ _builder_32.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_32.toString());
+ EReference _reference_18 = PostprocessingHelpers.getReference(cls, "attribute");
+ StringConcatenation _builder_33 = new StringConcatenation();
+ _builder_33.append("This is the attribute.");
+ _builder_33.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_18, _builder_33.toString());
+ EReference _reference_19 = PostprocessingHelpers.getReference(cls, "value");
+ StringConcatenation _builder_34 = new StringConcatenation();
+ _builder_34.append("This is the value of {@link #getAttribute attribute}.");
+ _builder_34.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_19, _builder_34.toString());
+ EClass _class_9 = PostprocessingHelpers.getClass(pckg, "AttrClassConfig");
+ cls = _class_9;
+ StringConcatenation _builder_35 = new StringConcatenation();
+ _builder_35.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.");
+ _builder_35.newLine();
+ _builder_35.append("The configuration defines a default value for all instances of the attribute.");
+ _builder_35.newLine();
+ _builder_35.append("The values are applied at generation time.");
+ _builder_35.newLine();
+ _builder_35.append("<br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is");
+ _builder_35.newLine();
+ _builder_35.append("<ul>");
+ _builder_35.newLine();
+ _builder_35.append("\t");
+ _builder_35.append("<li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>");
+ _builder_35.newLine();
+ _builder_35.append("\t");
+ _builder_35.append("<li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>");
+ _builder_35.newLine();
+ _builder_35.append("</ul>\t\t\t\t");
+ _builder_35.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_35.toString());
+ EReference _reference_20 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_36 = new StringConcatenation();
+ _builder_36.append("This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.");
+ _builder_36.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_20, _builder_36.toString());
+ EReference _reference_21 = PostprocessingHelpers.getReference(cls, "min");
+ StringConcatenation _builder_37 = new StringConcatenation();
+ _builder_37.append("This is the lower bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.");
+ _builder_37.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_21, _builder_37.toString());
+ EReference _reference_22 = PostprocessingHelpers.getReference(cls, "max");
+ StringConcatenation _builder_38 = new StringConcatenation();
+ _builder_38.append("This is the upper bound of {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} , in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} has a numerical value.");
+ _builder_38.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_22, _builder_38.toString());
+ EClass _class_10 = PostprocessingHelpers.getClass(pckg, "AttrInstanceConfig");
+ cls = _class_10;
+ StringConcatenation _builder_39 = new StringConcatenation();
+ _builder_39.append("This class models a configuration for an {@link org.eclipse.etrice.core.room.Attribute attribute}.");
+ _builder_39.newLine();
+ _builder_39.append("The configuration defines values for this attribute instance and overrides the default values from the corresponding class config.");
+ _builder_39.newLine();
+ _builder_39.append("The values are applied at generation time.");
+ _builder_39.newLine();
+ _builder_39.append("<br>If the type of the given {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is");
+ _builder_39.newLine();
+ _builder_39.append("<ul>");
+ _builder_39.newLine();
+ _builder_39.append("\t");
+ _builder_39.append("<li>primitive, then a {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} might exist and {@link #getAttributes attributes} is empty</li>");
+ _builder_39.newLine();
+ _builder_39.append("\t");
+ _builder_39.append("<li>compound attribute (e.g. {@link org.eclipse.etrice.core.room.DataClass data class}), then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is null and configurations for children {@link #getAttributes attributes} might exist</li>");
+ _builder_39.newLine();
+ _builder_39.append("</ul>\t\t\t\t");
+ _builder_39.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_39.toString());
+ EReference _reference_23 = PostprocessingHelpers.getReference(cls, "attributes");
+ StringConcatenation _builder_40 = new StringConcatenation();
+ _builder_40.append("This is a list of attribute configurations of children attributes, in case the {@link org.eclipse.etrice.core.config.AttrConfig#getAttribute attribute} is compound.");
+ _builder_40.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_23, _builder_40.toString());
+ EAttribute _attribute_5 = PostprocessingHelpers.getAttribute(cls, "dynConfig");
+ StringConcatenation _builder_41 = new StringConcatenation();
+ _builder_41.append("If the dynamic configuration options is activated for this attribute, then the values are set at runtime by the means of the {@link DynamicConfig dynamic config}.");
+ _builder_41.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_5, _builder_41.toString());
+ EAttribute _attribute_6 = PostprocessingHelpers.getAttribute(cls, "readOnly");
+ StringConcatenation _builder_42 = new StringConcatenation();
+ _builder_42.append("Controls the behavior of the dynamic configuration. If set to false, then {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} is updated (overwritten) if changes occur in the external configuration, ");
+ _builder_42.newLine();
+ _builder_42.append("otherwise set to true, then changes in {@link org.eclipse.etrice.core.config.AttrConfig#getValue value} (that occur from within the system) are recorded to the external configuration.");
+ _builder_42.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_6, _builder_42.toString());
+ EClass _class_11 = PostprocessingHelpers.getClass(pckg, "LiteralArray");
+ cls = _class_11;
+ StringConcatenation _builder_43 = new StringConcatenation();
+ _builder_43.append("Aggregates one or more {@link Literal literals}.\t\t");
+ _builder_43.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_43.toString());
+ EReference _reference_24 = PostprocessingHelpers.getReference(cls, "literals");
+ StringConcatenation _builder_44 = new StringConcatenation();
+ _builder_44.append("This is a list of literals.");
+ _builder_44.newLine();
+ PostprocessingHelpers.setDocumentation(_reference_24, _builder_44.toString());
+ EClass _class_12 = PostprocessingHelpers.getClass(pckg, "Literal");
+ cls = _class_12;
+ StringConcatenation _builder_45 = new StringConcatenation();
+ _builder_45.append("It is the super class of");
+ _builder_45.newLine();
+ _builder_45.append("<ul>");
+ _builder_45.newLine();
+ _builder_45.append("\t");
+ _builder_45.append("<li>{@link BooleanLiteral}</li>");
+ _builder_45.newLine();
+ _builder_45.append("\t");
+ _builder_45.append("<li>{@link NumberLiteral}</li>");
+ _builder_45.newLine();
+ _builder_45.append("\t");
+ _builder_45.append("<li>{@link StringLiteral}</li>");
+ _builder_45.newLine();
+ _builder_45.append("</ul>");
+ _builder_45.newLine();
+ _builder_45.append("that represents a primitive value.");
+ _builder_45.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_45.toString());
+ EClass _class_13 = PostprocessingHelpers.getClass(pckg, "RefPath");
+ cls = _class_13;
+ StringConcatenation _builder_46 = new StringConcatenation();
+ _builder_46.append("A path of strings that are interpreted as {@link org.eclipse.etrice.core.room.ActorRef}s starting at a {@link org.eclipse.etrice.core.room.SubSystemClass}.");
+ _builder_46.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_46.toString());
+ EAttribute _attribute_7 = PostprocessingHelpers.getAttribute(cls, "refs");
+ StringConcatenation _builder_47 = new StringConcatenation();
+ _builder_47.append("This is a path in the instance tree where each segment corresponds to the name of the");
+ _builder_47.newLine();
+ _builder_47.append("corresponding {@link ActorContainerRef}.");
+ _builder_47.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_7, _builder_47.toString());
+ EClass _class_14 = PostprocessingHelpers.getClass(pckg, "Import");
+ cls = _class_14;
+ StringConcatenation _builder_48 = new StringConcatenation();
+ _builder_48.append("The import declares an imported {@link org.eclipse.etrice.core.room.RoomModel room model} (given as a URI) and");
+ _builder_48.newLine();
+ _builder_48.append("an optional imported namespace.");
+ _builder_48.newLine();
+ PostprocessingHelpers.setDocumentation(cls, _builder_48.toString());
+ EAttribute _attribute_8 = PostprocessingHelpers.getAttribute(cls, "importedNamespace");
+ StringConcatenation _builder_49 = new StringConcatenation();
+ _builder_49.append("The imported name space has to be a dot separated qualified name followed by .*.");
+ _builder_49.newLine();
+ _builder_49.append("Example: my.namespace.*");
+ _builder_49.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_8, _builder_49.toString());
+ EAttribute _attribute_9 = PostprocessingHelpers.getAttribute(cls, "importURI");
+ StringConcatenation _builder_50 = new StringConcatenation();
+ _builder_50.append("The import URI can be a relative or absolute file system path.");
+ _builder_50.newLine();
+ _builder_50.append("It may contain environment variables in ${} which will be expanded.");
+ _builder_50.newLine();
+ _builder_50.append("<p>");
+ _builder_50.newLine();
+ _builder_50.append("Examples:");
+ _builder_50.newLine();
+ _builder_50.append("<ul>");
+ _builder_50.newLine();
+ _builder_50.append(" ");
+ _builder_50.append("<li>import model \"AnotherModel.room\"</li>");
+ _builder_50.newLine();
+ _builder_50.append(" ");
+ _builder_50.append("<li>import my.namespace.* from \"AnotherModel.room\"</li>");
+ _builder_50.newLine();
+ _builder_50.append(" ");
+ _builder_50.append("<li>import my.namespace.* from \"../../AnotherProject/models/AnotherModel.room\"</li>");
+ _builder_50.newLine();
+ _builder_50.append(" ");
+ _builder_50.append("<li>import my.namespace.* from \"/${ROOM_MODELS}/SomeModel.room\"</li>");
+ _builder_50.newLine();
+ _builder_50.append("</ul>");
+ _builder_50.newLine();
+ _builder_50.append("</p>");
+ _builder_50.newLine();
+ PostprocessingHelpers.setDocumentation(_attribute_9, _builder_50.toString());
}
}
diff --git a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/ImplPostProcessing.java b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/ImplPostProcessing.java
index ac15ac45e..27496c995 100644
--- a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/ImplPostProcessing.java
+++ b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/postprocessing/ImplPostProcessing.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug
+ */
package org.eclipse.etrice.core.postprocessing;
import org.eclipse.emf.ecore.EClass;

Back to the top