package org.jactr.core.production.bindings;
/*
* default logging
*/
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 BindingFactory
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(BindingFactory.class);
static private RecyclableFactory<Object[]> _factory = new AbstractThreadLocalRecyclableFactory<Object[]>(
100) {
@Override
protected void cleanUp(
Object[] obj)
{
obj[0] = null;
obj[1] = null;
}
@Override
protected Object[] instantiate(
Object... params)
{
return new Object[2];
}
@Override
protected void release(
Object[] obj)
{
}
};
static public Object[] newInstance(Object variable, Object variableSource)
{
Object[] rtn = _factory.newInstance();
rtn[0] = variable;
rtn[1] = variableSource;
return rtn;
}
static public void recycle(Object[] set)
{
_factory.recycle(set);
}
}