public class CurrentTaskFuture extends Object implements RunLevelFuture
Modifier and Type | Class and Description |
---|---|
class |
CurrentTaskFuture.DownAllTheWay |
Modifier and Type | Method and Description |
---|---|
boolean |
cancel(boolean mayInterruptIfRunning)
The cancel method attempts to cancel the current running
job (if the job is not already completed or already cancelled).
|
Object |
get() |
Object |
get(long timeout,
TimeUnit unit) |
int |
getProposedLevel()
This gets the level that this future job is attempting
to get to
|
boolean |
isCancelled() |
boolean |
isDone() |
boolean |
isDown()
Returns true if this job represents the system going from
a higher level to a lower level.
|
boolean |
isUp()
Returns true if this job represents the system going from
a lower level to a higher level.
|
String |
toString() |
public boolean isUp()
RunLevelFuture
isUp
in interface RunLevelFuture
public boolean isDown()
RunLevelFuture
isDown
in interface RunLevelFuture
public boolean cancel(boolean mayInterruptIfRunning)
RunLevelFuture
If the system was going up to a level then calling cancel will cause the system to stop going up, and instead proceed back down to the last completed level. For example, suppose there were three services at level ten and the system was going up to level ten. As the system was proceeding up to level ten the first of the three services had already been started and the second service was in progress and the third service had not been started. The system will wait for the second service to complete coming up and then will shut it down along with the first service. Since the last completed level was nine, the system will remain at level nine and this job will be complete.
If the system was going down to a level then calling cancel will cause the system to continue going down, but it will stop going down at the next level. For example, suppose there were three services at level ten and the current proposed level is five. Suppose one of those three services had already been shutdown and one was in the process of being shutdown and the other had not yet been shutdown when the cancel arrives. The system will continue to shutdown the one in progress and then will shutdown the remaining service at level ten to reach level nine. However, the job will no longer attempt to go down to level five, but will instead be finished at level nine.
cancel
in interface Future<Object>
cancel
in interface RunLevelFuture
mayInterruptIfRunning
- is currently ignoredpublic boolean isCancelled()
isCancelled
in interface Future<Object>
public Object get() throws InterruptedException, ExecutionException
get
in interface Future<Object>
InterruptedException
ExecutionException
public Object get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
get
in interface Future<Object>
InterruptedException
ExecutionException
TimeoutException
public int getProposedLevel()
RunLevelFuture
getProposedLevel
in interface RunLevelFuture
Copyright © 2013 Oracle Corporation. All Rights Reserved.