-//
-// Copyright (c) 2013 Ford Motor Company
-//
-package com.smartdevicelink.proxy.rpc;
-
-import java.util.Hashtable;
-import java.util.Vector;
-
-import com.smartdevicelink.proxy.RPCNotification;
-import com.smartdevicelink.proxy.constants.Names;
-
-public class OnPermissionsChange extends RPCNotification {
-
- public OnPermissionsChange() {
- super("OnPermissionsChange");
- }
- public OnPermissionsChange(Hashtable hash) {
- super(hash);
- }
-
- public Vector<PermissionGroupItem> getPermissionGroupItems() {
- Vector<?> list = (Vector<?>)parameters.get(Names.PermissionGroupItems);
- if (list != null && list.size()>0) {
- Object obj = list.get(0);
- if(obj instanceof PermissionGroupItem){
- return (Vector<PermissionGroupItem>) list;
- } else if(obj instanceof Hashtable) {
- Vector<PermissionGroupItem> newList = new Vector<PermissionGroupItem>();
- for (Object hash:list) {
- newList.add(new PermissionGroupItem((Hashtable)hash));
- }
- return newList;
- }
- }
- return null;
- }
- public void setPermissionGroupItems(Vector<PermissionGroupItem> permissionGroupItems) {
- if (permissionGroupItems != null) {
- parameters.put(Names.PermissionGroupItems, permissionGroupItems);
- }
- }
-}
+package com.smartdevicelink.proxy.rpc;\r
+\r
+import java.util.Hashtable;\r
+import java.util.Vector;\r
+\r
+import com.smartdevicelink.proxy.RPCNotification;\r
+import com.smartdevicelink.proxy.constants.Names;\r
+\r
+/**\r
+ * Provides update to app of which sets of functions are available\r
+ * <p>\r
+ * </p>\r
+ * <b>HMI Status Requirements:</b>\r
+ * <ul>\r
+ * HMILevel:\r
+ * <ul>\r
+ * <li>Any</li>\r
+ * </ul>\r
+ * AudioStreamingState:\r
+ * <ul>\r
+ * <li>TBD</li>\r
+ * </ul>\r
+ * SystemContext:\r
+ * <ul>\r
+ * <li>TBD</li>\r
+ * </ul>\r
+ * </ul>\r
+ * <p>\r
+ * <b>Parameter List:</b>\r
+ * <table border="1" rules="all">\r
+ * <tr>\r
+ * <th>Name</th>\r
+ * <th>Type</th>\r
+ * <th>Description</th>\r
+ * <th>Req</th>\r
+ * <th>Notes</th>\r
+ * <th>Applink Ver Available</th>\r
+ * </tr>\r
+ * <tr>\r
+ * <td>permissionItem</td>\r
+ * <td>PermissionItem[]</td>\r
+ * <td>Change in permissions for a given set of RPCs</td>\r
+ * <td>Y</td>\r
+ * <td>Minsize=1 Maxsize=100</td>\r
+ * <td>SmartDeviceLink 2.0</td>\r
+ * </tr>\r
+ * </table>\r
+ * </p>\r
+ */\r
+public class OnPermissionsChange extends RPCNotification {\r
+ /**\r
+ *Constructs a newly allocated OnCommand object\r
+ */ \r
+ public OnPermissionsChange() {\r
+ super("OnPermissionsChange");\r
+ }\r
+ /**\r
+ *<p>Constructs a newly allocated OnPermissionsChange object indicated by the Hashtable parameter</p>\r
+ *@param hash The Hashtable to use\r
+ */\r
+ public OnPermissionsChange(Hashtable hash) {\r
+ super(hash);\r
+ }\r
+ /**\r
+ * <p>Returns Vector<PermissionItem> object describing change in permissions for a given set of RPCs</p>\r
+ * @return Vector<{@linkplain PermissionItem}> an object describing describing change in permissions for a given set of RPCs\r
+ */ \r
+ public Vector<PermissionItem> getPermissionItem() {\r
+ Vector<?> list = (Vector<?>)parameters.get(Names.permissionItem);\r
+ if (list != null && list.size()>0) {\r
+ Object obj = list.get(0);\r
+ if(obj instanceof PermissionItem){\r
+ return (Vector<PermissionItem>) list;\r
+ } else if(obj instanceof Hashtable) {\r
+ Vector<PermissionItem> newList = new Vector<PermissionItem>();\r
+ for (Object hash:list) {\r
+ newList.add(new PermissionItem((Hashtable)hash));\r
+ }\r
+ return newList;\r
+ }\r
+ }\r
+ return null;\r
+ }\r
+ /**\r
+ * <p>Sets PermissionItems describing change in permissions for a given set of RPCs</p> \r
+ * @param permissionItem an vector of PermissionItem describing change in permissions for a given set of RPCs\r
+ */ \r
+ public void setPermissionItem(Vector<PermissionItem> permissionItem) {\r
+ if (permissionItem != null) {\r
+ parameters.put(Names.permissionItem, permissionItem);\r
+ } else {\r
+ parameters.remove(Names.permissionItem);\r
+ }\r
+ }\r
+}\r