package org.jactr.modules.general; /* * default logging */ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.buffer.IActivationBuffer; import org.jactr.core.buffer.six.BasicBuffer6; import org.jactr.core.module.AbstractModule; import org.jactr.core.utils.parameter.IParameterized; public class GeneralBufferModule extends AbstractModule implements IParameterized { static public final String BUFFER_NAMES_PARAM = "BufferNames"; /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(GeneralBufferModule.class); private Set<String> _buffersToContribute = new HashSet<String>(); public GeneralBufferModule() { super("buffer"); } @Override protected Collection<IActivationBuffer> createBuffers() { ArrayList<IActivationBuffer> buffers = new ArrayList<IActivationBuffer>(); for (String bufferName : _buffersToContribute) buffers.add(new BasicBuffer6(bufferName, this)); return buffers; } @Override public void initialize() { } public void reset() { } public String getParameter(String key) { return null; } public Collection<String> getPossibleParameters() { return Collections.singleton(BUFFER_NAMES_PARAM); } public Collection<String> getSetableParameters() { return getPossibleParameters(); } public void setParameter(String key, String value) { if (BUFFER_NAMES_PARAM.equalsIgnoreCase(key)) { String[] buffers = value.split(","); for (String buffer : buffers) { buffer = buffer.trim(); if (buffer.length() != 0) _buffersToContribute.add(buffer); } } } }