Package jmri.jmrit.logix
Class WarrantShutdownTask
- java.lang.Object
-
- jmri.implementation.AbstractShutDownTask
-
- jmri.jmrit.logix.WarrantShutdownTask
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener
,java.lang.Runnable
,java.util.concurrent.Callable<java.lang.Boolean>
,java.util.EventListener
,ShutDownTask
public class WarrantShutdownTask extends AbstractShutDownTask
Allows user to decide if (and which) SpeedProfiles to write to the Roster at the end of a session. Locos running warrants have had their speeds measured and this new data may or may not be merged into any existing SpeedProfiles in the Roster.
-
-
Constructor Summary
Constructors Constructor Description WarrantShutdownTask(java.lang.String name)
Constructor specifies the warning message and action to take
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Boolean
call()
Ask if shut down is allowed.void
run()
Take the necessary action.-
Methods inherited from class jmri.implementation.AbstractShutDownTask
getName, isDoRun, propertyChange, setDoRun, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.ShutDownTask
runEarly
-
-
-
-
Constructor Detail
-
WarrantShutdownTask
public WarrantShutdownTask(java.lang.String name)
Constructor specifies the warning message and action to take- Parameters:
name
- the name of the task (used in logs)
-
-
Method Detail
-
call
public java.lang.Boolean call()
Ask if shut down is allowed.The shut down manager calls this method first on all the tasks before starting to execute the method
ShutDownTask.run()
on the tasks.If this method returns false on any task, the shut down process must be aborted. This implementation merely sets the "doRun" property to true, and should be overridden for any real checking. Note that overriding implementations should call
AbstractShutDownTask.setDoRun(boolean)
correctly.- Specified by:
call
in interfacejava.util.concurrent.Callable<java.lang.Boolean>
- Specified by:
call
in interfaceShutDownTask
- Overrides:
call
in classAbstractShutDownTask
- Returns:
- true if it is OK to shut down, false to abort shut down.
-
run
public void run()
Take the necessary action. This method cannot abort the shutdown, and must not require user interaction to complete successfully. This method will be run in parallel to other ShutDownTasks.
-
-