package org.jactr.tools.masterslave.slave; /* * default logging */ import java.util.Collection; import java.util.Collections; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.extensions.IExtension; import org.jactr.core.model.IModel; import org.jactr.core.model.IllegalModelStateException; import org.jactr.core.slot.IUniqueSlotContainer; import org.jactr.tools.masterslave.master.MasterExtension; public class SlaveExtension implements IExtension { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(SlaveExtension.class); private IModel _model; private MasterExtension _master; static public SlaveExtension getSlaveExtension(IModel model) { return (SlaveExtension) model.getExtension(SlaveExtension.class); } public void setMaster(MasterExtension master) { _master = master; } public MasterExtension getMaster() { return _master; } public IUniqueSlotContainer getVariables() { if (_master == null) return null; return _master.getSlaveVariables(_model.getName()); } public IModel getModel() { return _model; } public String getName() { return "slave"; } public void install(IModel model) { _model = model; if (true) throw new IllegalModelStateException( String .format( "%s is currently nonfunctional until the underlying clock wrapper can be updated.", getClass().getSimpleName())); // _model.addListener(_modelListener, ExecutorServices.INLINE_EXECUTOR); } public void uninstall(IModel model) { // _model.removeListener(_modelListener); _model = null; } public String getParameter(String key) { return null; } public Collection<String> getPossibleParameters() { return getSetableParameters(); } public Collection<String> getSetableParameters() { return Collections.EMPTY_LIST; } public void setParameter(String key, String value) { } public void initialize() throws Exception { } }