@WeakOuter private final class IsStartableGuard extends Guard { IsStartableGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state() == NEW; } }
@WeakOuter private final class ThreadNameSupplier implements Supplier<String> { @Override public String get() { return serviceName() + " " + state(); } }
@WeakOuter private final class HasReachedRunningGuard extends Guard { HasReachedRunningGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) >= 0; } }
@WeakOuter private final class IsStoppedGuard extends Guard { IsStoppedGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().isTerminal(); } }
@WeakOuter final class StoppedGuard extends Monitor.Guard { StoppedGuard() { super(ServiceManagerState.this.monitor); } @Override @GuardedBy("ServiceManagerState.this.monitor") public boolean isSatisfied() { return states.count(TERMINATED) + states.count(FAILED) == numberOfServices; } }
@WeakOuter private final class IsStoppableGuard extends Guard { IsStoppableGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) <= 0; } }
@WeakOuter final class AwaitHealthGuard extends Monitor.Guard { AwaitHealthGuard() { super(ServiceManagerState.this.monitor); } @Override @GuardedBy("ServiceManagerState.this.monitor") public boolean isSatisfied() { // All services have started or some service has terminated/failed. return states.count(RUNNING) == numberOfServices || states.contains(STOPPING) || states.contains(TERMINATED) || states.contains(FAILED); } }
@WeakOuter private final class IsStartableGuard extends Guard { IsStartableGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state() == NEW; } }
@WeakOuter private final class IsStoppableGuard extends Guard { IsStoppableGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) <= 0; } }
@WeakOuter private final class ThreadNameSupplier implements Supplier<String> { @Override public String get() { return serviceName() + " " + state(); } }
@WeakOuter private final class HasReachedRunningGuard extends Guard { HasReachedRunningGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) >= 0; } }
@WeakOuter private final class IsStoppedGuard extends Guard { IsStoppedGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().isTerminal(); } }
@WeakOuter final class StoppedGuard extends Monitor.Guard { StoppedGuard() { super(ServiceManagerState.this.monitor); } @Override @GuardedBy("ServiceManagerState.this.monitor") public boolean isSatisfied() { return states.count(TERMINATED) + states.count(FAILED) == numberOfServices; } }
@WeakOuter class Task implements Runnable { @Override public void run() { lock.lock(); try { if (runningTask.isCancelled()) { // task may have been cancelled while blocked on the lock. return; } AbstractScheduledService.this.runOneIteration(); } catch (Throwable t) { try { shutDown(); } catch (Exception ignored) { logger.log( Level.WARNING, "Error while attempting to shut down the service after failure.", ignored); } notifyFailed(t); runningTask.cancel(false); // prevent future invocations. } finally { lock.unlock(); } } }
@WeakOuter private final class ThreadNameSupplier implements Supplier<String> { @Override public String get() { return serviceName() + " " + state(); } }
@WeakOuter final class StoppedGuard extends Monitor.Guard { StoppedGuard() { super(ServiceManagerState.this.monitor); } @Override @GuardedBy("ServiceManagerState.this.monitor") public boolean isSatisfied() { return states.count(TERMINATED) + states.count(FAILED) == numberOfServices; } }
@WeakOuter private final class IsStoppableGuard extends Guard { IsStoppableGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) <= 0; } }
@WeakOuter private final class HasReachedRunningGuard extends Guard { HasReachedRunningGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().compareTo(RUNNING) >= 0; } }
@WeakOuter private final class IsStoppedGuard extends Guard { IsStoppedGuard() { super(AbstractService.this.monitor); } @Override public boolean isSatisfied() { return state().isTerminal(); } }
/** * Abstract set whose {@code isEmpty()} returns whether the table is empty and whose {@code * clear()} clears all table mappings. */ @WeakOuter private abstract class TableSet<T> extends ImprovedAbstractSet<T> { @Override public boolean isEmpty() { return backingMap.isEmpty(); } @Override public void clear() { backingMap.clear(); } }