本文整理汇总了Java中edu.umd.cs.findbugs.classfile.IDatabaseFactory类的典型用法代码示例。如果您正苦于以下问题:Java IDatabaseFactory类的具体用法?Java IDatabaseFactory怎么用?Java IDatabaseFactory使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IDatabaseFactory类属于edu.umd.cs.findbugs.classfile包,在下文中一共展示了IDatabaseFactory类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: AnalysisCache
import edu.umd.cs.findbugs.classfile.IDatabaseFactory; //导入依赖的package包/类
/**
* Constructor.
*
* @param classPath
* the IClassPath to load resources from
* @param errorLogger
* the IErrorLogger
*/
AnalysisCache(IClassPath classPath, BugReporter errorLogger) {
this.classPath = classPath;
this.bugReporter = errorLogger;
this.classAnalysisEngineMap = new HashMap<Class<?>, IClassAnalysisEngine<?>>();
this.methodAnalysisEngineMap = new HashMap<Class<?>, IMethodAnalysisEngine<?>>();
this.databaseFactoryMap = new HashMap<Class<?>, IDatabaseFactory<?>>();
this.classAnalysisMap = new HashMap<Class<?>, Map<ClassDescriptor, Object>>();
this.databaseMap = new HashMap<Class<?>, Object>();
}
示例2: getDatabase
import edu.umd.cs.findbugs.classfile.IDatabaseFactory; //导入依赖的package包/类
public <E> E getDatabase(Class<E> databaseClass, boolean optional) {
Object database = databaseMap.get(databaseClass);
if (database == null) {
try {
// Find the database factory
IDatabaseFactory<?> databaseFactory = databaseFactoryMap.get(databaseClass);
if (databaseFactory == null) {
if (optional) return null;
throw new IllegalArgumentException("No database factory registered for " + databaseClass.getName());
}
// Create the database
database = databaseFactory.createDatabase();
} catch (CheckedAnalysisException e) {
// Error - record the analysis error
database = new AbnormalAnalysisResult(e);
}
// FIXME: should catch and re-throw RuntimeExceptions?
databaseMap.put(databaseClass, database);
}
if (database instanceof AbnormalAnalysisResult) {
throw new UncheckedAnalysisException("Error instantiating " + databaseClass.getName() + " database",
((AbnormalAnalysisResult) database).checkedAnalysisException);
}
return databaseClass.cast(database);
}
示例3: registerDatabaseFactory
import edu.umd.cs.findbugs.classfile.IDatabaseFactory; //导入依赖的package包/类
public <E> void registerDatabaseFactory(Class<E> databaseClass, IDatabaseFactory<E> databaseFactory) {
databaseFactoryMap.put(databaseClass, databaseFactory);
}