diff options
author | Thomas Schuetz | 2013-07-12 08:40:15 +0000 |
---|---|---|
committer | Thomas Schuetz | 2013-07-12 08:40:15 +0000 |
commit | 12cda553738ca88662624b6f47066b5564549648 (patch) | |
tree | bfa65b6c38aa566a5f1cc98395da6546a6c6e282 /plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend | |
parent | 3447749b1a453735ac54fc09ea7680acdbb19b69 (diff) | |
parent | d65e1d1bdd43feadb43261b85aac2d8aef5e089c (diff) | |
download | org.eclipse.etrice-12cda553738ca88662624b6f47066b5564549648.tar.gz org.eclipse.etrice-12cda553738ca88662624b6f47066b5564549648.tar.xz org.eclipse.etrice-12cda553738ca88662624b6f47066b5564549648.zip |
Merge remote-tracking branch 'origin/master'
Conflicts:
plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
Change-Id: I98e2df3ab57d6e7e8f27e5b0aee7eaa189bfbc33
Diffstat (limited to 'plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend')
-rw-r--r-- | plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/DocuPostprocessor.xtend | 824 |
1 files changed, 412 insertions, 412 deletions
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 4c7e679d1..163c26d65 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 @@ -1,413 +1,413 @@ -/*******************************************************************************
- * 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.xtext.GeneratedMetamodel
-
-import static extension org.eclipse.etrice.core.postprocessing.PostprocessingHelpers.*
-
-class DocuPostprocessor {
-
- def process(GeneratedMetamodel metamodel) {
- 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>
- ''')
-
- }
-
+/******************************************************************************* + * 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.xtext.GeneratedMetamodel + +import static extension org.eclipse.etrice.core.postprocessing.PostprocessingHelpers.* + +class DocuPostprocessor { + + def process(GeneratedMetamodel metamodel) { + 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 |