@Beta public abstract class ForwardingService extends ForwardingObject implements Service
Service that forwards all method calls to another service.Service.State| Modifier | Constructor and Description |
|---|---|
protected |
ForwardingService()
Constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract Service |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
boolean |
isRunning()
Returns
true if this service is running. |
protected Service.State |
standardStartAndWait()
A sensible default implementation of
startAndWait(), in terms of
start(). |
protected Service.State |
standardStopAndWait()
A sensible default implementation of
stopAndWait(), in terms of
stop(). |
ListenableFuture<Service.State> |
start()
If the service state is
Service.State.NEW, this initiates service startup
and returns immediately. |
Service.State |
startAndWait()
Initiates service startup (if necessary), returning once the service has
finished starting.
|
Service.State |
state()
Returns the lifecycle state of the service.
|
ListenableFuture<Service.State> |
stop()
|
Service.State |
stopAndWait()
Initiates service shutdown (if necessary), returning once the service has
finished stopping.
|
toStringprotected ForwardingService()
protected abstract Service delegate()
ForwardingObjectForwardingSet.delegate(). Concrete subclasses override this method to supply
the instance being decorated.delegate in class ForwardingObjectpublic ListenableFuture<Service.State> start()
ServiceService.State.NEW, this initiates service startup
and returns immediately. If the service has already been started, this
method returns immediately without taking action. A stopped service may not
be restarted.start in interface ServiceFuture.get() will block
until the service has finished starting, and returns one of Service.State.RUNNING, Service.State.STOPPING or Service.State.TERMINATED. If
the service fails to start, Future.get() will throw an
ExecutionException, and the service's state will be Service.State.FAILED. If it has already finished starting, Future.get() returns immediately. Cancelling the returned
future is unsupported and always returns false.public Service.State state()
Servicepublic ListenableFuture<Service.State> stop()
Servicestop in interface ServiceFuture.get() will block
until the service has finished shutting down, and either returns
Service.State.TERMINATED or throws an ExecutionException. If
it has already finished stopping, Future.get() returns
immediately. Cancelling this future is unsupported and always returns
false.public Service.State startAndWait()
Servicestart().get(), this method throws
no checked exceptions, and it cannot be interrupted.startAndWait in interface Servicepublic Service.State stopAndWait()
ServiceService.State.STARTING, startup will be
cancelled. If this is Service.State.NEW, it is terminated without having been started nor stopped. Unlike calling stop().get(), this method throws no checked exceptions.stopAndWait in interface Servicepublic boolean isRunning()
Servicetrue if this service is running.protected Service.State standardStartAndWait()
startAndWait(), in terms of
start(). If you override start(), you may wish to override
startAndWait() to forward to this implementation.protected Service.State standardStopAndWait()
stopAndWait(), in terms of
stop(). If you override stop(), you may wish to override
stopAndWait() to forward to this implementation.Copyright © 2010-2012. All Rights Reserved.