package org.jactr.core.module.declarative.basic.chunk;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jactr.core.chunk.IChunk;
import org.jactr.core.chunk.ISubsymbolicChunk;
import org.jactr.core.chunk.ISymbolicChunk;
import org.jactr.core.chunk.basic.DefaultChunk;
import org.jactr.core.model.IModel;
public class DefaultChunkFactory implements IChunkFactory
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(DefaultChunkFactory.class);
public IChunk newChunk(IModel model)
{
return new DefaultChunk(model);
}
public void bind(IChunk chunk, ISymbolicChunk symbolic,
ISubsymbolicChunk subsymbolic)
{
DefaultChunk c5 = (DefaultChunk) chunk;
c5.bind(symbolic, subsymbolic);
}
public void unbind(IChunk chunk, ISymbolicChunk symbolic,
ISubsymbolicChunk subsymbolic)
{
DefaultChunk c5 = (DefaultChunk) chunk;
c5.bind(null, null);
}
public void dispose(IChunk chunk)
{
chunk.dispose();
}
public void merge(IChunk master, IChunk mergie)
{
DefaultChunk m = (DefaultChunk) master;
DefaultChunk s = (DefaultChunk) mergie;
s.mergeInto(m);
/*
* still need to do the bindings
*/
}
public void copy(IChunk source, IChunk destination)
{
for (String key : source.getMetaDataKeys())
destination.setMetaData(key, source.getMetaData(key));
destination.setMetaData(COPIED_FROM_KEY, source);
}
}