SDL_Android/SmartDeviceLinkAndroidProxy - added the correct version of the proxy
[profile/ivi/smartdevicelink.git] / SDL_Android / SmartDeviceLinkProxyAndroid / src / com / smartdevicelink / proxy / RPCRequestFactory.java
index 529345f..63d90ee 100755 (executable)
-//
-// Copyright (c) 2013 Ford Motor Company
-//
-package com.smartdevicelink.proxy;
-
-import java.util.Vector;
-
-import com.smartdevicelink.proxy.rpc.*;
-import com.smartdevicelink.proxy.rpc.enums.*;
-
-public class RPCRequestFactory {
-
-       public static final int NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH = 5;
-       public static final int SMARTDEVICELINK_MSG_MAJOR_VERSION = 1;
-       public static final int SMARTDEVICELINK_MSG_MINOR_VERSION = 0;
-
-       public static EncodedSyncPData buildEncodedSyncPData(
-                       Vector<String> data, Integer correlationID) {
-               
-               if(data == null) return null;
-               
-               EncodedSyncPData msg = new EncodedSyncPData();
-               msg.setCorrelationID(correlationID);
-               msg.setData(data);
-               return msg;
-       }
-       
-       public static AddCommand buildAddCommand(Integer commandID,
-                       String menuText, Integer parentID, Integer position,
-                       Vector<String> vrCommands, Integer correlationID) {
-               AddCommand msg = new AddCommand();
-               msg.setCorrelationID(correlationID);
-               msg.setCmdID(commandID);
-               msg.setVrCommands(vrCommands);
-               
-               if(menuText != null || parentID != null || position != null) {
-                       MenuParams menuParams = new MenuParams();
-                       menuParams.setMenuName(menuText);
-                       menuParams.setPosition(position);
-                       menuParams.setParentID(parentID);
-                       msg.setMenuParams(menuParams);
-               }
-               
-               return msg;
-       }
-       
-       public static AddCommand buildAddCommand(Integer commandID,
-                       String menuText, Vector<String> vrCommands, Integer correlationID) {
-               AddCommand msg = buildAddCommand(commandID, menuText, null, null,
-                               vrCommands, correlationID);
-               return msg;
-       }
-       
-       public static AddCommand buildAddCommand(Integer commandID,
-                       Vector<String> vrCommands, Integer correlationID) {
-               AddCommand msg = new AddCommand();
-               msg.setCorrelationID(correlationID);
-               msg.setCmdID(commandID);
-               msg.setVrCommands(vrCommands);
-
-               return msg;
-       }
-
-       public static AddSubMenu buildAddSubMenu(Integer menuID, String menuName,
-                       Integer correlationID) {
-               AddSubMenu msg = buildAddSubMenu(menuID, menuName, null, correlationID);
-               return msg;
-       }
-
-       public static AddSubMenu buildAddSubMenu(Integer menuID, String menuName,
-                       Integer position, Integer correlationID) {
-               AddSubMenu msg = new AddSubMenu();
-               msg.setCorrelationID(correlationID);
-               msg.setMenuName(menuName);
-               msg.setMenuID(menuID);
-               msg.setPosition(position);
-
-               return msg;
-       }
-       
-       public static Alert buildAlert(String ttsText, Boolean playTone,
-                       Integer correlationID) {
-               Vector<TTSChunk> chunks = TTSChunkFactory
-                               .createSimpleTTSChunks(ttsText);
-               Alert msg = buildAlert(chunks, null, null, playTone, null,
-                               correlationID);
-               return msg;
-       }
-       
-       public static Alert buildAlert(String alertText1, String alertText2,
-                       Integer duration, Integer correlationID) {
-               Alert msg = buildAlert((Vector<TTSChunk>) null, alertText1, alertText2,
-                               null, duration, correlationID);
-               return msg;
-       }
-       
-       public static Alert buildAlert(String ttsText, String alertText1,
-                       String alertText2, Boolean playTone, Integer duration,
-                       Integer correlationID) {
-               Vector<TTSChunk> chunks = TTSChunkFactory
-                               .createSimpleTTSChunks(ttsText);
-               Alert msg = buildAlert(chunks, alertText1, alertText2, playTone,
-                               duration, correlationID);
-               return msg;
-       }
-       
-       public static Alert buildAlert(Vector<TTSChunk> chunks, Boolean playTone,
-                       Integer correlationID) {
-               Alert msg = buildAlert(chunks, null, null, playTone, null,
-                               correlationID);
-               return msg;
-       }
-       
-       public static Alert buildAlert(Vector<TTSChunk> ttsChunks,
-                       String alertText1, String alertText2, Boolean playTone,
-                       Integer duration, Integer correlationID) {
-               Alert msg = new Alert();
-               msg.setCorrelationID(correlationID);
-               msg.setAlertText1(alertText1);
-               msg.setAlertText2(alertText2);
-               msg.setDuration(duration);
-               msg.setPlayTone(playTone);
-               msg.setTtsChunks(ttsChunks);
-
-               return msg;
-       }
-       
-       public static CreateInteractionChoiceSet buildCreateInteractionChoiceSet(
-                       Vector<Choice> choiceSet, Integer interactionChoiceSetID,
-                       Integer correlationID) {
-               CreateInteractionChoiceSet msg = new CreateInteractionChoiceSet();
-               msg.setChoiceSet(choiceSet);
-               msg.setInteractionChoiceSetID(interactionChoiceSetID);
-               msg.setCorrelationID(correlationID);
-               return msg;
-       }
-       
-       public static DeleteCommand buildDeleteCommand(Integer commandID,
-                       Integer correlationID) {
-               DeleteCommand msg = new DeleteCommand();
-               msg.setCmdID(commandID);
-               msg.setCorrelationID(correlationID);
-               return msg;
-       }
-       
-       public static DeleteInteractionChoiceSet buildDeleteInteractionChoiceSet(
-                       Integer interactionChoiceSetID, Integer correlationID) {
-               DeleteInteractionChoiceSet msg = new DeleteInteractionChoiceSet();
-               msg.setInteractionChoiceSetID(interactionChoiceSetID);
-               msg.setCorrelationID(correlationID);
-
-               return msg;
-       }
-       
-       public static DeleteSubMenu buildDeleteSubMenu(Integer menuID,
-                       Integer correlationID) {
-               DeleteSubMenu msg = new DeleteSubMenu();
-               msg.setCorrelationID(correlationID);
-               msg.setMenuID(menuID);
-
-               return msg;
-       }
-
-       public static PerformInteraction buildPerformInteraction(
-                       Vector<TTSChunk> initChunks, String displayText,
-                       Vector<Integer> interactionChoiceSetIDList,
-                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks,
-                       InteractionMode interactionMode, Integer timeout,
-                       Integer correlationID) {
-               PerformInteraction msg = new PerformInteraction();
-               msg.setInitialPrompt(initChunks);
-               msg.setInitialText(displayText);
-               msg.setInteractionChoiceSetIDList(interactionChoiceSetIDList);
-               msg.setInteractionMode(interactionMode);
-               msg.setTimeout(timeout);
-               msg.setHelpPrompt(helpChunks);
-               msg.setTimeoutPrompt(timeoutChunks);
-               msg.setCorrelationID(correlationID);
-               
-               return msg;
-       }
-
-       public static PerformInteraction buildPerformInteraction(
-                       String initPrompt,      String displayText, 
-                       Vector<Integer> interactionChoiceSetIDList,
-                       String helpPrompt, String timeoutPrompt,
-                       InteractionMode interactionMode, Integer timeout,
-                       Integer correlationID) {
-               Vector<TTSChunk> initChunks = TTSChunkFactory
-                               .createSimpleTTSChunks(initPrompt);
-               Vector<TTSChunk> helpChunks = TTSChunkFactory
-                               .createSimpleTTSChunks(helpPrompt);
-               Vector<TTSChunk> timeoutChunks = TTSChunkFactory
-                               .createSimpleTTSChunks(timeoutPrompt);
-               return buildPerformInteraction(initChunks,
-                               displayText, interactionChoiceSetIDList, helpChunks,
-                               timeoutChunks, interactionMode, timeout, correlationID);
-       }
-       
-       public static PerformInteraction buildPerformInteraction(
-                       String initPrompt,      String displayText, 
-                       Integer interactionChoiceSetID,
-                       String helpPrompt, String timeoutPrompt,
-                       InteractionMode interactionMode, Integer timeout,
-                       Integer correlationID) {
-               Vector<Integer> interactionChoiceSetIDs = new Vector<Integer>();
-                       interactionChoiceSetIDs.add(interactionChoiceSetID);
-               
-               return buildPerformInteraction(
-                               initPrompt, displayText, interactionChoiceSetIDs, 
-                               helpPrompt, timeoutPrompt, interactionMode, 
-                               timeout, correlationID);
-       }
-       
-       public static PerformInteraction buildPerformInteraction(String initPrompt,
-                       String displayText, Integer interactionChoiceSetID,
-                       Integer correlationID) {
-
-               return buildPerformInteraction(initPrompt, displayText, 
-                               interactionChoiceSetID, null, null,
-                               InteractionMode.BOTH, null, correlationID);
-       }
-       
-       @Deprecated
-       public static PerformInteraction buildPerformInteraction(
-                       Vector<TTSChunk> initChunks, String displayText,
-                       Vector<Integer> interactionChoiceSetIDList,
-                       Vector<TTSChunk> helpChunks, InteractionMode interactionMode,
-                       Integer timeout, Integer correlationID) {
-               PerformInteraction msg = new PerformInteraction();
-               msg.setInitialPrompt(initChunks);
-               msg.setInitialText(displayText);
-               msg.setInteractionChoiceSetIDList(interactionChoiceSetIDList);
-               msg.setInteractionMode(interactionMode);
-               msg.setTimeout(timeout);
-               msg.setHelpPrompt(helpChunks);
-               msg.setCorrelationID(correlationID);
-               return msg;
-       }
-       
-       @Deprecated
-       public static PerformInteraction buildPerformInteraction(String initPrompt,
-                       String displayText, Vector<Integer> interactionChoiceSetIDList,
-                       String helpPrompt, InteractionMode interactionMode,
-                       Integer timeout, Integer correlationID) {
-               Vector<TTSChunk> initChunks = TTSChunkFactory
-                               .createSimpleTTSChunks(initPrompt);
-               Vector<TTSChunk> helpChunks = TTSChunkFactory
-                               .createSimpleTTSChunks(helpPrompt);
-               PerformInteraction msg = buildPerformInteraction(initChunks,
-                               displayText, interactionChoiceSetIDList, helpChunks,
-                               interactionMode, timeout, correlationID);
-               return msg;
-       }
-       
-       public static RegisterAppInterface buildRegisterAppInterface(String appName) {
-               return buildRegisterAppInterface(appName, false, "");
-       }
-       
-       public static RegisterAppInterface buildRegisterAppInterface(
-                       String appName, Boolean isMediaApp, String autoActivateID) {
-               
-               return buildRegisterAppInterface(null, appName, null, null, isMediaApp, 
-                               null, autoActivateID, null); 
-       }
-       
-       public static RegisterAppInterface buildRegisterAppInterface(
-                       SyncMsgVersion SyncMsgVersion, String appName, String ngnMediaScreenAppName,
-                       Vector<String> vrSynonyms, Boolean isMediaApp, Language languageDesired, 
-                       String autoActivateID, Integer correlationID) {
-               RegisterAppInterface msg = new RegisterAppInterface();
-               
-               if (correlationID == null) {
-                       correlationID = 1;
-               }
-               msg.setCorrelationID(correlationID);
-               
-               if (SyncMsgVersion == null) {
-                       SyncMsgVersion = new SyncMsgVersion();
-                       SyncMsgVersion.setMajorVersion(new Integer(SMARTDEVICELINK_MSG_MAJOR_VERSION));
-                       SyncMsgVersion.setMinorVersion(new Integer(SMARTDEVICELINK_MSG_MINOR_VERSION));
-               } 
-               msg.setSyncMsgVersion(SyncMsgVersion);
-               
-               msg.setAppName(appName);
-               
-               msg.setAutoActivateID(autoActivateID);
-               
-               if (ngnMediaScreenAppName == null) {
-                       ngnMediaScreenAppName = appName;
-               }
-               
-               if (ngnMediaScreenAppName.length() > NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH) {
-                       ngnMediaScreenAppName = ngnMediaScreenAppName.substring(0,
-                                       NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH);
-               }
-               msg.setNgnMediaScreenAppName(ngnMediaScreenAppName);
-               
-               if (vrSynonyms == null) {
-                       vrSynonyms = new Vector<String>();
-                       vrSynonyms.add(appName);
-               }
-               msg.setVrSynonyms(vrSynonyms);
-               
-               msg.setIsMediaApplication(isMediaApp);
-               
-               if (languageDesired == null) {
-                       languageDesired = Language.EN_US;
-               }
-               msg.setLanguageDesired(languageDesired);
-
-               return msg;
-       }
-       
-       public static SetGlobalProperties buildSetGlobalProperties(
-                       String helpPrompt, String timeoutPrompt, Integer correlationID) {
-               return buildSetGlobalProperties(TTSChunkFactory
-                               .createSimpleTTSChunks(helpPrompt), TTSChunkFactory
-                               .createSimpleTTSChunks(timeoutPrompt), correlationID);
-       }
-       
-       public static SetGlobalProperties buildSetGlobalProperties(
-                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks,
-                       Integer correlationID) {
-               SetGlobalProperties req = new SetGlobalProperties();
-               req.setCorrelationID(correlationID);
-
-               req.setHelpPrompt(helpChunks);
-               req.setTimeoutPrompt(timeoutChunks);
-
-               return req;
-       }
-
-       public static SetMediaClockTimer buildSetMediaClockTimer(Integer hours,
-                       Integer minutes, Integer seconds, UpdateMode updateMode,
-                       Integer correlationID) {
-
-               SetMediaClockTimer msg = new SetMediaClockTimer();
-               if (hours != null || minutes != null || seconds != null) {
-                       StartTime startTime = new StartTime();
-                       msg.setStartTime(startTime);
-                       startTime.setHours(hours);
-                       startTime.setMinutes(minutes);
-                       startTime.setSeconds(seconds);
-               }
-
-               msg.setUpdateMode(updateMode);
-               msg.setCorrelationID(correlationID);
-
-               return msg;
-       }
-       
-       @Deprecated
-       public static SetMediaClockTimer buildSetMediaClockTimer(
-                       UpdateMode updateMode, Integer correlationID) {
-               Integer hours = null;
-               Integer minutes = null;
-               Integer seconds = null;
-
-               SetMediaClockTimer msg = buildSetMediaClockTimer(hours, minutes,
-                               seconds, updateMode, correlationID);
-               return msg;
-       }
-
-       public static Show buildShow(String mainText1, String mainText2,
-                       String statusBar, String mediaClock, String mediaTrack,
-                       TextAlignment alignment, Integer correlationID) {
-               Show msg = new Show();
-               msg.setCorrelationID(correlationID);
-               msg.setMainField1(mainText1);
-               msg.setMainField2(mainText2);
-               msg.setStatusBar(statusBar);
-               msg.setMediaClock(mediaClock);
-               msg.setMediaTrack(mediaTrack);
-               msg.setAlignment(alignment);
-
-               return msg;
-       }
-       
-       public static Show buildShow(String mainText1, String mainText2,
-                       TextAlignment alignment, Integer correlationID) {
-               Show msg = buildShow(mainText1, mainText2, null, null, null, alignment,
-                               correlationID);
-               return msg;
-       }
-       
-       public static Speak buildSpeak(String ttsText, Integer correlationID) {
-               Speak msg = buildSpeak(TTSChunkFactory.createSimpleTTSChunks(ttsText),
-                               correlationID);
-               return msg;
-       }
-       
-       public static Speak buildSpeak(Vector<TTSChunk> ttsChunks,
-                       Integer correlationID) {
-
-               Speak msg = new Speak();
-               msg.setCorrelationID(correlationID);
-
-               msg.setTtsChunks(ttsChunks);
-
-               return msg;
-       }
-       
-       public static SubscribeButton buildSubscribeButton(ButtonName buttonName,
-                       Integer correlationID) {
-
-               SubscribeButton msg = new SubscribeButton();
-               msg.setCorrelationID(correlationID);
-               msg.setButtonName(buttonName);
-
-               return msg;
-       }
-       
-       public static UnregisterAppInterface buildUnregisterAppInterface(
-                       Integer correlationID) {
-               UnregisterAppInterface msg = new UnregisterAppInterface();
-               msg.setCorrelationID(correlationID);
-
-               return msg;
-       }
-       
-       public static UnsubscribeButton buildUnsubscribeButton(
-                       ButtonName buttonName, Integer correlationID) {
-
-               UnsubscribeButton msg = new UnsubscribeButton();
-               msg.setCorrelationID(correlationID);
-               msg.setButtonName(buttonName);
-
-               return msg;
-       }
-}
+package com.smartdevicelink.proxy;\r
+\r
+import java.util.Vector;\r
+\r
+import com.smartdevicelink.proxy.rpc.AddCommand;\r
+import com.smartdevicelink.proxy.rpc.AddSubMenu;\r
+import com.smartdevicelink.proxy.rpc.Alert;\r
+import com.smartdevicelink.proxy.rpc.AlertManeuver;\r
+import com.smartdevicelink.proxy.rpc.ChangeRegistration;\r
+import com.smartdevicelink.proxy.rpc.Choice;\r
+import com.smartdevicelink.proxy.rpc.CreateInteractionChoiceSet;\r
+import com.smartdevicelink.proxy.rpc.DeleteCommand;\r
+import com.smartdevicelink.proxy.rpc.DeleteFile;\r
+import com.smartdevicelink.proxy.rpc.DeleteInteractionChoiceSet;\r
+import com.smartdevicelink.proxy.rpc.DeleteSubMenu;\r
+import com.smartdevicelink.proxy.rpc.EncodedSyncPData;\r
+import com.smartdevicelink.proxy.rpc.EndAudioPassThru;\r
+import com.smartdevicelink.proxy.rpc.GetDTCs;\r
+import com.smartdevicelink.proxy.rpc.GetVehicleData;\r
+import com.smartdevicelink.proxy.rpc.Image;\r
+import com.smartdevicelink.proxy.rpc.ListFiles;\r
+import com.smartdevicelink.proxy.rpc.MenuParams;\r
+import com.smartdevicelink.proxy.rpc.PerformAudioPassThru;\r
+import com.smartdevicelink.proxy.rpc.PerformInteraction;\r
+import com.smartdevicelink.proxy.rpc.PutFile;\r
+import com.smartdevicelink.proxy.rpc.ReadDID;\r
+import com.smartdevicelink.proxy.rpc.RegisterAppInterface;\r
+import com.smartdevicelink.proxy.rpc.ScrollableMessage;\r
+import com.smartdevicelink.proxy.rpc.SetAppIcon;\r
+import com.smartdevicelink.proxy.rpc.SetDisplayLayout;\r
+import com.smartdevicelink.proxy.rpc.SetGlobalProperties;\r
+import com.smartdevicelink.proxy.rpc.SetMediaClockTimer;\r
+import com.smartdevicelink.proxy.rpc.Show;\r
+import com.smartdevicelink.proxy.rpc.ShowConstantTBT;\r
+import com.smartdevicelink.proxy.rpc.Slider;\r
+import com.smartdevicelink.proxy.rpc.SoftButton;\r
+import com.smartdevicelink.proxy.rpc.Speak;\r
+import com.smartdevicelink.proxy.rpc.StartTime;\r
+import com.smartdevicelink.proxy.rpc.SubscribeButton;\r
+import com.smartdevicelink.proxy.rpc.SubscribeVehicleData;\r
+import com.smartdevicelink.proxy.rpc.smartdevicelinkMsgVersion;\r
+import com.smartdevicelink.proxy.rpc.SyncPData;\r
+import com.smartdevicelink.proxy.rpc.TTSChunk;\r
+import com.smartdevicelink.proxy.rpc.Turn;\r
+import com.smartdevicelink.proxy.rpc.UnregisterAppInterface;\r
+import com.smartdevicelink.proxy.rpc.UnsubscribeButton;\r
+import com.smartdevicelink.proxy.rpc.UnsubscribeVehicleData;\r
+import com.smartdevicelink.proxy.rpc.UpdateTurnList;\r
+import com.smartdevicelink.proxy.rpc.VrHelpItem;\r
+import com.smartdevicelink.proxy.rpc.enums.AppHMIType;\r
+import com.smartdevicelink.proxy.rpc.enums.AudioType;\r
+import com.smartdevicelink.proxy.rpc.enums.BitsPerSample;\r
+import com.smartdevicelink.proxy.rpc.enums.ButtonName;\r
+import com.smartdevicelink.proxy.rpc.enums.FileType;\r
+import com.smartdevicelink.proxy.rpc.enums.ImageType;\r
+import com.smartdevicelink.proxy.rpc.enums.InteractionMode;\r
+import com.smartdevicelink.proxy.rpc.enums.Language;\r
+import com.smartdevicelink.proxy.rpc.enums.SamplingRate;\r
+import com.smartdevicelink.proxy.rpc.enums.TextAlignment;\r
+import com.smartdevicelink.proxy.rpc.enums.UpdateMode;\r
+\r
+public class RPCRequestFactory {\r
+\r
+       public static final int NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH = 5;\r
+       public static final int SMARTDEVICELINK_MSG_MAJOR_VERSION = 1;\r
+       public static final int SMARTDEVICELINK_MSG_MINOR_VERSION = 0;\r
+\r
+       public static EncodedSyncPData buildEncodedSyncPData(\r
+                       Vector<String> data, Integer correlationID) {\r
+               \r
+               if(data == null) return null;\r
+               \r
+               EncodedSyncPData msg = new EncodedSyncPData();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setData(data);\r
+               return msg;\r
+       }\r
+       \r
+       public static SyncPData buildSyncPData(\r
+                       byte[] data, Integer correlationID) {\r
+               \r
+               if(data == null) return null;\r
+               \r
+               SyncPData msg = new SyncPData();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setSyncPData(data);\r
+               return msg;\r
+       }\r
+               \r
+\r
+       public static AddCommand buildAddCommand(Integer commandID,\r
+                       String menuText, Integer parentID, Integer position,\r
+                       Vector<String> vrCommands, Image cmdIcon, Integer correlationID) {\r
+               AddCommand msg = new AddCommand();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setCmdID(commandID);\r
+               msg.setVrCommands(vrCommands);\r
+               \r
+               if (cmdIcon != null) msg.setCmdIcon(cmdIcon);\r
+               \r
+               if(menuText != null || parentID != null || position != null) {\r
+                       MenuParams menuParams = new MenuParams();\r
+                       menuParams.setMenuName(menuText);\r
+                       menuParams.setPosition(position);\r
+                       menuParams.setParentID(parentID);\r
+                       msg.setMenuParams(menuParams);\r
+               }\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static AddCommand buildAddCommand(Integer commandID,\r
+                       String menuText, Integer parentID, Integer position,\r
+                       Vector<String> vrCommands, String IconValue, ImageType IconType, Integer correlationID) {\r
+               AddCommand msg = new AddCommand();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setCmdID(commandID);\r
+               \r
+               if (vrCommands != null) msg.setVrCommands(vrCommands);\r
+               \r
+               Image cmdIcon = null;\r
+               \r
+               if (IconValue != null && IconType != null)\r
+               {\r
+                       cmdIcon = new Image();\r
+                       cmdIcon.setValue(IconValue);                    \r
+                       cmdIcon.setImageType(IconType);                 \r
+               }                               \r
+               \r
+               if (cmdIcon != null) msg.setCmdIcon(cmdIcon);\r
+               \r
+               if(menuText != null || parentID != null || position != null) {\r
+                       MenuParams menuParams = new MenuParams();\r
+                       menuParams.setMenuName(menuText);\r
+                       menuParams.setPosition(position);\r
+                       menuParams.setParentID(parentID);\r
+                       msg.setMenuParams(menuParams);\r
+               }\r
+               \r
+               return msg;\r
+       }\r
+\r
+               \r
+       public static AddCommand buildAddCommand(Integer commandID,\r
+                       String menuText, Integer parentID, Integer position,\r
+                       Vector<String> vrCommands, Integer correlationID) {\r
+               AddCommand msg = new AddCommand();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setCmdID(commandID);\r
+               msg.setVrCommands(vrCommands);\r
+               \r
+               if(menuText != null || parentID != null || position != null) {\r
+                       MenuParams menuParams = new MenuParams();\r
+                       menuParams.setMenuName(menuText);\r
+                       menuParams.setPosition(position);\r
+                       menuParams.setParentID(parentID);\r
+                       msg.setMenuParams(menuParams);\r
+               }\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static AddCommand buildAddCommand(Integer commandID,\r
+                       String menuText, Vector<String> vrCommands, Integer correlationID) {\r
+               AddCommand msg = buildAddCommand(commandID, menuText, null, null,\r
+                               vrCommands, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static AddCommand buildAddCommand(Integer commandID,\r
+                       Vector<String> vrCommands, Integer correlationID) {\r
+               AddCommand msg = new AddCommand();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setCmdID(commandID);\r
+               msg.setVrCommands(vrCommands);\r
+\r
+               return msg;\r
+       }\r
+\r
+       public static AddSubMenu buildAddSubMenu(Integer menuID, String menuName,\r
+                       Integer correlationID) {\r
+               AddSubMenu msg = buildAddSubMenu(menuID, menuName, null, correlationID);\r
+               return msg;\r
+       }\r
+\r
+       public static AddSubMenu buildAddSubMenu(Integer menuID, String menuName,\r
+                       Integer position, Integer correlationID) {\r
+               AddSubMenu msg = new AddSubMenu();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setMenuName(menuName);\r
+               msg.setMenuID(menuID);\r
+               msg.setPosition(position);\r
+\r
+               return msg;\r
+       }\r
+       \r
+\r
+       public static Alert buildAlert(String ttsText, Boolean playTone, Vector<SoftButton> softButtons,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> chunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+               Alert msg = buildAlert(chunks, null, null, null, playTone, null, softButtons,\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(String alertText1, String alertText2, String alertText3,\r
+                       Integer duration, Vector<SoftButton> softButtons, Integer correlationID) {\r
+               Alert msg = buildAlert((Vector<TTSChunk>) null, alertText1, alertText2, alertText3,\r
+                               null, duration, softButtons, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(String ttsText, String alertText1,\r
+                       String alertText2, String alertText3, Boolean playTone, Integer duration, Vector<SoftButton> softButtons,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> chunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+               Alert msg = buildAlert(chunks, alertText1, alertText2, alertText3, playTone, \r
+                               duration, softButtons, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(Vector<TTSChunk> chunks, Boolean playTone, Vector<SoftButton> softButtons,\r
+                       Integer correlationID) {\r
+               Alert msg = buildAlert(chunks, null, null, null, playTone, null, softButtons, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(Vector<TTSChunk> ttsChunks,\r
+                       String alertText1, String alertText2, String alertText3, Boolean playTone,\r
+                       Integer duration, Vector<SoftButton> softButtons, Integer correlationID) {\r
+               Alert msg = new Alert();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setAlertText1(alertText1);\r
+               msg.setAlertText2(alertText2);\r
+               msg.setDuration(duration);\r
+               msg.setPlayTone(playTone);\r
+               msg.setTtsChunks(ttsChunks);\r
+               msg.setSoftButtons(softButtons);\r
+\r
+               return msg;\r
+       }\r
+\r
+       \r
+       \r
+       public static Alert buildAlert(String ttsText, Boolean playTone,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> chunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+               Alert msg = buildAlert(chunks, null, null, playTone, null,\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(String alertText1, String alertText2,\r
+                       Integer duration, Integer correlationID) {\r
+               Alert msg = buildAlert((Vector<TTSChunk>) null, alertText1, alertText2,\r
+                               null, duration, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(String ttsText, String alertText1,\r
+                       String alertText2, Boolean playTone, Integer duration,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> chunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+               Alert msg = buildAlert(chunks, alertText1, alertText2, playTone,\r
+                               duration, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(Vector<TTSChunk> chunks, Boolean playTone,\r
+                       Integer correlationID) {\r
+               Alert msg = buildAlert(chunks, null, null, playTone, null,\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Alert buildAlert(Vector<TTSChunk> ttsChunks,\r
+                       String alertText1, String alertText2, Boolean playTone,\r
+                       Integer duration, Integer correlationID) {\r
+               Alert msg = new Alert();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setAlertText1(alertText1);\r
+               msg.setAlertText2(alertText2);\r
+               msg.setDuration(duration);\r
+               msg.setPlayTone(playTone);\r
+               msg.setTtsChunks(ttsChunks);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static CreateInteractionChoiceSet buildCreateInteractionChoiceSet(\r
+                       Vector<Choice> choiceSet, Integer interactionChoiceSetID,\r
+                       Integer correlationID) {\r
+               CreateInteractionChoiceSet msg = new CreateInteractionChoiceSet();\r
+               msg.setChoiceSet(choiceSet);\r
+               msg.setInteractionChoiceSetID(interactionChoiceSetID);\r
+               msg.setCorrelationID(correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static DeleteCommand buildDeleteCommand(Integer commandID,\r
+                       Integer correlationID) {\r
+               DeleteCommand msg = new DeleteCommand();\r
+               msg.setCmdID(commandID);\r
+               msg.setCorrelationID(correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static DeleteFile buildDeleteFile(String smartDeviceLinkFileName,\r
+                       Integer correlationID) {\r
+               DeleteFile deleteFile = new DeleteFile();\r
+               deleteFile.setCorrelationID(correlationID);\r
+               deleteFile.setSmartDeviceLinkFileName(smartDeviceLinkFileName);\r
+               return deleteFile;\r
+       }\r
+       \r
+       public static DeleteInteractionChoiceSet buildDeleteInteractionChoiceSet(\r
+                       Integer interactionChoiceSetID, Integer correlationID) {\r
+               DeleteInteractionChoiceSet msg = new DeleteInteractionChoiceSet();\r
+               msg.setInteractionChoiceSetID(interactionChoiceSetID);\r
+               msg.setCorrelationID(correlationID);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static DeleteSubMenu buildDeleteSubMenu(Integer menuID,\r
+                       Integer correlationID) {\r
+               DeleteSubMenu msg = new DeleteSubMenu();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setMenuID(menuID);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static ListFiles buildListFiles(Integer correlationID) {\r
+               ListFiles listFiles = new ListFiles();\r
+               listFiles.setCorrelationID(correlationID);\r
+               return listFiles;\r
+       }\r
+\r
+       \r
+       public static PerformInteraction buildPerformInteraction(\r
+                       Vector<TTSChunk> initChunks, String displayText,\r
+                       Vector<Integer> interactionChoiceSetIDList,\r
+                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks,\r
+                       InteractionMode interactionMode, Integer timeout, Vector<VrHelpItem> vrHelp,\r
+                       Integer correlationID) {\r
+               PerformInteraction msg = new PerformInteraction();\r
+               msg.setInitialPrompt(initChunks);\r
+               msg.setInitialText(displayText);\r
+               msg.setInteractionChoiceSetIDList(interactionChoiceSetIDList);\r
+               msg.setInteractionMode(interactionMode);\r
+               msg.setTimeout(timeout);\r
+               msg.setHelpPrompt(helpChunks);\r
+               msg.setTimeoutPrompt(timeoutChunks);\r
+               msg.setVrHelp(vrHelp);\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               return msg;\r
+       }\r
+\r
+       public static PerformInteraction buildPerformInteraction(\r
+                       String initPrompt,      String displayText, \r
+                       Vector<Integer> interactionChoiceSetIDList,\r
+                       String helpPrompt, String timeoutPrompt,\r
+                       InteractionMode interactionMode, Integer timeout, Vector<VrHelpItem> vrHelp,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> initChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(initPrompt);\r
+               Vector<TTSChunk> helpChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(helpPrompt);\r
+               Vector<TTSChunk> timeoutChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(timeoutPrompt);\r
+               return buildPerformInteraction(initChunks,\r
+                               displayText, interactionChoiceSetIDList, helpChunks,\r
+                               timeoutChunks, interactionMode, timeout, vrHelp, correlationID);\r
+       }\r
+       \r
+       public static PerformInteraction buildPerformInteraction(\r
+                       String initPrompt,      String displayText, \r
+                       Integer interactionChoiceSetID,\r
+                       String helpPrompt, String timeoutPrompt,\r
+                       InteractionMode interactionMode, Integer timeout, Vector<VrHelpItem> vrHelp,\r
+                       Integer correlationID) {\r
+               Vector<Integer> interactionChoiceSetIDs = new Vector<Integer>();\r
+                       interactionChoiceSetIDs.add(interactionChoiceSetID);\r
+               \r
+               return buildPerformInteraction(\r
+                               initPrompt, displayText, interactionChoiceSetIDs, \r
+                               helpPrompt, timeoutPrompt, interactionMode, \r
+                               timeout, vrHelp, correlationID);\r
+       }\r
+       \r
+       public static PerformInteraction buildPerformInteraction(String initPrompt,\r
+                       String displayText, Integer interactionChoiceSetID, Vector<VrHelpItem> vrHelp,\r
+                       Integer correlationID) {\r
+\r
+               return buildPerformInteraction(initPrompt, displayText, \r
+                               interactionChoiceSetID, null, null,\r
+                               InteractionMode.BOTH, null, vrHelp, correlationID);\r
+       }\r
+       \r
+       \r
+       public static PerformInteraction buildPerformInteraction(\r
+                       Vector<TTSChunk> initChunks, String displayText,\r
+                       Vector<Integer> interactionChoiceSetIDList,\r
+                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks,\r
+                       InteractionMode interactionMode, Integer timeout,\r
+                       Integer correlationID) {\r
+               PerformInteraction msg = new PerformInteraction();\r
+               msg.setInitialPrompt(initChunks);\r
+               msg.setInitialText(displayText);\r
+               msg.setInteractionChoiceSetIDList(interactionChoiceSetIDList);\r
+               msg.setInteractionMode(interactionMode);\r
+               msg.setTimeout(timeout);\r
+               msg.setHelpPrompt(helpChunks);\r
+               msg.setTimeoutPrompt(timeoutChunks);\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               return msg;\r
+       }\r
+\r
+       public static PerformInteraction buildPerformInteraction(\r
+                       String initPrompt,      String displayText, \r
+                       Vector<Integer> interactionChoiceSetIDList,\r
+                       String helpPrompt, String timeoutPrompt,\r
+                       InteractionMode interactionMode, Integer timeout,\r
+                       Integer correlationID) {\r
+               Vector<TTSChunk> initChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(initPrompt);\r
+               Vector<TTSChunk> helpChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(helpPrompt);\r
+               Vector<TTSChunk> timeoutChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(timeoutPrompt);\r
+               return buildPerformInteraction(initChunks,\r
+                               displayText, interactionChoiceSetIDList, helpChunks,\r
+                               timeoutChunks, interactionMode, timeout, correlationID);\r
+       }\r
+       \r
+       public static PerformInteraction buildPerformInteraction(\r
+                       String initPrompt,      String displayText, \r
+                       Integer interactionChoiceSetID,\r
+                       String helpPrompt, String timeoutPrompt,\r
+                       InteractionMode interactionMode, Integer timeout,\r
+                       Integer correlationID) {\r
+               Vector<Integer> interactionChoiceSetIDs = new Vector<Integer>();\r
+                       interactionChoiceSetIDs.add(interactionChoiceSetID);\r
+               \r
+               return buildPerformInteraction(\r
+                               initPrompt, displayText, interactionChoiceSetIDs, \r
+                               helpPrompt, timeoutPrompt, interactionMode, \r
+                               timeout, correlationID);\r
+       }\r
+       \r
+       public static PerformInteraction buildPerformInteraction(String initPrompt,\r
+                       String displayText, Integer interactionChoiceSetID,\r
+                       Integer correlationID) {\r
+\r
+               return buildPerformInteraction(initPrompt, displayText, \r
+                               interactionChoiceSetID, null, null,\r
+                               InteractionMode.BOTH, null, correlationID);\r
+       }\r
+       \r
+       @Deprecated\r
+       public static PerformInteraction buildPerformInteraction(\r
+                       Vector<TTSChunk> initChunks, String displayText,\r
+                       Vector<Integer> interactionChoiceSetIDList,\r
+                       Vector<TTSChunk> helpChunks, InteractionMode interactionMode,\r
+                       Integer timeout, Integer correlationID) {\r
+               PerformInteraction msg = new PerformInteraction();\r
+               msg.setInitialPrompt(initChunks);\r
+               msg.setInitialText(displayText);\r
+               msg.setInteractionChoiceSetIDList(interactionChoiceSetIDList);\r
+               msg.setInteractionMode(interactionMode);\r
+               msg.setTimeout(timeout);\r
+               msg.setHelpPrompt(helpChunks);\r
+               msg.setCorrelationID(correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       @Deprecated\r
+       public static PerformInteraction buildPerformInteraction(String initPrompt,\r
+                       String displayText, Vector<Integer> interactionChoiceSetIDList,\r
+                       String helpPrompt, InteractionMode interactionMode,\r
+                       Integer timeout, Integer correlationID) {\r
+               Vector<TTSChunk> initChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(initPrompt);\r
+               Vector<TTSChunk> helpChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(helpPrompt);\r
+               PerformInteraction msg = buildPerformInteraction(initChunks,\r
+                               displayText, interactionChoiceSetIDList, helpChunks,\r
+                               interactionMode, timeout, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static PutFile buildPutFile(String smartDeviceLinkFileName, FileType fileType,\r
+                       Boolean persistentFile, byte[] fileData, Integer correlationID) {\r
+               PutFile putFile = new PutFile();\r
+               putFile.setCorrelationID(correlationID);\r
+               putFile.setSmartDeviceLinkFileName(smartDeviceLinkFileName);\r
+               putFile.setFileType(fileType);\r
+               putFile.setPersistentFile(persistentFile);\r
+               putFile.setBulkData(fileData);\r
+               return putFile;\r
+       }\r
+               \r
+       public static RegisterAppInterface buildRegisterAppInterface(String appName, String appID) {\r
+               return buildRegisterAppInterface(appName, false, appID);\r
+       }\r
+               \r
+       public static RegisterAppInterface buildRegisterAppInterface(\r
+                       String appName, Boolean isMediaApp, String appID) {\r
+               \r
+               return buildRegisterAppInterface(null, appName, null, null, null, isMediaApp, \r
+                               null, null, null, appID, null); \r
+       }       \r
+               \r
+       public static RegisterAppInterface buildRegisterAppInterface(\r
+                       smartdevicelinkMsgVersion smartDeviceLinkMsgVersion, String appName, Vector<TTSChunk> ttsName, \r
+                       String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp, \r
+                       Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,\r
+                       String appID, Integer correlationID) {\r
+               RegisterAppInterface msg = new RegisterAppInterface();\r
+               \r
+               if (correlationID == null) {\r
+                       correlationID = 1;\r
+               }\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               if (smartDeviceLinkMsgVersion == null) {\r
+                       smartDeviceLinkMsgVersion = new smartdevicelinkMsgVersion();\r
+                       smartDeviceLinkMsgVersion.setMajorVersion(new Integer(SMARTDEVICELINK_MSG_MAJOR_VERSION));\r
+                       smartDeviceLinkMsgVersion.setMinorVersion(new Integer(SMARTDEVICELINK_MSG_MINOR_VERSION));\r
+               } \r
+               msg.setsmartdevicelinkMsgVersion(smartDeviceLinkMsgVersion);\r
+               \r
+               msg.setAppName(appName);\r
+               \r
+               msg.setTtsName(ttsName);\r
+               \r
+               if (ngnMediaScreenAppName == null) {\r
+                       ngnMediaScreenAppName = appName;\r
+               }\r
+               \r
+               if (ngnMediaScreenAppName.length() > NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH) {\r
+                       ngnMediaScreenAppName = ngnMediaScreenAppName.substring(0,\r
+                                       NGN_MEDIA_SCREEN_APP_NAME_MAX_LENGTH);\r
+               }\r
+               msg.setNgnMediaScreenAppName(ngnMediaScreenAppName);\r
+               \r
+               if (vrSynonyms == null) {\r
+                       vrSynonyms = new Vector<String>();\r
+                       vrSynonyms.add(appName);\r
+               }\r
+               msg.setVrSynonyms(vrSynonyms);\r
+               \r
+               msg.setIsMediaApplication(isMediaApp);\r
+               \r
+               if (languageDesired == null) {\r
+                       languageDesired = Language.EN_US;\r
+               }\r
+               msg.setLanguageDesired(languageDesired);\r
+               \r
+               if (hmiDisplayLanguageDesired == null) {\r
+                       hmiDisplayLanguageDesired = Language.EN_US;\r
+               }               \r
+               \r
+               msg.setHmiDisplayLanguageDesired(hmiDisplayLanguageDesired);\r
+               \r
+               msg.setAppHMIType(appType);\r
+               \r
+               msg.setAppID(appID);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static SetAppIcon buildSetAppIcon(String smartDeviceLinkFileName,\r
+                       Integer correlationID) {\r
+               SetAppIcon setAppIcon = new SetAppIcon();\r
+               setAppIcon.setCorrelationID(correlationID);\r
+               setAppIcon.setSmartDeviceLinkFileName(smartDeviceLinkFileName);\r
+               return setAppIcon;\r
+       }\r
+       \r
+       public static SetGlobalProperties buildSetGlobalProperties(\r
+                       String helpPrompt, String timeoutPrompt, Integer correlationID) {\r
+               return buildSetGlobalProperties(TTSChunkFactory\r
+                               .createSimpleTTSChunks(helpPrompt), TTSChunkFactory\r
+                               .createSimpleTTSChunks(timeoutPrompt), correlationID);\r
+       }\r
+       \r
+       public static SetGlobalProperties buildSetGlobalProperties(\r
+                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks,\r
+                       Integer correlationID) {\r
+               SetGlobalProperties req = new SetGlobalProperties();\r
+               req.setCorrelationID(correlationID);\r
+\r
+               req.setHelpPrompt(helpChunks);\r
+               req.setTimeoutPrompt(timeoutChunks);\r
+\r
+               return req;\r
+       }\r
+\r
+       \r
+       public static SetGlobalProperties buildSetGlobalProperties(\r
+                       String helpPrompt, String timeoutPrompt, String vrHelpTitle, \r
+                       Vector<VrHelpItem> vrHelp, Integer correlationID) {\r
+               return buildSetGlobalProperties(TTSChunkFactory\r
+                               .createSimpleTTSChunks(helpPrompt), TTSChunkFactory\r
+                               .createSimpleTTSChunks(timeoutPrompt), vrHelpTitle, vrHelp, correlationID);\r
+       }\r
+\r
+\r
+       public static SetGlobalProperties buildSetGlobalProperties(\r
+                       Vector<TTSChunk> helpChunks, Vector<TTSChunk> timeoutChunks, \r
+                       String vrHelpTitle, Vector<VrHelpItem> vrHelp,\r
+                       Integer correlationID) {\r
+               SetGlobalProperties req = new SetGlobalProperties();\r
+               req.setCorrelationID(correlationID);\r
+\r
+               req.setHelpPrompt(helpChunks);\r
+               req.setTimeoutPrompt(timeoutChunks);\r
+               \r
+               req.setVrHelpTitle(vrHelpTitle);                \r
+               req.setVrHelp(vrHelp);\r
+\r
+               return req;\r
+       }\r
+       \r
+       \r
+       \r
+\r
+       public static SetMediaClockTimer buildSetMediaClockTimer(Integer hours,\r
+                       Integer minutes, Integer seconds, UpdateMode updateMode,\r
+                       Integer correlationID) {\r
+\r
+               SetMediaClockTimer msg = new SetMediaClockTimer();\r
+               if (hours != null || minutes != null || seconds != null) {\r
+                       StartTime startTime = new StartTime();\r
+                       msg.setStartTime(startTime);\r
+                       startTime.setHours(hours);\r
+                       startTime.setMinutes(minutes);\r
+                       startTime.setSeconds(seconds);\r
+               }\r
+\r
+               msg.setUpdateMode(updateMode);\r
+               msg.setCorrelationID(correlationID);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       @Deprecated\r
+       public static SetMediaClockTimer buildSetMediaClockTimer(\r
+                       UpdateMode updateMode, Integer correlationID) {\r
+               Integer hours = null;\r
+               Integer minutes = null;\r
+               Integer seconds = null;\r
+\r
+               SetMediaClockTimer msg = buildSetMediaClockTimer(hours, minutes,\r
+                               seconds, updateMode, correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Show buildShow(String mainText1, String mainText2,\r
+                       String mainText3, String mainText4,\r
+                       String statusBar, String mediaClock, String mediaTrack,\r
+                       Image graphic, Vector<SoftButton> softButtons, Vector <String> customPresets,\r
+                       TextAlignment alignment, Integer correlationID) {\r
+               Show msg = new Show();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setMainField1(mainText1);\r
+               msg.setMainField2(mainText2);\r
+               msg.setStatusBar(statusBar);\r
+               msg.setMediaClock(mediaClock);\r
+               msg.setMediaTrack(mediaTrack);\r
+               msg.setAlignment(alignment);\r
+               msg.setMainField3(mainText3);\r
+               msg.setMainField4(mainText4);\r
+               msg.setGraphic(graphic);\r
+               msg.setSoftButtons(softButtons);\r
+               msg.setCustomPresets(customPresets);            \r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static Show buildShow(String mainText1, String mainText2, String mainText3, String mainText4,\r
+                       TextAlignment alignment, Integer correlationID) {\r
+               Show msg = buildShow(mainText1, mainText2, mainText3, mainText4, null, null, null, null, null, null, alignment,\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+               \r
+       public static Show buildShow(String mainText1, String mainText2,\r
+                       String statusBar, String mediaClock, String mediaTrack,\r
+                       TextAlignment alignment, Integer correlationID) {\r
+               Show msg = new Show();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setMainField1(mainText1);\r
+               msg.setMainField2(mainText2);\r
+               msg.setStatusBar(statusBar);\r
+               msg.setMediaClock(mediaClock);\r
+               msg.setMediaTrack(mediaTrack);\r
+               msg.setAlignment(alignment);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static Show buildShow(String mainText1, String mainText2,\r
+                       TextAlignment alignment, Integer correlationID) {\r
+               Show msg = buildShow(mainText1, mainText2, null, null, null, alignment,\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Speak buildSpeak(String ttsText, Integer correlationID) {\r
+               Speak msg = buildSpeak(TTSChunkFactory.createSimpleTTSChunks(ttsText),\r
+                               correlationID);\r
+               return msg;\r
+       }\r
+       \r
+       public static Speak buildSpeak(Vector<TTSChunk> ttsChunks,\r
+                       Integer correlationID) {\r
+\r
+               Speak msg = new Speak();\r
+               msg.setCorrelationID(correlationID);\r
+\r
+               msg.setTtsChunks(ttsChunks);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static SubscribeButton buildSubscribeButton(ButtonName buttonName,\r
+                       Integer correlationID) {\r
+\r
+               SubscribeButton msg = new SubscribeButton();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setButtonName(buttonName);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static UnregisterAppInterface buildUnregisterAppInterface(\r
+                       Integer correlationID) {\r
+               UnregisterAppInterface msg = new UnregisterAppInterface();\r
+               msg.setCorrelationID(correlationID);\r
+\r
+               return msg;\r
+       }\r
+       \r
+       public static UnsubscribeButton buildUnsubscribeButton(\r
+                       ButtonName buttonName, Integer correlationID) {\r
+\r
+               UnsubscribeButton msg = new UnsubscribeButton();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setButtonName(buttonName);\r
+\r
+               return msg;\r
+       }       \r
+       \r
+       public static SubscribeVehicleData BuildSubscribeVehicleData(boolean gps, boolean speed, boolean rpm, boolean fuelLevel, boolean fuelLevel_State,\r
+                                                                                                                                boolean instantFuelConsumption, boolean externalTemperature, boolean prndl, boolean tirePressure,\r
+                                                                                                                                boolean odometer, boolean beltStatus, boolean bodyInformation, boolean deviceStatus,\r
+                                                                                                                                boolean driverBraking, Integer correlationID) \r
+       {\r
+               SubscribeVehicleData msg = new SubscribeVehicleData();\r
+               msg.setGps(gps);\r
+               msg.setSpeed(speed);\r
+               msg.setRpm(rpm);\r
+               msg.setFuelLevel(fuelLevel);\r
+               msg.setFuelLevel_State(fuelLevel_State);\r
+               msg.setInstantFuelConsumption(instantFuelConsumption);\r
+               msg.setExternalTemperature(externalTemperature);\r
+               msg.setPrndl(prndl);\r
+               msg.setTirePressure(tirePressure);\r
+               msg.setOdometer(odometer);\r
+               msg.setBeltStatus(beltStatus);\r
+               msg.setBodyInformation(bodyInformation);\r
+               msg.setDeviceStatus(deviceStatus);\r
+               msg.setDriverBraking(driverBraking);\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               return msg;\r
+       }\r
+\r
+       public static UnsubscribeVehicleData BuildUnsubscribeVehicleData(boolean gps, boolean speed, boolean rpm, boolean fuelLevel, boolean fuelLevel_State,\r
+                                                                                                                                        boolean instantFuelConsumption, boolean externalTemperature, boolean prndl, boolean tirePressure,\r
+                                                                                                                                        boolean odometer, boolean beltStatus, boolean bodyInformation, boolean deviceStatus,\r
+                                                                                                                                        boolean driverBraking, Integer correlationID) \r
+       {\r
+               UnsubscribeVehicleData msg = new UnsubscribeVehicleData();\r
+               msg.setGps(gps);\r
+               msg.setSpeed(speed);\r
+               msg.setRpm(rpm);\r
+               msg.setFuelLevel(fuelLevel);\r
+               msg.setFuelLevel_State(fuelLevel_State);\r
+               msg.setInstantFuelConsumption(instantFuelConsumption);\r
+               msg.setExternalTemperature(externalTemperature);\r
+               msg.setPrndl(prndl);\r
+               msg.setTirePressure(tirePressure);\r
+               msg.setOdometer(odometer);\r
+               msg.setBeltStatus(beltStatus);\r
+               msg.setBodyInformation(bodyInformation);\r
+               msg.setDeviceStatus(deviceStatus);\r
+               msg.setDriverBraking(driverBraking);\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               return msg;             \r
+       }\r
+       \r
+       public static GetVehicleData BuildGetVehicleData(boolean gps, boolean speed, boolean rpm, boolean fuelLevel, boolean fuelLevel_State,\r
+                        boolean instantFuelConsumption, boolean externalTemperature, boolean vin, boolean prndl, boolean tirePressure,\r
+                        boolean odometer, boolean beltStatus, boolean bodyInformation, boolean deviceStatus,\r
+                        boolean driverBraking, Integer correlationID)\r
+       {\r
+               GetVehicleData msg = new GetVehicleData();\r
+               msg.setGps(gps);\r
+               msg.setSpeed(speed);\r
+               msg.setRpm(rpm);\r
+               msg.setFuelLevel(fuelLevel);\r
+               msg.setFuelLevel_State(fuelLevel_State);\r
+               msg.setInstantFuelConsumption(instantFuelConsumption);\r
+               msg.setExternalTemperature(externalTemperature);\r
+               msg.setVin(vin);\r
+               msg.setPrndl(prndl);\r
+               msg.setTirePressure(tirePressure);\r
+               msg.setOdometer(odometer);\r
+               msg.setBeltStatus(beltStatus);\r
+               msg.setBodyInformation(bodyInformation);\r
+               msg.setDeviceStatus(deviceStatus);\r
+               msg.setDriverBraking(driverBraking);\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static ReadDID BuildReadDID(Integer ecuName, Vector<Integer> didLocation, Integer correlationID)\r
+       {\r
+               ReadDID msg = new ReadDID();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setEcuName(ecuName);\r
+               msg.setDidLocation(didLocation);                \r
+               return msg;\r
+       }\r
+       \r
+       public static GetDTCs BuildGetDTCs(Integer ecuName, Integer correlationID)\r
+       {\r
+               GetDTCs msg = new GetDTCs();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setEcuName(ecuName);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static ScrollableMessage BuildScrollableMessage(String scrollableMessageBody, Integer timeout, Vector<SoftButton> softButtons, Integer correlationID)    \r
+       {\r
+               ScrollableMessage msg = new ScrollableMessage();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setScrollableMessageBody(scrollableMessageBody);\r
+               msg.setTimeout(timeout);\r
+               msg.setSoftButtons(softButtons);\r
+               \r
+               return msg;             \r
+       }\r
+       \r
+       public static Slider BuildSlider(Integer numTicks, Integer position, String sliderHeader, Vector<String> sliderFooter, Integer timeout, Integer correlationID)\r
+       {\r
+               Slider msg = new Slider();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setNumTicks(numTicks);\r
+               msg.setPosition(position);\r
+               msg.setSliderHeader(sliderHeader);\r
+               msg.setSliderFooter(sliderFooter);\r
+               msg.setTimeout(timeout);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static ShowConstantTBT BuildShowConstantTBT(String navigationText1, String navigationText2, String eta, \r
+                                                                                                          String totalDistance, Image turnIcon, Double distanceToManeuver,\r
+                                                                                                          Double distanceToManeuverScale, boolean maneuverComplete,\r
+                                                                                                          Vector <SoftButton> softButtons, Integer correlationID)\r
+       {\r
+               ShowConstantTBT msg = new ShowConstantTBT();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setNavigationText1(navigationText1);\r
+               msg.setNavigationText2(navigationText2);\r
+               msg.setEta(eta);\r
+               msg.setTotalDistance(totalDistance);\r
+               msg.setTurnIcon(turnIcon);\r
+               msg.setDistanceToManeuver(distanceToManeuverScale);\r
+               msg.setDistanceToManeuverScale(distanceToManeuverScale);\r
+               msg.setManeuverComplete(maneuverComplete);\r
+               msg.setSoftButtons(softButtons);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static AlertManeuver BuildAlertManeuver(String ttsText, Vector<SoftButton> softButtons, Integer correlationID)\r
+       {\r
+               Vector<TTSChunk> ttsChunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+\r
+               AlertManeuver msg = BuildAlertManeuver(ttsChunks, softButtons, correlationID);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static AlertManeuver BuildAlertManeuver(Vector<TTSChunk> ttsChunks, Vector<SoftButton> softButtons, Integer correlationID)\r
+       {\r
+               AlertManeuver msg = new AlertManeuver();                \r
+               msg.setCorrelationID(correlationID);\r
+               msg.setTtsChunks(ttsChunks);\r
+               msg.setSoftButtons(softButtons);                        \r
+               \r
+               return msg;     \r
+       }       \r
+       \r
+       public static UpdateTurnList BuildUpdateTurnList(Vector<Turn> turnList, Vector<SoftButton> softButtons, Integer correlationID)  \r
+       {\r
+               UpdateTurnList msg = new UpdateTurnList();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setTurnList(turnList);\r
+               msg.setSoftButtons(softButtons);                \r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static ChangeRegistration BuildChangeRegistration(Language language, Language hmiDisplayLanguage, Integer correlationID)\r
+       {\r
+               ChangeRegistration msg = new ChangeRegistration();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setLanguage(language);\r
+               msg.setHmiDisplayLanguage(hmiDisplayLanguage);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static SetDisplayLayout BuildSetDisplayLayout(String displayLayout, Integer correlationID)\r
+       {\r
+               SetDisplayLayout msg = new SetDisplayLayout();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setDisplayLayout(displayLayout);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static PerformAudioPassThru BuildPerformAudioPassThru(String ttsText, String audioPassThruDisplayText1, String audioPassThruDisplayText2,\r
+                                                                                                                 SamplingRate samplingRate, Integer maxDuration, BitsPerSample bitsPerSample,\r
+                                                                                                                 AudioType audioType, Boolean muteAudio, Integer correlationID)\r
+       {\r
+               Vector<TTSChunk> chunks = TTSChunkFactory\r
+                               .createSimpleTTSChunks(ttsText);\r
+               \r
+               PerformAudioPassThru msg = BuildPerformAudioPassThru(chunks, audioPassThruDisplayText1, audioPassThruDisplayText2,\r
+                                                                                                                        samplingRate, maxDuration, bitsPerSample,audioType,  muteAudio, correlationID);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+       public static PerformAudioPassThru BuildPerformAudioPassThru(Vector<TTSChunk> initialPrompt, String audioPassThruDisplayText1, String audioPassThruDisplayText2,\r
+                         SamplingRate samplingRate, Integer maxDuration, BitsPerSample bitsPerSample,\r
+                         AudioType audioType, Boolean muteAudio, Integer correlationID)\r
+       {\r
+               PerformAudioPassThru msg = new PerformAudioPassThru();\r
+               msg.setCorrelationID(correlationID);\r
+               msg.setInitialPrompt(initialPrompt);\r
+               msg.setAudioPassThruDisplayText1(audioPassThruDisplayText1);\r
+               msg.setAudioPassThruDisplayText2(audioPassThruDisplayText2);\r
+               msg.setSamplingRate(samplingRate);\r
+               msg.setMaxDuration(maxDuration);\r
+               msg.setBitsPerSample(bitsPerSample);\r
+               msg.setAudioType(audioType);\r
+               msg.setMuteAudio(muteAudio);\r
+                               \r
+               return msg;\r
+       }\r
+       \r
+       public static EndAudioPassThru BuildEndAudioPassThru(Integer correlationID)\r
+       {\r
+               EndAudioPassThru msg = new EndAudioPassThru();\r
+               msg.setCorrelationID(correlationID);\r
+               \r
+               return msg;\r
+       }\r
+       \r
+}\r