package org.jactr.core.utils.collections;
/*
* default logging
*/
import javolution.util.FastSet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jactr.core.utils.recyclable.AbstractThreadLocalRecyclableFactory;
import org.jactr.core.utils.recyclable.RecyclableFactory;
public class FastSetFactory
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(FastSetFactory.class);
static private RecyclableFactory<FastSet> _factory = new AbstractThreadLocalRecyclableFactory<FastSet>() {
@SuppressWarnings({
"unchecked", "rawtypes" })
@Override
protected void cleanUp(
FastSet obj)
{
obj.clear();
}
@Override
protected FastSet instantiate(
Object... params)
{
return FastSet
.newInstance();
}
@Override
protected void release(
FastSet obj)
{
FastSet.recycle(obj);
}
};
static public FastSet newInstance()
{
return _factory.newInstance();
}
static public void recycle(FastSet set)
{
_factory.recycle(set);
}
}