]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/EnumerationData.java
remove unnecessary check for NULL pointer.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / common / EnumerationData.java
index e23982a24837f64b4678563ec2eb30b9d769ff2f..7eae384c7d0feb5e45f734f967618a5b97760f87 100644 (file)
@@ -21,183 +21,205 @@ public class EnumerationData {
     // Static data for externs definitions\r
     //\r
     public final static String EXTERNS_PCD_IS_DRIVER = "Pcd Is Driver";\r
-    \r
+\r
     public final static String EXTERNS_SPECIFICATION = "Specification";\r
-    \r
+\r
     public final static String EXTERNS_IMAGE = "Image";\r
+\r
     public final static String EXTERNS_MODULE_ENTRY_POINT = "ModuleEntryPoint";\r
+\r
     public final static String EXTERNS_MODULE_UNLOAD_IMAGE = "ModuleUnloadImage";\r
-    \r
+\r
     public final static String EXTERNS_LIBRARY = "Library";\r
+\r
     public final static String EXTERNS_CONSTRUCTOR = "Constructor";\r
+\r
     public final static String EXTERNS_DESTRUCTOR = "Destructor";\r
-    \r
+\r
     public final static String EXTERNS_DRIVER = "Driver";\r
+\r
     public final static String EXTERNS_DRIVER_BINDING = "DriverBinding";\r
+\r
     public final static String EXTERNS_COMPONENT_NAME = "ComponentName";\r
+\r
     public final static String EXTERNS_DRIVER_CONFIG = "DriverConfig";\r
+\r
     public final static String EXTERNS_DRIVER_DIAG = "DriverDiag";\r
-    \r
+\r
     public final static String EXTERNS_CALL_BACK = "Call Back";\r
+\r
     public final static String EXTERNS_VIRTUAL_ADDRESS_MAP_CALL_BACK = "VirtualAddressMap";\r
+\r
     public final static String EXTERNS_EXIT_BOOT_SERVICES_CALL_BACK = "ExitBootServices";\r
-    \r
+\r
     //\r
     // Static data for guid type\r
     //\r
     public final static String GUID_TYPE_DATA_HUB_RECORD = "DATA_HUB_RECORD";\r
-    \r
+\r
     public final static String GUID_TYPE_EFI_EVENT = "EFI_EVENT";\r
-    \r
+\r
     public final static String GUID_TYPE_EFI_SYSTEM_CONFIGURATION_TABLE = "EFI_SYSTEM_CONFIGURATION_TABLE";\r
-    \r
+\r
     public final static String GUID_TYPE_EFI_VARIABLE = "EFI_VARIABLE";\r
-    \r
+\r
     public final static String GUID_TYPE_GUID = "GUID";\r
-    \r
+\r
     public final static String GUID_TYPE_HII_PACKAGE_LIST = "HII_PACKAGE_LIST";\r
-    \r
+\r
     public final static String GUID_TYPE_HOB = "HOB";\r
-    \r
+\r
     public final static String GUID_TYPE_TOKEN_SPACE_GUID = "TOKEN_SPACE_GUID";\r
     \r
+    //\r
+    // Static data for build targets\r
+    //\r
+    public final static String BUILD_TARGET_DEBUG = "DEBUG";\r
+    \r
+    public final static String BUILD_TARGET_RELEASE = "RELEASE";\r
+\r
     //\r
     // Common data\r
     //\r
     public Vector<String> vSupportedArchitectures = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vEnabled = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vBoolean = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Msa Header\r
     //\r
     public Vector<String> vModuleType = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vCompontentType = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Library Class Definitions\r
     //\r
     public Vector<String> vLibraryUsage = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vFrameworkModuleTypes = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDef = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefBase = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefPei = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefPeim = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefDxeCore = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefDxeDriver = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefDxeSmmDriver = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vLibClassDefUefiDriver = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Source Files\r
     //\r
     public Vector<String> vSourceFilesToolChainFamily = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vSourceFilesFileType = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vToolCode = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Package Dependencies\r
     //\r
     public Vector<String> vPackageUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Protocols\r
     //\r
     public Vector<String> vProtocolUsage = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vProtocolNotifyUsage = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vProtocolType = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Events\r
     //\r
     public Vector<String> vEventType = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vEventUsage = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vEventGroup = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Hobs\r
     //\r
     public Vector<String> vHobType = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vHobUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Ppis\r
     //\r
     public Vector<String> vPpiType = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vPpiUsage = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vPpiNotifyUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Variable\r
     //\r
     public Vector<String> vVariableUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Boot Mode\r
     //\r
     public Vector<String> vBootModeNames = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vBootModeUsage = new Vector<String>();\r
-   \r
+\r
     //\r
     // Used by System Tables\r
     //\r
     public Vector<String> vSystemTableUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Data Hubs\r
     //\r
     public Vector<String> vDataHubUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Hii Packages\r
     //\r
     public Vector<String> vHiiPackageUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Guid\r
     //\r
     public Vector<String> vGuidUsage = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Externs\r
     //\r
     public Vector<String> vExternTypes = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vPcdDriverTypes = new Vector<String>();\r
-    \r
+\r
     //\r
     // Used by Pcd\r
     //\r
     public Vector<String> vPcdItemTypes = new Vector<String>();\r
-    \r
+\r
     public Vector<String> vPcdUsage = new Vector<String>();\r
+    \r
+    //\r
+    // Used by Build Options\r
+    //\r
+    public Vector<String> vBuildTargets = new Vector<String>();\r
 \r
     public EnumerationData() {\r
         init();\r
     }\r
-    \r
+\r
     private void init() {\r
         //\r
         // Init common data first\r
@@ -205,12 +227,12 @@ public class EnumerationData {
         initSupportedArchitectures();\r
         initEnabled();\r
         initBoolean();\r
-        \r
+\r
         //\r
         // Used by Msa header\r
         //\r
         initModuleType();\r
-        \r
+\r
         //\r
         // Used by Library Class Definitions\r
         //\r
@@ -231,95 +253,100 @@ public class EnumerationData {
         initSourceFilesToolChainFamily();\r
         initSourceFilesFileType();\r
         initToolCode();\r
-        \r
+\r
         //\r
         // Used by Package Dependencies\r
         //\r
         initPackageUsage();\r
-        \r
+\r
         //\r
         // Used by Protocols\r
         //\r
         initProtocolType();\r
         initProtocolUsage();\r
         initProtocolNotifyUsage();\r
-        \r
+\r
         //\r
         // Used by Events\r
         //\r
         initEventType();\r
         initEventUsage();\r
         initEventGroup();\r
-        \r
+\r
         //\r
         // Used by Hobs\r
         //\r
         initHobType();\r
         initHobUsage();\r
-        \r
+\r
         //\r
         // Used by Ppis\r
         //\r
         initPpiType();\r
         initPpiUsage();\r
         initPpiNotifyUsage();\r
-        \r
+\r
         //\r
         // Used by Variable\r
         //\r
         initVariableUsage();\r
-        \r
+\r
         //\r
         // Used by Boot Mode\r
         //\r
         initBootModeNames();\r
         initBootModeUsage();\r
-        \r
+\r
         //\r
         // Used by System Tables\r
         //\r
         initSystemTableUsage();\r
-        \r
+\r
         //\r
         // Used by Data Hubs\r
         //\r
         initDataHubUsage();\r
-        \r
+\r
         //\r
         // Used by Hii Packages\r
         //\r
         initHiiPackages();\r
-        \r
+\r
         //\r
         // Used by Guid\r
         //\r
         initGuidUsage();\r
-        \r
+\r
         //\r
         // Used by Externs\r
         //\r
         initExternTypes();\r
         initPcdDriverTypes();\r
-        \r
+\r
         //\r
         // Used by Pcd\r
         //\r
         initPcdItemTypes();\r
         initPcdUsage();\r
+        \r
+        //\r
+        // Used by Build Option\r
+        //\r
+        initBuildTargets();\r
     }\r
-    \r
+\r
     private void initEnabled() {\r
         vEnabled.removeAllElements();\r
         vEnabled.addElement("Disabled");\r
         vEnabled.addElement("Enabled");\r
     }\r
-    \r
+\r
     private void initBoolean() {\r
         vBoolean.removeAllElements();\r
         vBoolean.addElement(DataType.FALSE);\r
         vBoolean.addElement(DataType.TRUE);\r
     }\r
-    \r
+\r
     private void initModuleType() {\r
         vModuleType.removeAllElements();\r
         vModuleType.addElement("BASE");\r
@@ -337,25 +364,25 @@ public class EnumerationData {
         vModuleType.addElement("USER_DEFINED");\r
         Sort.sortVectorString(vModuleType, DataType.SORT_TYPE_ASCENDING);\r
     }\r
-    \r
-//    private void initComponentType() {\r
-//        vCompontentType.removeAllElements();\r
-//        vCompontentType.addElement("APRIORI");\r
-//        vCompontentType.addElement("LIBRARY");\r
-//        vCompontentType.addElement("FV_IMAGE_FILE");\r
-//        vCompontentType.addElement("BS_DRIVER");\r
-//        vCompontentType.addElement("RT_DRIVER");\r
-//        vCompontentType.addElement("SAL_RT_DRIVER");\r
-//        vCompontentType.addElement("PE32_PEIM");\r
-//        vCompontentType.addElement("PIC_PEIM");\r
-//        vCompontentType.addElement("COMBINED_PEIM_DRIVER");\r
-//        vCompontentType.addElement("PEI_CORE");\r
-//        vCompontentType.addElement("DXE_CORE");\r
-//        vCompontentType.addElement("APPLICATION");\r
-//        vCompontentType.addElement("BS_DRIVER_EFI");\r
-//        vCompontentType.addElement("SHELLAPP");\r
-//    }\r
-    \r
+\r
+    //    private void initComponentType() {\r
+    //        vCompontentType.removeAllElements();\r
+    //        vCompontentType.addElement("APRIORI");\r
+    //        vCompontentType.addElement("LIBRARY");\r
+    //        vCompontentType.addElement("FV_IMAGE_FILE");\r
+    //        vCompontentType.addElement("BS_DRIVER");\r
+    //        vCompontentType.addElement("RT_DRIVER");\r
+    //        vCompontentType.addElement("SAL_RT_DRIVER");\r
+    //        vCompontentType.addElement("PE32_PEIM");\r
+    //        vCompontentType.addElement("PIC_PEIM");\r
+    //        vCompontentType.addElement("COMBINED_PEIM_DRIVER");\r
+    //        vCompontentType.addElement("PEI_CORE");\r
+    //        vCompontentType.addElement("DXE_CORE");\r
+    //        vCompontentType.addElement("APPLICATION");\r
+    //        vCompontentType.addElement("BS_DRIVER_EFI");\r
+    //        vCompontentType.addElement("SHELLAPP");\r
+    //    }\r
+\r
     private void initSupportedArchitectures() {\r
         vSupportedArchitectures.removeAllElements();\r
         vSupportedArchitectures.addElement("EBC");\r
@@ -365,16 +392,16 @@ public class EnumerationData {
         vSupportedArchitectures.addElement("ARM");\r
         vSupportedArchitectures.addElement("PPC");\r
     }\r
-    \r
+\r
     private void initLibraryUsage() {\r
         vLibraryUsage.removeAllElements();\r
-        vLibraryUsage.addElement("ALWAYS_CONSUMED");\r
-        vLibraryUsage.addElement("SOMETIMES_CONSUMED");\r
-        vLibraryUsage.addElement("ALWAYS_PRODUCED");\r
-        vLibraryUsage.addElement("SOMETIMES_PRODUCED");\r
-        vLibraryUsage.addElement("PRIVATE");\r
+        vLibraryUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vLibraryUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vLibraryUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vLibraryUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vLibraryUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initFrameworkModuleTypes() {\r
         vFrameworkModuleTypes.removeAllElements();\r
         vFrameworkModuleTypes.addElement("BASE");\r
@@ -386,7 +413,6 @@ public class EnumerationData {
         vFrameworkModuleTypes.addElement("DXE_RUNTIME_DRIVER");\r
         vFrameworkModuleTypes.addElement("DXE_SAL_DRIVER");\r
         vFrameworkModuleTypes.addElement("DXE_SMM_DRIVER");\r
-        vFrameworkModuleTypes.addElement("TOOL");\r
         vFrameworkModuleTypes.addElement("UEFI_DRIVER");\r
         vFrameworkModuleTypes.addElement("UEFI_APPLICATION");\r
         vFrameworkModuleTypes.addElement("USER_DEFINED");\r
@@ -417,7 +443,7 @@ public class EnumerationData {
             vLibClassDef.addElement(vLibClassDefUefiDriver.elementAt(index));\r
         }\r
     }\r
-    \r
+\r
     private void initLibClassDefBase() {\r
         vLibClassDefBase.removeAllElements();\r
         vLibClassDefBase.addElement("BaseLib");\r
@@ -436,12 +462,12 @@ public class EnumerationData {
         vLibClassDefBase.addElement("SmbusLib");\r
         vLibClassDefBase.addElement("TimerLib");\r
     }\r
-    \r
+\r
     private void initLibClassDefPei() {\r
         vLibClassDefPei.removeAllElements();\r
         vLibClassDefPei.addElement("PeiCoreEntryPoint");\r
     }\r
-    \r
+\r
     private void initLibClassDefPeim() {\r
         vLibClassDefPeim.removeAllElements();\r
         vLibClassDefPeim.addElement("BaseMemoryLib");\r
@@ -457,13 +483,13 @@ public class EnumerationData {
         vLibClassDefPeim.addElement("ResourcePublicationLib");\r
         vLibClassDefPeim.addElement("SmbusLib");\r
     }\r
-    \r
+\r
     private void initLibClassDefDxeCore() {\r
         vLibClassDefDxeCore.removeAllElements();\r
         vLibClassDefDxeCore.addElement("DxeCoreEntryPoint");\r
         vLibClassDefDxeCore.addElement("HobLib");\r
     }\r
-    \r
+\r
     private void initLibClassDefDxeDriver() {\r
         vLibClassDefDxeDriver.removeAllElements();\r
         vLibClassDefDxeDriver.addElement("DxeServicesTableLib");\r
@@ -478,12 +504,12 @@ public class EnumerationData {
         vLibClassDefDxeDriver.addElement("UefiDecompressLib");\r
         vLibClassDefDxeDriver.addElement("UefiRuntimeServicesTableLib");\r
     }\r
-    \r
+\r
     private void initLibClassDefDxeSmmDriver() {\r
         vLibClassDefDxeSmmDriver.removeAllElements();\r
         vLibClassDefDxeSmmDriver.addElement("DxeSmmDriverEntryPoint");\r
     }\r
-    \r
+\r
     private void initLibClassDefUefiDriver() {\r
         vLibClassDefUefiDriver.removeAllElements();\r
         vLibClassDefUefiDriver.addElement("BaseMemoryLib");\r
@@ -493,14 +519,14 @@ public class EnumerationData {
         vLibClassDefUefiDriver.addElement("UefiDriverModelLib");\r
         vLibClassDefUefiDriver.addElement("UefiLib");\r
     }\r
-    \r
+\r
     private void initSourceFilesToolChainFamily() {\r
         vSourceFilesToolChainFamily.removeAllElements();\r
         vSourceFilesToolChainFamily.addElement("MSFT");\r
         vSourceFilesToolChainFamily.addElement("INTC");\r
         vSourceFilesToolChainFamily.addElement("GCC");\r
     }\r
-    \r
+\r
     private void initSourceFilesFileType() {\r
         vSourceFilesFileType.removeAllElements();\r
         vSourceFilesFileType.addElement("CCODE");\r
@@ -517,23 +543,23 @@ public class EnumerationData {
         vSourceFilesFileType.addElement("FFS");\r
         vSourceFilesFileType.addElement("EFI");\r
     }\r
-    \r
+\r
     private void initToolCode() {\r
         vToolCode.removeAllElements();\r
         vToolCode.addElement(DataType.EMPTY_SELECT_ITEM);\r
-//        vToolCode.addElement("Build_CCode");\r
-//        vToolCode.addElement("Build_AUTOGEN");\r
-//        vToolCode.addElement("Build_DPX");\r
-//        vToolCode.addElement("Build_ASM");\r
-//        vToolCode.addElement("Build_Assembly");\r
-//        vToolCode.addElement("Build_Gcc_Assembly");\r
-//        vToolCode.addElement("Build_IPF_Assembly_Code");\r
-//        vToolCode.addElement("Build_IPF_PP_Code");\r
-//        vToolCode.addElement("Build_Library");\r
-//        vToolCode.addElement("Build_UNI");\r
-//        vToolCode.addElement("Build_Unicode_Database");\r
-//        vToolCode.addElement("Build_VFR");\r
-//        vToolCode.addElement("Build_DUMMY");\r
+        //        vToolCode.addElement("Build_CCode");\r
+        //        vToolCode.addElement("Build_AUTOGEN");\r
+        //        vToolCode.addElement("Build_DPX");\r
+        //        vToolCode.addElement("Build_ASM");\r
+        //        vToolCode.addElement("Build_Assembly");\r
+        //        vToolCode.addElement("Build_Gcc_Assembly");\r
+        //        vToolCode.addElement("Build_IPF_Assembly_Code");\r
+        //        vToolCode.addElement("Build_IPF_PP_Code");\r
+        //        vToolCode.addElement("Build_Library");\r
+        //        vToolCode.addElement("Build_UNI");\r
+        //        vToolCode.addElement("Build_Unicode_Database");\r
+        //        vToolCode.addElement("Build_VFR");\r
+        //        vToolCode.addElement("Build_DUMMY");\r
         vToolCode.addElement("CC");\r
         vToolCode.addElement("DLINK");\r
         vToolCode.addElement("SLINK");\r
@@ -542,52 +568,52 @@ public class EnumerationData {
         vToolCode.addElement("ASMLINK");\r
         vToolCode.addElement("ASL");\r
     }\r
-    \r
+\r
     private void initPackageUsage() {\r
         vPackageUsage.removeAllElements();\r
-        vPackageUsage.addElement("ALWAYS_CONSUMED");\r
-        vPackageUsage.addElement("ALWAYS_PRODUCED");\r
+        vPackageUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vPackageUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
     }\r
-    \r
+\r
     private void initProtocolUsage() {\r
         vProtocolUsage.removeAllElements();\r
-        vProtocolUsage.addElement("ALWAYS_CONSUMED");\r
-        vProtocolUsage.addElement("SOMETIMES_CONSUMED");\r
-        vProtocolUsage.addElement("ALWAYS_PRODUCED");\r
-        vProtocolUsage.addElement("SOMETIMES_PRODUCED");\r
-        vProtocolUsage.addElement("TO_START");\r
-        vProtocolUsage.addElement("BY_START");\r
-        vProtocolUsage.addElement("PRIVATE");\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_TO_START);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_BY_START);\r
+        vProtocolUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initProtocolType() {\r
         vProtocolType.removeAllElements();\r
-        vProtocolType.addElement("Protocol");\r
-        vProtocolType.addElement("Protocol Notify");\r
+        vProtocolType.addElement(DataType.PROTOCOL_TYPE_PROTOCOL);\r
+        vProtocolType.addElement(DataType.PROTOCOL_TYPE_PROTOCOL_NOTIFY);\r
     }\r
-    \r
+\r
     private void initEventType() {\r
         vEventType.removeAllElements();\r
         vEventType.addElement("CreateEvents");\r
         vEventType.addElement("SignalEvents");\r
     }\r
-    \r
+\r
     private void initEventUsage() {\r
         vEventUsage.removeAllElements();\r
-        vEventUsage.addElement("ALWAYS_CONSUMED");\r
-        vEventUsage.addElement("SOMETIMES_CONSUMED");\r
-        vEventUsage.addElement("ALWAYS_PRODUCED");\r
-        vEventUsage.addElement("SOMETIMES_PRODUCED");\r
-        vEventUsage.addElement("PRIVATE");\r
+        vEventUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vEventUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vEventUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vEventUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vEventUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initEventGroup() {\r
         vEventGroup.removeAllElements();\r
         vEventGroup.addElement("EVENT_GROUP_GUID");\r
         vEventGroup.addElement("EVENT_TYPE_PERIODIC_TIMER");\r
         vEventGroup.addElement("EVENT_TYPE_RELATIVE_TIMER");\r
     }\r
-    \r
+\r
     private void initHobType() {\r
         vHobType.removeAllElements();\r
         vHobType.addElement("PHIT");\r
@@ -599,121 +625,131 @@ public class EnumerationData {
         vHobType.addElement("POOL");\r
         vHobType.addElement("CAPSULE_VOLUME");\r
     }\r
-    \r
+\r
     private void initHobUsage() {\r
         vHobUsage.removeAllElements();\r
-        vHobUsage.addElement("ALWAYS_CONSUMED");\r
-        vHobUsage.addElement("SOMETIMES_CONSUMED");\r
-        vHobUsage.addElement("ALWAYS_PRODUCED");\r
-        vHobUsage.addElement("SOMETIMES_PRODUCED");\r
-        vHobUsage.addElement("PRIVATE");\r
+        vHobUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vHobUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vHobUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vHobUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vHobUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initPpiType() {\r
         vPpiType.removeAllElements();\r
-        vPpiType.addElement("Ppi");\r
-        vPpiType.addElement("Ppi Notify");\r
+        vPpiType.addElement(DataType.PPI_TYPE_PPI);\r
+        vPpiType.addElement(DataType.PPI_TYPE_PPI_NOTIFY);\r
     }\r
-    \r
+\r
     private void initPpiUsage() {\r
         vPpiUsage.removeAllElements();\r
-        vPpiUsage.addElement("ALWAYS_CONSUMED");\r
-        vPpiUsage.addElement("SOMETIMES_CONSUMED");\r
-        vPpiUsage.addElement("ALWAYS_PRODUCED");\r
-        vPpiUsage.addElement("SOMETIMES_PRODUCED");\r
-        vPpiUsage.addElement("PRIVATE");\r
+        vPpiUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vPpiUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vPpiUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vPpiUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vPpiUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initPpiNotifyUsage() {\r
         vPpiNotifyUsage.removeAllElements();\r
-        vPpiNotifyUsage.addElement("SOMETIMES_CONSUMED");\r
+        vPpiNotifyUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
     }\r
-    \r
+\r
     private void initProtocolNotifyUsage() {\r
-        vProtocolNotifyUsage.addElement("SOMETIMES_CONSUMED");\r
+        vProtocolNotifyUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
     }\r
-    \r
+\r
     private void initVariableUsage() {\r
         vVariableUsage.removeAllElements();\r
-        vVariableUsage.addElement("ALWAYS_CONSUMED");\r
-        vVariableUsage.addElement("SOMETIMES_CONSUMED");\r
-        vVariableUsage.addElement("ALWAYS_PRODUCED");\r
-        vVariableUsage.addElement("SOMETIMES_PRODUCED");\r
-        vVariableUsage.addElement("PRIVATE");\r
+        vVariableUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vVariableUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vVariableUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vVariableUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vVariableUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initBootModeNames() {\r
         vBootModeNames.removeAllElements();\r
         vBootModeNames.addElement("FULL");\r
         vBootModeNames.addElement("MINIMAL");\r
         vBootModeNames.addElement("NO_CHANGE");\r
         vBootModeNames.addElement("DIAGNOSTICS");\r
+        vBootModeNames.addElement("DEFAULT");\r
         vBootModeNames.addElement("S2_RESUME");\r
         vBootModeNames.addElement("S3_RESUME");\r
         vBootModeNames.addElement("S4_RESUME");\r
         vBootModeNames.addElement("S5_RESUME");\r
         vBootModeNames.addElement("FLASH_UPDATE");\r
-        vBootModeNames.addElement("RECOVERY");\r
+        vBootModeNames.addElement("RECOVERY_FULL");\r
+        vBootModeNames.addElement("RECOVERY_MINIMAL");\r
+        vBootModeNames.addElement("RECOVERY_NO_CHANGE");\r
+        vBootModeNames.addElement("RECOVERY_DIAGNOSTICS");\r
+        vBootModeNames.addElement("RECOVERY_DEFAULT");\r
+        vBootModeNames.addElement("RECOVERY_S2_RESUME");\r
+        vBootModeNames.addElement("RECOVERY_S3_RESUME");\r
+        vBootModeNames.addElement("RECOVERY_S4_RESUME");\r
+        vBootModeNames.addElement("RECOVERY_S5_RESUME");\r
+        vBootModeNames.addElement("RECOVERY_FLASH_UPDATE");\r
     }\r
-    \r
+\r
     private void initBootModeUsage() {\r
         vBootModeUsage.removeAllElements();\r
-        vBootModeUsage.addElement("ALWAYS_CONSUMED");\r
-        vBootModeUsage.addElement("SOMETIMES_CONSUMED");\r
-        vBootModeUsage.addElement("ALWAYS_PRODUCED");\r
-        vBootModeUsage.addElement("SOMETIMES_PRODUCED");\r
+        vBootModeUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vBootModeUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vBootModeUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vBootModeUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
     }\r
-    \r
+\r
     private void initSystemTableUsage() {\r
         vSystemTableUsage.removeAllElements();\r
-        vSystemTableUsage.addElement("ALWAYS_CONSUMED");\r
-        vSystemTableUsage.addElement("SOMETIMES_CONSUMED");\r
-        vSystemTableUsage.addElement("ALWAYS_PRODUCED");\r
-        vSystemTableUsage.addElement("SOMETIMES_PRODUCED");\r
-        vSystemTableUsage.addElement("PRIVATE");\r
+        vSystemTableUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vSystemTableUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vSystemTableUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vSystemTableUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vSystemTableUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initDataHubUsage() {\r
         vDataHubUsage.removeAllElements();\r
-        vDataHubUsage.addElement("ALWAYS_CONSUMED");\r
-        vDataHubUsage.addElement("SOMETIMES_CONSUMED");\r
-        vDataHubUsage.addElement("ALWAYS_PRODUCED");\r
-        vDataHubUsage.addElement("SOMETIMES_PRODUCED");\r
-        vDataHubUsage.addElement("PRIVATE");\r
+        vDataHubUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vDataHubUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vDataHubUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vDataHubUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vDataHubUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initHiiPackages() {\r
         vHiiPackageUsage.removeAllElements();\r
-        vHiiPackageUsage.addElement("ALWAYS_PRODUCED");\r
-        vHiiPackageUsage.addElement("SOMETIMES_PRODUCED");\r
-        vHiiPackageUsage.addElement("PRIVATE");\r
+        vHiiPackageUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vHiiPackageUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vHiiPackageUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initGuidUsage() {\r
         vGuidUsage.removeAllElements();\r
-        vGuidUsage.addElement("ALWAYS_CONSUMED");\r
-        vGuidUsage.addElement("SOMETIMES_CONSUMED");\r
-        vGuidUsage.addElement("ALWAYS_PRODUCED");\r
-        vGuidUsage.addElement("SOMETIMES_PRODUCED");\r
-        vGuidUsage.addElement("PRIVATE");\r
+        vGuidUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vGuidUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vGuidUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vGuidUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
+        vGuidUsage.addElement(DataType.USAGE_TYPE_PRIVATE);\r
     }\r
-    \r
+\r
     private void initExternTypes() {\r
         vExternTypes.removeAllElements();\r
-        \r
+\r
         vExternTypes.addElement(EnumerationData.EXTERNS_SPECIFICATION);\r
         vExternTypes.addElement(EnumerationData.EXTERNS_IMAGE);\r
         vExternTypes.addElement(EnumerationData.EXTERNS_DRIVER);\r
         vExternTypes.addElement(EnumerationData.EXTERNS_LIBRARY);\r
         vExternTypes.addElement(EnumerationData.EXTERNS_CALL_BACK);\r
     }\r
-    \r
+\r
     private void initPcdDriverTypes() {\r
-        vPcdDriverTypes.removeAllElements();        \r
+        vPcdDriverTypes.removeAllElements();\r
         vPcdDriverTypes.addElement("PEI_PCD_DRIVER");\r
         vPcdDriverTypes.addElement("DXE_PCD_DRIVER");\r
     }\r
-    \r
+\r
     private void initPcdItemTypes() {\r
         vPcdItemTypes.removeAllElements();\r
         vPcdItemTypes.addElement(DataType.PCD_ITEM_TYPE_FEATURE_FLAG);\r
@@ -722,15 +758,21 @@ public class EnumerationData {
         vPcdItemTypes.addElement(DataType.PCD_ITEM_TYPE_DYNAMIC);\r
         vPcdItemTypes.addElement(DataType.PCD_ITEM_TYPE_DYNAMIC_EX);\r
     }\r
-    \r
+\r
     private void initPcdUsage() {\r
         vPcdUsage.removeAllElements();\r
-        vPcdUsage.addElement("ALWAYS_CONSUMED");\r
-        vPcdUsage.addElement("SOMETIMES_CONSUMED");\r
-        vPcdUsage.addElement("ALWAYS_PRODUCED");\r
-        vPcdUsage.addElement("SOMETIMES_PRODUCED");\r
+        vPcdUsage.addElement(DataType.USAGE_TYPE_ALWAYS_CONSUMED);\r
+        vPcdUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_CONSUMED);\r
+        vPcdUsage.addElement(DataType.USAGE_TYPE_ALWAYS_PRODUCED);\r
+        vPcdUsage.addElement(DataType.USAGE_TYPE_SOMETIMES_PRODUCED);\r
     }\r
     \r
+    private void initBuildTargets() {\r
+        vBuildTargets.removeAllElements();\r
+        vBuildTargets.addElement(EnumerationData.BUILD_TARGET_DEBUG);\r
+        vBuildTargets.addElement(EnumerationData.BUILD_TARGET_RELEASE);\r
+    }\r
+\r
     public Vector<String> getvCompontentType() {\r
         return vCompontentType;\r
     }\r
@@ -1070,4 +1112,12 @@ public class EnumerationData {
     public void setVPcdUsage(Vector<String> pcdUsage) {\r
         vPcdUsage = pcdUsage;\r
     }\r
+\r
+    public Vector<String> getVBuildTargets() {\r
+        return vBuildTargets;\r
+    }\r
+\r
+    public void setVBuildTargets(Vector<String> buildTargets) {\r
+        vBuildTargets = buildTargets;\r
+    }\r
 }\r