From ea55a84a3ad8dd5205e752ee773e40db709ca904 Mon Sep 17 00:00:00 2001
From: Sophie Coudert <sophie.coudert@telecom-paris.fr>
Date: Mon, 24 Jun 2024 17:14:17 +0200
Subject: [PATCH] begin to comment Avatar2SysMLNames

---
 .../tosysmlv2/Avatar2SysML.java               | 98 ++++++++++++-------
 1 file changed, 60 insertions(+), 38 deletions(-)

diff --git a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
index f1c959ddde..dd36682fd2 100644
--- a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
+++ b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
@@ -55,17 +55,27 @@ import java.util.ArrayList;
  * @version 0.1 20/06/2024
  */
 public class Avatar2SysML {
+    public Avatar2SysML(AvatarSpecification _avspec) { avspec = _avspec; }
+    StringBuffer avsysml;
+    HashSet<AvatarSignal> fifoSet = new HashSet<AvatarSignal>();
+    HashMap<AvatarMethod, MethodInfo> methodMap = new HashMap<AvatarMethod, MethodInfo>();
+    HashMap<AvatarStateMachineElement, StateInfo> stateMap = new HashMap<AvatarStateMachineElement, StateInfo>();
+    ArrayList<AvatarStateMachineElement> stateList = new ArrayList<AvatarStateMachineElement>();
+    ArrayList<AvatarAttribute> timerList = new ArrayList<AvatarAttribute>();
+
+    private AvatarSpecification avspec;
 
-    class MethodInfo {
-        private String name;
+    /** to collect infos used later (for example when handling ActionsOnSignal) */
+    static private class MethodInfo {
+        private String name; // method name
         private String msgtype; // null for methods that are not signals
-        private ArrayList<String> fieldNames;
-        private ArrayList<AvatarType> fieldTypes;
-        private ArrayList<AvatarDataType> dataTypes;
-        private AvatarType returnType;
-        private AvatarDataType returnDataType;
+        private ArrayList<String> fieldNames; // names of parameters
+        private ArrayList<AvatarType> fieldTypes; // int, bool or undefined
+        private ArrayList<AvatarDataType> dataTypes; // datatype for "undefined" fieldType, otherwise null.
+        private AvatarType returnType; // int, bool or undefined
+        private AvatarDataType returnDataType; // datatype if returnType is "undefined", otherwise null.
 
-       MethodInfo(String _name) { // for void methods
+        MethodInfo(String _name) { // for void methods
             name = _name;
             msgtype = null;
             fieldNames = new ArrayList<String>();
@@ -74,7 +84,8 @@ public class Avatar2SysML {
             returnType = null;
             returnDataType = null;
         }
-       MethodInfo(String _name, AvatarType _returnType, AvatarDataType dt) { // for non-void methods
+
+        MethodInfo(String _name, AvatarType _returnType, AvatarDataType dt) { // for non-void methods
             name = _name;
             msgtype = null;
             fieldNames = new ArrayList<String>();
@@ -85,7 +96,8 @@ public class Avatar2SysML {
                 returnDataType = null;
             else
                 returnDataType = dt;
-        }
+       }
+
        MethodInfo(String _name, String _msgtype) { // for signals
             name = _name;
             msgtype = _msgtype;
@@ -95,7 +107,12 @@ public class Avatar2SysML {
             returnType = null;
             returnDataType = null;
        }
-       public void addField(String _fieldName, AvatarType _type, AvatarDataType _dt){
+
+        /** @param _fieldName
+         * @param _type
+         * @param _dt datatype, only relevant if _type is UNDEFINED
+         */
+        public void addField(String _fieldName, AvatarType _type, AvatarDataType _dt){
            if (_type == AvatarType.UNDEFINED)
                dataTypes.add(_dt);
            else if (!(_type == AvatarType.BOOLEAN || _type == AvatarType.INTEGER))
@@ -104,42 +121,47 @@ public class Avatar2SysML {
                dataTypes.add(null);
            fieldNames.add(_fieldName);
            fieldTypes.add(_type);
-       }
-       public int getArity() { return fieldNames.size(); }
-       public String getName(){ return name; }
-       public String getMessageType(){ return msgtype; }
-       public AvatarType getReturnType(){ return returnType; }
-       public AvatarDataType getReturnDataType(){ return returnDataType; }
-       public String getFieldName(int i){ return fieldNames.get(i); }
-       public AvatarType getFieldType(int i){ return fieldTypes.get(i); }
-       public AvatarDataType getDataType(int i){ return dataTypes.get(i); }
+        }
+
+        /** number of fields */
+        public int getArity() { return fieldNames.size(); }
+
+        /** SysML name */
+        public String getName(){ return name; }
+
+        /** SysML name for message describing profile */
+        public String getMessageType(){ return msgtype; }
+
+        public AvatarType getReturnType(){ return returnType; }
+
+        public AvatarDataType getReturnDataType(){ return returnDataType; }
+
+        /** SysML field name */
+        public String getFieldName(int i){ return fieldNames.get(i); }
+
+        public AvatarType getFieldType(int i){ return fieldTypes.get(i); }
+
+        public AvatarDataType getDataType(int i){ return dataTypes.get(i); }
     }
-   /**
+
+    /**
      * Memorized while naming states, to be reused for generating states
      */
-   class StateInfo {
-       private String name;
-       private String prename = "";
+    class StateInfo {
+        private String name; // SysML name
+        private String prename = ""; // name of the state that is technically added before this (if exists)
+
         StateInfo(String _name) {
             name = _name;
         }
-        StateInfo(String _name, String _prename) {
-            name = _name;
-            prename = _prename;
-        }
+
+        StateInfo(String _name, String _prename) { name = _name; prename = _prename; }
+
         public String getName(){ return name; }
-        public String getPreName(){ return prename; }
-   }
 
-    public Avatar2SysML(AvatarSpecification _avspec) { avspec = _avspec; }
-    private AvatarSpecification avspec;
-    StringBuffer avsysml;
+        public String getPreName(){ return prename; }
+    }
 
-    HashSet<AvatarSignal> fifoSet = new HashSet<AvatarSignal>();
-    HashMap<AvatarMethod, MethodInfo> methodMap = new HashMap<AvatarMethod, MethodInfo>();
-    HashMap<AvatarStateMachineElement, StateInfo> stateMap = new HashMap<AvatarStateMachineElement, StateInfo>();
-    ArrayList<AvatarStateMachineElement> stateList = new ArrayList<AvatarStateMachineElement>();
-    ArrayList<AvatarAttribute> timerList = new ArrayList<AvatarAttribute>();
 
     void searchCountSignals() {
         fifoSet.clear();
-- 
GitLab