package org.jactr.tools.grapher.core.probe; /* * default logging */ import java.util.concurrent.Executor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.chunk.IChunk; import org.jactr.core.event.IParameterEvent; import org.jactr.core.event.IParameterListener; import org.jactr.core.utils.parameter.IParameterized; public class ChunkProbe extends AbstractParameterizedProbe<IChunk> { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(ChunkProbe.class); private IParameterListener _listener; public ChunkProbe(String name, IChunk parameterized) { super(name, parameterized); } @Override public void install(IChunk parameterized, Executor executor) { if (isPolling()) return; _listener = new IParameterListener() { public void parameterChanged(IParameterEvent pe) { set(pe.getParameterName(), pe.getNewParameterValue()); } }; parameterized.addListener(_listener, executor); } @Override protected AbstractParameterizedProbe<IChunk> newInstance( IChunk parameterized) { return new ChunkProbe(parameterized.getSymbolicChunk().getName(), parameterized); } @Override protected IParameterized asParameterized(IChunk parameterizedObject) { return parameterizedObject.getSubsymbolicChunk(); } }