Package net.sf.colossus.common
Class WhatNextManager
- java.lang.Object
-
- net.sf.colossus.common.WhatNextManager
-
public class WhatNextManager extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WhatNextManager.TimedJvmQuit
A demon thread which is started by triggerTimedQuit.static class
WhatNextManager.WhatToDoNext
The various constants for activities what the Start class should do as next thing, typically when a dialog is closed or a games ended.
-
Field Summary
Fields Modifier and Type Field Description private int
howManyGamesLeft
private boolean
interactive
private static java.util.logging.Logger
LOGGER
private Options
startOptions
private WhatNextManager.WhatToDoNext
whatToDoNext
-
Constructor Summary
Constructors Constructor Description WhatNextManager(Options startOpts)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
decrementHowManyGamesLeft()
int
getHowManyGamesLeft()
Options
getStartOptions()
WhatNextManager.WhatToDoNext
getWhatToDoNext()
boolean
isInteractive()
Returns true if this action was caused by interactive means.void
setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, boolean triggerQuitTimer)
A convenient shortcut to the 3-argument-form, for the many calls where interactive is to be set to false.void
setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, boolean triggerQuitTimer, boolean interactive)
Set the action what shall be executed next.void
setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, java.lang.String loadFile, boolean interactive)
static void
sleepFor(long millis)
void
triggerTimedQuit()
Trigger a timed Quit, which will (by using a demon thread) terminate the JVM after a timeout (currently 10 (120) seconds) - unless the JVM has quit already anyway because cleanup has succeeded as planned.
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
startOptions
private final Options startOptions
-
interactive
private boolean interactive
-
whatToDoNext
private WhatNextManager.WhatToDoNext whatToDoNext
-
howManyGamesLeft
private int howManyGamesLeft
-
-
Constructor Detail
-
WhatNextManager
public WhatNextManager(Options startOpts)
-
-
Method Detail
-
getWhatToDoNext
public WhatNextManager.WhatToDoNext getWhatToDoNext()
-
isInteractive
public boolean isInteractive()
Returns true if this action was caused by interactive means. If so, it makes sense to display a error message dialog box if something went wrong.- Returns:
- action to do is marked as "was triggered interactively"
-
setWhatToDoNext
public void setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, boolean triggerQuitTimer, boolean interactive)
Set the action what shall be executed next. Trigger also the timer for the "Timed Quit", if requested so.- Parameters:
whatToDoNext
-triggerQuitTimer
-interactive
-
-
setWhatToDoNext
public void setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, boolean triggerQuitTimer)
A convenient shortcut to the 3-argument-form, for the many calls where interactive is to be set to false.- Parameters:
whatToDoNext
-triggerQuitTimer
-
-
getStartOptions
public Options getStartOptions()
- Returns:
- Returns the same startOptions object that Start object uses.
-
setWhatToDoNext
public void setWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, java.lang.String loadFile, boolean interactive)
-
getHowManyGamesLeft
public int getHowManyGamesLeft()
-
decrementHowManyGamesLeft
public int decrementHowManyGamesLeft()
-
triggerTimedQuit
public void triggerTimedQuit()
Trigger a timed Quit, which will (by using a demon thread) terminate the JVM after a timeout (currently 10 (120) seconds) - unless the JVM has quit already anyway because cleanup has succeeded as planned.
-
sleepFor
public static void sleepFor(long millis)
-
-