classfieldextractorcache.java

来自「jboss规则引擎」· Java 代码 · 共 33 行

JAVA
33
字号
package org.drools.base;

import java.util.HashMap;
import java.util.Map;

/**
 * As class field Extractors have some cost to generate
 * (inspecting the class, and generating classes via ASM)
 * it makes sense to cache them.
 * This is that cache.
 * 
 * @author Michael Neale
 *
 */
public class ClassFieldExtractorCache {
    private Map cache;
    
    public ClassFieldExtractorCache(  ) {
        this.cache = new HashMap();
    }
    
    public ClassFieldExtractor getExtractor(Class clazz, String fieldName) {
        String key = clazz.getName() + "|" + fieldName;
        if (this.cache.containsKey( key )) {
            return (ClassFieldExtractor) cache.get( key );
        } else {
            ClassFieldExtractor ex = new ClassFieldExtractor(clazz, fieldName);
            cache.put( key, ex );
            return ex;
        }        
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?