package org.jactr.core.module.declarative.basic.chunk; /* * default logging */ import org.jactr.core.chunk.IChunk; import org.jactr.core.chunk.ISymbolicChunk; import org.jactr.core.chunktype.IChunkType; /** * factory for the creation, binding, and destruction of theoretically motivated * symbolic chunk components * * @author harrison */ public interface ISymbolicChunkFactory { public ISymbolicChunk newSymbolicChunk(); public void bind(ISymbolicChunk symbolicChunk, IChunk chunkWrapper, IChunkType type); /** * merge the copy into the master * * @param master * @param copy */ public void merge(ISymbolicChunk master, ISymbolicChunk copy); public void unbind(ISymbolicChunk symbolicChunk); public void dispose(ISymbolicChunk symbolicChunk); /** * copy symbolic elements * * @param source * @param destination */ public void copy(ISymbolicChunk source, ISymbolicChunk destination); }