当前位置: 首页>>代码示例>>Java>>正文


Java IDatabaseFactory类代码示例

本文整理汇总了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>();
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:18,代码来源:AnalysisCache.java

示例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);
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:31,代码来源:AnalysisCache.java

示例3: registerDatabaseFactory

import edu.umd.cs.findbugs.classfile.IDatabaseFactory; //导入依赖的package包/类
public <E> void registerDatabaseFactory(Class<E> databaseClass, IDatabaseFactory<E> databaseFactory) {
    databaseFactoryMap.put(databaseClass, databaseFactory);
}
 
开发者ID:ytus,项目名称:findbugs-all-the-bugs,代码行数:4,代码来源:AnalysisCache.java


注:本文中的edu.umd.cs.findbugs.classfile.IDatabaseFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。