Preconditions.checkNotNull(listenerExecutor, "Executor shouldn't be null."); final ListenerCaller caller = new ListenerCaller(listener, listenerExecutor); final Cancellable cancellable = () -> { listeners.put(caller, cancellable); result.put(cancellable); caller.init(getState(), getFailureCause()); } else { result.put(existing);
@Override public void alive() { for (ListenerCaller caller : listeners.keySet()) { caller.alive(); } }
@Override public void completed() { for (ListenerCaller caller : listeners.keySet()) { caller.completed(); } }
Preconditions.checkNotNull(listenerExecutor, "Executor shouldn't be null."); final ListenerCaller caller = new ListenerCaller(listener, listenerExecutor); final Cancellable cancellable = () -> { listeners.put(caller, cancellable); result.put(cancellable); caller.init(getState(), getFailureCause()); } else { result.put(existing);
@Override public void killed() { execute(listener::killed, "killed"); }
@Override public void init(final State currentState, @Nullable final Throwable cause) { execute(() -> listener.init(currentState, cause), "init"); }
@Override public void completed() { execute(listener::completed, "completed"); }
@Override public void suspending() { execute(listener::suspending, "suspending"); }
@Override public void error(final Throwable cause) { execute(() -> listener.error(cause), "error"); }
@Override public void suspended() { execute(listener::suspended, "suspended"); }
@Override public void killed() { execute(listener::killed, "killed"); }
@Override public void resuming() { execute(listener::resuming, "resuming"); }
@Override public void error(final Throwable cause) { execute(() -> listener.error(cause), "error"); }
@Override public void completed() { execute(listener::completed, "completed"); }
@Override public void alive() { execute(listener::alive, "alive"); }
@Override public void suspending() { execute(listener::suspending, "suspending"); }
@Override public void stopping() { execute(listener::stopping, "stopping"); }
@Override public void stopping() { execute(listener::stopping, "stopping"); }
@Override public void resuming() { execute(listener::resuming, "resuming"); }
@Override public void resuming() { for (ListenerCaller caller : listeners.keySet()) { caller.resuming(); } }