Package VASSAL.build.module
Class BasicLogger
java.lang.Object
VASSAL.build.module.BasicLogger
- All Implemented Interfaces:
Buildable
,GameComponent
,CommandEncoder
,Logger
public class BasicLogger extends Object implements Logger, Buildable, GameComponent, CommandEncoder
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BasicLogger.LogCommand
class
BasicLogger.StepAction
class
BasicLogger.UndoAction
-
Field Summary
Fields Modifier and Type Field Description static String
BEGIN
protected Command
beginningState
static String
END
protected Action
endLogAction
static String
LOG
protected List<Command>
logInput
protected List<Command>
logOutput
protected SaveMetaData
metadata
protected Action
newLogAction
protected int
nextInput
protected int
nextUndo
protected File
outputFile
static String
PROMPT_LOG_COMMENT
static String
PROMPT_NEW_LOG
static String
PROMPT_NEW_LOG_END
static String
PROMPT_NEW_LOG_START
protected static String
STEP_ICON
protected Action
stepAction
protected static String
UNDO_ICON
protected Action
undoAction
-
Constructor Summary
Constructors Constructor Description BasicLogger()
-
Method Summary
Modifier and Type Method Description void
add(Buildable b)
Adds a child component.void
addTo(Buildable b)
Expects to be added to aGameModule
.protected void
beginOutput()
void
build(Element e)
Build the objectCommand
decode(String command)
Translate a String into aCommand
void
enableDrawing(boolean show)
String
encode(Command c)
Recognizes a logging command.Element
getBuildElement(Document doc)
Command
getRestoreCommand()
When saving a game, each GameComponent should return aCommand
that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return nullboolean
hasMoreCommands()
Are there Input Steps yet to be replayed?boolean
isLogging()
boolean
isReplaying()
void
log(Command c)
void
queryNewLogFile(boolean atStart)
void
remove(Buildable b)
void
setup(boolean show)
Notify the GameComponent that a game has started/endedprotected void
step()
protected void
undo()
void
write()
Write the logfile to a file.
-
Field Details
-
BEGIN
- See Also:
- Constant Field Values
-
END
- See Also:
- Constant Field Values
-
LOG
- See Also:
- Constant Field Values
-
PROMPT_NEW_LOG
- See Also:
- Constant Field Values
-
PROMPT_NEW_LOG_START
- See Also:
- Constant Field Values
-
PROMPT_NEW_LOG_END
- See Also:
- Constant Field Values
-
PROMPT_LOG_COMMENT
- See Also:
- Constant Field Values
-
STEP_ICON
- See Also:
- Constant Field Values
-
UNDO_ICON
- See Also:
- Constant Field Values
-
logInput
-
logOutput
-
nextInput
protected int nextInput -
nextUndo
protected int nextUndo -
beginningState
-
outputFile
-
stepAction
-
metadata
-
undoAction
-
endLogAction
-
newLogAction
-
-
Constructor Details
-
BasicLogger
public BasicLogger()
-
-
Method Details
-
build
Description copied from interface:Buildable
Build the object -
addTo
Expects to be added to aGameModule
. AddsUndo
,Step
, andEnd Log
buttons to the the control window toolbar. RegistersKeyStrokeListener
s for hotkey equivalents of each button. -
getBuildElement
- Specified by:
getBuildElement
in interfaceBuildable
- Returns:
- an XML element from which this component can be built
-
add
Description copied from interface:Buildable
Adds a child component. Both this method andBuildable.addTo(VASSAL.build.Buildable)
are invoked when adding a child to a parent -
remove
-
setup
public void setup(boolean show)Description copied from interface:GameComponent
Notify the GameComponent that a game has started/ended- Specified by:
setup
in interfaceGameComponent
- Parameters:
show
- if true, a game is starting. If false, then a game is ending
-
isLogging
public boolean isLogging() -
isReplaying
public boolean isReplaying()- Returns:
- true if we're currently replaying a VLOG file, that has unexecuted "step forwards" remaining
-
getRestoreCommand
Description copied from interface:GameComponent
When saving a game, each GameComponent should return aCommand
that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return null- Specified by:
getRestoreCommand
in interfaceGameComponent
-
enableDrawing
public void enableDrawing(boolean show) -
step
protected void step() -
queryNewLogFile
public void queryNewLogFile(boolean atStart) -
write
Write the logfile to a file. The file will have been selected when the logfile was begun.- Throws:
IOException
-
beginOutput
protected void beginOutput() -
undo
protected void undo() -
log
-
hasMoreCommands
public boolean hasMoreCommands()Are there Input Steps yet to be replayed? -
encode
Recognizes a logging command. The logging command is a wrapper around an ordinaryCommand
indicating that the wrapped command should be stored and executed in sequence (when theStep
button is pressed)- Specified by:
encode
in interfaceCommandEncoder
-
decode
Description copied from interface:CommandEncoder
Translate a String into aCommand
- Specified by:
decode
in interfaceCommandEncoder
-