import org.tianocore.LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass;\r
\r
public final class Database {\r
- private static final Database INSTANCE = null;\r
+ private static final Database INSTANCE = Database.init();;\r
\r
Database(String path) {\r
DatabasePath = path;\r
}\r
\r
public static final Database getInstance() {\r
- if (INSTANCE == null) {\r
- Database.init();\r
- }\r
return INSTANCE;\r
}\r
\r
\r
\r
- private static String workspacePath;\r
- private static HashMap<String, String> hashDbGuids = new HashMap<String, String>();\r
- private static HashMap<String, String> hashDbPpis = new HashMap<String, String>();\r
- private static HashMap<String, String> hashDbProtocols = new HashMap<String, String>();\r
- private static HashMap<String, String> hashDbLibSymbols = new HashMap<String, String>();\r
- private static HashMap<String, String> hashDbLibFunctions = new HashMap<String, String>();\r
- private static HashMap<String, String> hashDbLibExterns = new HashMap<String, String>();\r
+ private String workspacePath;\r
+ private HashMap<String, String> hashDbGuids = new HashMap<String, String>();\r
+ private HashMap<String, String> hashDbPpis = new HashMap<String, String>();\r
+ private HashMap<String, String> hashDbProtocols = new HashMap<String, String>();\r
+ private HashMap<String, String> hashDbLibSymbols = new HashMap<String, String>();\r
+ private HashMap<String, String> hashDbLibFunctions = new HashMap<String, String>();\r
+ private HashMap<String, String> hashDbLibExterns = new HashMap<String, String>();\r
\r
- private static final String regLibClassName = ".*\\W(\\w[\\w\\d]*)\\.h";\r
- private static final Pattern ptnLibClassName = Pattern.compile(regLibClassName);\r
+ private final String regLibClassName = ".*\\W(\\w[\\w\\d]*)\\.h";\r
+ private final Pattern ptnLibClassName = Pattern.compile(regLibClassName);\r
\r
- private static final String regLibSymbol = "#define\\s+(\\w[\\w\\d]*)";\r
- private static final Pattern ptnLibSymbol = Pattern.compile(regLibSymbol);\r
+ private final String regLibSymbol = "#define\\s+(\\w[\\w\\d]*)";\r
+ private final Pattern ptnLibSymbol = Pattern.compile(regLibSymbol);\r
\r
- private static final String regLibDataType = "[A-Z][A-Z0-9_]*\\s*\\**";\r
- private static final String regLibFunction = regLibDataType + "\\s*(?:EFIAPI)?\\s+" + \r
+ private final String regLibDataType = "[A-Z][A-Z0-9_]*\\s*\\**";\r
+ private final String regLibFunction = regLibDataType + "\\s*(?:EFIAPI)?\\s+" + \r
"(\\w[\\w\\d]*)\\s*\\([^)]*\\)\\s*;";\r
- private static final Pattern ptnLibFunction = Pattern.compile(regLibFunction);\r
+ private Pattern ptnLibFunction = Pattern.compile(regLibFunction);\r
\r
- private static final String regLibExtern = "extern\\s+" + regLibDataType + \r
+ private final String regLibExtern = "extern\\s+" + regLibDataType + \r
"\\s*(\\w[\\w\\d]*)";\r
- private static final Pattern ptnLibExtern = Pattern.compile(regLibExtern);\r
+ private final Pattern ptnLibExtern = Pattern.compile(regLibExtern);\r
\r
- private static final String convertToOsFilePath(String filePath) {\r
+ private final String convertToOsFilePath(String filePath) {\r
return filePath.replace("/", File.separator).replace("\\", File.separator);\r
}\r
- private static final void collectLibHeaderFileInfo(String libHeaderFile, String pkgGuid) throws Exception {\r
+ private final void collectLibHeaderFileInfo(String libHeaderFile, String pkgGuid) throws Exception {\r
String fileContents;\r
String libClassName;\r
String libContainer;\r
}\r
}\r
}\r
- private static final void collectLibDataBase(PackageSurfaceArea spdDatabase, String pkgDirectory) throws Exception {\r
+ private final void collectLibDataBase(PackageSurfaceArea spdDatabase, String pkgDirectory) throws Exception {\r
String pkgGuid;\r
LibraryClassDeclarations libClassDeclarations;\r
\r
}\r
}\r
}\r
- private static final void collectGuidDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
+ private final void collectGuidDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
String pkgGuid;\r
GuidDeclarations guidDeclarations;\r
\r
\r
}\r
\r
- private static final void collectPpiDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
+ private final void collectPpiDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
String pkgGuid;\r
PpiDeclarations ppiDeclarations;\r
\r
\r
}\r
\r
- private static final void collectProtocolDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
+ private final void collectProtocolDatabase(PackageSurfaceArea spdDatabase) throws Exception {\r
String pkgGuid;\r
ProtocolDeclarations protocolDeclarations;\r
\r
\r
}\r
\r
- private static final void collectPackageDatabase(String packageFileName) throws Exception {\r
+ private final void collectPackageDatabase(String packageFileName) throws Exception {\r
XmlObject xmlPackage;\r
PackageSurfaceArea spdDatabase;\r
File pkgFile;\r
\r
\r
}\r
- public static final void collectWorkSpaceDatabase() throws Exception {\r
+ public final void collectWorkSpaceDatabase() throws Exception {\r
String databaseFileName;\r
File databaseFile;\r
XmlObject xmlDatabase;\r