--- /dev/null
+/** @file\r
+ File is ParseParameter class which is used to parse the validity of user's input args\r
+ and standardize them. \r
+ \r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+package org.tianocore.context;\r
+\r
+public class ParseParameter {\r
+\r
+ \r
+ /** \r
+ * check the validity of user's input args\r
+ * @param args -- user's input\r
+ * @return true or false\r
+ **/\r
+ public static boolean checkParameter(String[] args) {\r
+ \r
+ if(args.length == 0){\r
+ HelpInfo.outputUsageInfo();\r
+ return false;\r
+ } else {\r
+ if( args[0].charAt(0) != '-' ){\r
+ HelpInfo.outputUsageInfo();\r
+ return false;\r
+ }\r
+ for(int i=0; i<args.length; i++){\r
+ if( (args[i].compareToIgnoreCase("-h") == 0) || \r
+ (args[i].startsWith("-") && ((args[i].charAt(1) != 'a') && (args[i].charAt(1) != 'c') \r
+ && (args[i].charAt(1) != 'n') && (args[i].charAt(1) != 'p') && (args[i].charAt(1) != 't') && (args[i].charAt(1) != 'm')))){\r
+ HelpInfo.outputUsageInfo();\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+ \r
+ standardizeParameter(args);\r
+ return true; \r
+ }\r
+ \r
+ /** \r
+ * standardize user's input args\r
+ * @param args -- user's input\r
+ * @return no return value\r
+ **/\r
+ private static void standardizeParameter(String[] args) {\r
+ \r
+ //\r
+ // the parameters's length are same.\r
+ //\r
+ length = pstr.length();\r
+ \r
+ StringBuffer InputData = new StringBuffer();\r
+ for (int i = 0; i < args.length; i++) {\r
+ InputData.append(args[i]);\r
+ InputData.append(" ");\r
+ }\r
+\r
+ int i = 0;\r
+ while (i < InputData.length()) {\r
+ int j = InputData.indexOf("-", i + 1);\r
+ if (j == -1)\r
+ j = InputData.length();\r
+\r
+ String argstr = InputData.substring(i, j);\r
+\r
+ if (argstr.charAt(1) == 'p') {\r
+ pstr += argstr.substring(2);\r
+ // pstr += "\n";\r
+ } else if (argstr.charAt(1) == 't') {\r
+ tstr += argstr.substring(2);\r
+ // tstr += "\n";\r
+ } else if (argstr.charAt(1) == 'a') {\r
+ astr += argstr.substring(2);\r
+// astr += "\n";\r
+ } else if (argstr.charAt(1) == 'c') {\r
+ cstr += argstr.substring(2);\r
+// cstr += "\n";\r
+ } else if (argstr.charAt(1) == 'n') {\r
+ nstr += argstr.substring(2);\r
+// nstr += "\n";\r
+ } else if (argstr.charAt(1) == 'm') {\r
+ mstr += argstr.substring(2);\r
+// mstr += "\n";\r
+ if (argstr.charAt(3) == '0'){\r
+ mestr += " Disable";\r
+ } else {\r
+ mestr += " Enable";\r
+ }\r
+ }\r
+ i = j;\r
+ }\r
+\r
+ }\r
+ \r
+ public static int length = 0;\r
+ public static String pstr = new String("ACTIVE_PLATFORM = ");\r
+ public static String tstr = new String("TARGET = ");\r
+ public static String astr = new String("TARGET_ARCH = ");\r
+ public static String cstr = new String("TOOL_CHAIN_CONF = ");\r
+ public static String nstr = new String("TOOL_CHAIN_TAG = ");\r
+ public static String mstr = new String("MAX_CONCURRENT_THREAD_NUMBER = ");\r
+ public static String mestr = new String("MULTIPLE_THREAD = ");\r
+\r
+}\r