cachingpool.java

来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 47 行

JAVA
47
字号
package org.codehaus.xfire.util.factory;

/**
 * A thread-unsafe implementation of Pool that does simple caching.
 * <p>
 * 
 * @author Ben Yu Feb 2, 2006 12:13:08 PM
 */
public class CachingPool
    implements Pool
{
    private transient Object v = null;

    private transient boolean pooled = false;

    private void readObject(java.io.ObjectInputStream in)
        throws ClassNotFoundException, java.io.IOException
    {
        in.defaultReadObject();
        this.pooled = false;
    }

    public Object getInstance(Factory factory)
        throws Throwable
    {
        if (!pooled)
        {
            v = factory.create();
            pooled = true;
        }
        return v;
    }

    public Object getPooledInstance(Object def)
    {
        return pooled ? v : def;
    }

    /**
     * Is this pool currently having something in cache?
     */
    public boolean isPooled()
    {
        return pooled;
    }
}

⌨️ 快捷键说明

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