/** * Add AgentShutdownListener. * * @param listener listener to detect to Agent Shutdown */ public void addListener(AgentShutDownListener listener) { m_listeners.add(listener); }
private void setInternalState(InternalState newState) { synchronized (this) { m_state = newState; } m_listeners.apply(new ListenerSupport.Informer<Listener>() { public void inform(Listener l) { l.stateChanged(); } }); }
public void removeThreadLifeCycleListener(ThreadLifeCycleListener listener) { m_threadLifeCycleListeners.remove(listener); }
/** * Reset all shutdown listener. */ public void resetListeners() { final ListenerSupport<AgentShutDownListener> backup = new ListenerSupport<AgentDaemon.AgentShutDownListener>(); getListeners().apply(new Informer<AgentShutDownListener>() { public void inform(AgentShutDownListener listener) { backup.add(listener); } }); backup.apply(new Informer<AgentShutDownListener>() { public void inform(AgentShutDownListener listener) { getListeners().remove(listener); } }); }
/** * Create a listener instance. * * @param <T> listener type. * @return created listener */ public static <T> ListenerSupport<T> create() { return new ListenerSupport<T>(); } }
/** * Notify the listeners of an event. * * @param informer An adapter to be applied to each listener. */ public void apply(Informer<? super T> informer) { for (T listener : cloneListenerList()) { informer.inform(listener); } }
/** * Get the listener list for a particular connection type. */ private ListenerSupport<Listener> getListeners( ConnectionType connectionType) { synchronized (m_listenerMap) { final ListenerSupport<Listener> original = m_listenerMap.get(connectionType); if (original != null) { return original; } else { final ListenerSupport<Listener> newList = new ListenerSupport<Listener>(); m_listenerMap.put(connectionType, newList); return newList; } } }
/** * Notify the listeners of an event. * * @param handler An adapter to be applied to each listener. * @return <code>true</code> => a listener handled the event. */ public boolean apply(HandlingInformer<? super T> handler) { for (T listener : cloneListenerList()) { if (handler.inform(listener)) { return true; } } return false; }
public void fireEndRunEvent() { m_threadLifeCycleListeners .apply(new Informer<ThreadLifeCycleListener>() { public void inform(ThreadLifeCycleListener l) { l.endRun(); } }); }
/** * Add a new model listener. * * @param listener The listener. */ public void addModelListener(Listener listener) { m_listeners.add(listener); }
public void inform(AgentShutDownListener listener) { getListeners().remove(listener); } });
@Override public void threadCreated(final ThreadContext threadContext) { m_processLifeCycleListeners.apply(new Informer<ProcessLifeCycleListener>() { @Override public void inform(final ProcessLifeCycleListener listener) { listener.threadCreated(threadContext); } }); }
/** * Add sampling listener. * * @param listener sample listener */ public void addSampleListener(SampleListener listener) { m_listeners.add(listener); }
/** * {@inheritDoc} */ @Override public void removeListener(Listener listener) { m_listeners.remove(listener); }
@Override public void threadStarted(final ThreadContext threadContext) { m_processLifeCycleListeners.apply(new Informer<ProcessLifeCycleListener>() { @Override public void inform(final ProcessLifeCycleListener listener) { listener.threadStarted(threadContext); } }); } };
/** * Add the given {@link SamplingLifeCycleListener} to get notified when * sampling is started and ended. * * @param listener listener to be registered. */ public void addSamplingLifeCyleListener(SamplingLifeCycleListener listener) { samplingLifeCycleListener.add(listener); }
public void removeThreadLifeCycleListener(ThreadLifeCycleListener listener) { m_threadLifeCycleListeners.remove(listener); }
public void fireBeginRunEvent() { m_threadLifeCycleListeners .apply(new Informer<ThreadLifeCycleListener>() { public void inform(ThreadLifeCycleListener l) { l.beginRun(); } }); }
public void inform(AgentShutDownListener listener) { backup.add(listener); } });
public void handle(final LogReportGrinderMessage message) { m_logListeners.apply(new Informer<LogArrivedListener>() { @Override public void inform(LogArrivedListener listener) { listener.logArrived(message.getTestId(), message.getAddress(), message.getLogs()); } }); } });