|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.collect.ForwardingObject com.google.common.util.concurrent.ForwardingService
@Beta public abstract class ForwardingService
A Service
that forwards all method calls to another service.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service |
---|
Service.State |
Constructor Summary | |
---|---|
protected |
ForwardingService()
Constructor for use by subclasses. |
Method Summary | |
---|---|
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()
If the service is starting or running, this initiates service shutdown and returns immediately. |
Service.State |
stopAndWait()
Initiates service shutdown (if necessary), returning once the service has finished stopping. |
Methods inherited from class com.google.common.collect.ForwardingObject |
---|
toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
protected ForwardingService()
Method Detail |
---|
protected abstract Service delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.
delegate
in class ForwardingObject
public ListenableFuture<Service.State> start()
Service
Service.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 Service
Future.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()
Service
state
in interface Service
public ListenableFuture<Service.State> stop()
Service
stop
in interface Service
Future.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()
Service
start().get()
, this method throws
no checked exceptions, and it cannot be interrupted.
startAndWait
in interface Service
public Service.State stopAndWait()
Service
Service.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 Service
public boolean isRunning()
Service
true
if this service is running.
isRunning
in interface Service
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |