public <Response> ActionListener<Response> wrap(ActionListener<Response> listener) { if (threadedListener == false) { return listener; } // if its a future, the callback is very lightweight (flipping a bit) so no need to wrap it if (listener instanceof Future) { return listener; } // already threaded... if (listener instanceof ThreadedActionListener) { return listener; } return new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false); } }
@Override public void addListener(final ActionListener<T> listener) { super.addListener(new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false)); } }
public <Response> ActionListener<Response> wrap(ActionListener<Response> listener) { if (threadedListener == false) { return listener; } // if its a future, the callback is very lightweight (flipping a bit) so no need to wrap it if (listener instanceof Future) { return listener; } // already threaded... if (listener instanceof ThreadedActionListener) { return listener; } return new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false); } }
public <Response> ActionListener<Response> wrap(ActionListener<Response> listener) { if (threadedListener == false) { return listener; } // if its a future, the callback is very lightweight (flipping a bit) so no need to wrap it if (listener instanceof Future) { return listener; } // already threaded... if (listener instanceof ThreadedActionListener) { return listener; } return new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false); } }
public <Response> ActionListener<Response> wrap(ActionListener<Response> listener) { if (threadedListener == false) { return listener; } // if its a future, the callback is very lightweight (flipping a bit) so no need to wrap it if (listener instanceof Future) { return listener; } // already threaded... if (listener instanceof ThreadedActionListener) { return listener; } return new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false); } }
public <Response> ActionListener<Response> wrap(ActionListener<Response> listener) { if (threadedListener == false) { return listener; } // if its a future, the callback is very lightweight (flipping a bit) so no need to wrap it if (listener instanceof Future) { return listener; } // already threaded... if (listener instanceof ThreadedActionListener) { return listener; } return new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener); } }
@Override public void addListener(final ActionListener<T> listener) { super.addListener(new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false)); } }
@Override public void addListener(final ActionListener<T> listener) { super.addListener(new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false)); } }
public void internalAddListener(ActionListener<T> listener) { listener = new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener, false); boolean executeImmediate = false; synchronized (this) { if (executedListeners) { executeImmediate = true; } else { Object listeners = this.listeners; if (listeners == null) { listeners = listener; } else if (listeners instanceof List) { ((List) this.listeners).add(listener); } else { Object orig = listeners; listeners = new ArrayList<>(2); ((List) listeners).add(orig); ((List) listeners).add(listener); } this.listeners = listeners; } } if (executeImmediate) { executeListener(listener); } }
public void internalAddListener(ActionListener<T> listener) { listener = new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener); boolean executeImmediate = false; synchronized (this) { if (executedListeners) { executeImmediate = true; } else { Object listeners = this.listeners; if (listeners == null) { listeners = listener; } else if (listeners instanceof List) { ((List) this.listeners).add(listener); } else { Object orig = listeners; listeners = new ArrayList<>(2); ((List) listeners).add(orig); ((List) listeners).add(listener); } this.listeners = listeners; } } if (executeImmediate) { executeListener(listener); } }
if (executorOnDelay != null) { delayedOperations.add( new ThreadedActionListener<>(logger, threadPool, executorOnDelay, new ContextPreservingActionListener<>(contextSupplier, onAcquired), forceExecution)); } else {