+ /**\r
+ * Retrive DriverBinding, ComponentName, DriverConfig,\r
+ * DriverDiag group array\r
+ * \r
+ * @returns DriverBinding group name list if elements are found\r
+ * at the known xpath\r
+ * @returns null if nothing is there\r
+ */\r
+ public String[][] getExternProtocolGroup() {\r
+ String[] xPath = new String[] {"/Extern"};\r
+ Object[] returns = get("Externs",xPath);\r
+\r
+ if (returns == null) {\r
+ return new String[0][4];\r
+ }\r
+ List<Extern> externList = new ArrayList<Extern>();\r
+ for (int i = 0; i < returns.length; i++) {\r
+ org.tianocore.ExternsDocument.Externs.Extern extern = (org.tianocore.ExternsDocument.Externs.Extern)returns[i];\r
+ if (extern.getDriverBinding() != null) {\r
+ externList.add(extern);\r
+ }\r
+ }\r
+\r
+ String[][] externGroup = new String[externList.size()][4];\r
+ for (int i = 0; i < externList.size(); i++) {\r
+ String driverBindingStr = externList.get(i).getDriverBinding();\r
+ if ( driverBindingStr != null){\r
+ externGroup[i][0] = driverBindingStr;\r
+ } else {\r
+ externGroup[i][0] = null;\r
+ }\r
+\r
+ String componentNameStr = externList.get(i).getComponentName();\r
+ if (componentNameStr != null) {\r
+ externGroup[i][1] = componentNameStr;\r
+ } else {\r
+ externGroup[i][1] = null;\r
+ }\r
+\r
+ String driverConfigStr = externList.get(i).getDriverConfig();\r
+ if (driverConfigStr != null) {\r
+ externGroup[i][2] = driverConfigStr;\r
+ } else {\r
+ externGroup[i][2] = null;\r
+ }\r
+\r
+ String driverDiagStr = externList.get(i).getDriverDiag();\r
+ if (driverDiagStr != null) {\r
+ externGroup[i][3] = driverDiagStr;\r
+ } else {\r
+ externGroup[i][3] = null;\r
+ }\r
+ }\r
+ return externGroup;\r
+ }\r
+ \r