VASSAL.build.module.map
Class SetupStack

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.SetupStack
All Implemented Interfaces:
AutoConfigurable, Buildable, CommandEncoder, Configurable, GameComponent
Direct Known Subclasses:
DrawPile

public class SetupStack
extends AbstractConfigurable
implements GameComponent, CommandEncoder

This is the "At-Start Stack" component, which initializes a Map or Board with a specified stack. Because it uses a regular stack, this component is better suited for limited-force-pool collections of counters than a DrawPile


Inner Class Summary
static class SetupStack.MarkInitialized
          This command indicates that a Stack has been created already in a saved game, so there is no need to initialized a new one when the game is opened.
static class SetupStack.OwningBoardPrompt
           
 
Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String COMMAND_PREFIX
           
protected  java.lang.String id
           
protected  Map map
           
static java.lang.String NAME
           
static java.lang.String OWNING_BOARD
           
protected  java.lang.String owningBoardName
           
protected  java.awt.Point pos
           
static java.lang.String X_POSITION
           
static java.lang.String Y_POSITION
           
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
SetupStack()
           
 
Method Summary
 void addTo(Buildable parent)
          Adds this component to its parent.
protected  Stack createStack()
           
 Command decode(java.lang.String command)
          Translate a String into a Command
 java.lang.String encode(Command c)
          Translate a Command into a String
static SetupStack findSetupStack(java.lang.String id)
           
 java.lang.Class[] getAllowableConfigureComponents()
          Return a list of valid sub-component Classes.
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String key)
          Called by the AbstractBuildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
 Configurer getConfigurer()
          The default Configurer of an AbstractConfigurable class is an instance of AutoConfigurer
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
 java.lang.String getId()
           
 Command getRestoreCommand()
          When saving a game, each GameComponent should return a Command that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return null
protected  Stack initializeContents()
           
protected  boolean isOwningBoardActive()
           
 boolean isStackInitialized()
          Return true if the stack that this component places on the map board has already been placed
 void removeFrom(Buildable parent)
          Remove this component from its parent
 void setAttribute(java.lang.String key, java.lang.Object value)
          Called by the AbstractBuildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 void setId(java.lang.String id)
           
 void setStackInitialized(boolean stackInitialized)
           
 void setup(boolean gameStarting)
          Notify the GameComponent that a game has started/ended
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureComponents, getConfigureName, remove, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
add, build, getBuildComponents, getBuildElement, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.build.Buildable
add, build, getBuildElement
 

Field Detail

COMMAND_PREFIX

public static final java.lang.String COMMAND_PREFIX

pos

protected java.awt.Point pos

OWNING_BOARD

public static final java.lang.String OWNING_BOARD

X_POSITION

public static final java.lang.String X_POSITION

Y_POSITION

public static final java.lang.String Y_POSITION

map

protected Map map

owningBoardName

protected java.lang.String owningBoardName

id

protected java.lang.String id

NAME

public static final java.lang.String NAME
Constructor Detail

SetupStack

public SetupStack()
Method Detail

setup

public void setup(boolean gameStarting)
Description copied from interface: GameComponent
Notify the GameComponent that a game has started/ended
Specified by:
setup in interface GameComponent
Following copied from interface: VASSAL.build.module.GameComponent
Parameters:
gameStarting - if true, a game is starting. If false, then a game is ending

getRestoreCommand

public Command getRestoreCommand()
Description copied from interface: GameComponent
When saving a game, each GameComponent should return a Command 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 interface GameComponent

isStackInitialized

public boolean isStackInitialized()
Return true if the stack that this component places on the map board has already been placed
Returns:
 

setStackInitialized

public void setStackInitialized(boolean stackInitialized)

decode

public Command decode(java.lang.String command)
Description copied from interface: CommandEncoder
Translate a String into a Command
Specified by:
decode in interface CommandEncoder

encode

public java.lang.String encode(Command c)
Description copied from interface: CommandEncoder
Translate a Command into a String
Specified by:
encode in interface CommandEncoder

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeDescriptions in class AbstractConfigurable

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeTypes in class AbstractConfigurable

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String key)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

setAttribute

public void setAttribute(java.lang.String key,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

addTo

public void addTo(Buildable parent)
Description copied from interface: Buildable
Adds this component to its parent. In order to make Buildable objects extensible, the child is reponsible for adding itself to the parent. That way, Buildable subcomponents can be defined in an extension package without needing to modify the containing class.

getAllowableConfigureComponents

public java.lang.Class[] getAllowableConfigureComponents()
Description copied from interface: Configurable
Return a list of valid sub-component Classes. If a Class appears in this list, then instances of that class may be added to this component from the Configuration Window.

getHelpFile

public HelpFile getHelpFile()
Following copied from interface: VASSAL.build.Configurable
Returns:
a HelpFilte describing how to use and configure this component

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

removeFrom

public void removeFrom(Buildable parent)
Description copied from interface: Configurable
Remove this component from its parent

isOwningBoardActive

protected boolean isOwningBoardActive()

initializeContents

protected Stack initializeContents()

createStack

protected Stack createStack()

setId

public void setId(java.lang.String id)

getId

public java.lang.String getId()

findSetupStack

public static SetupStack findSetupStack(java.lang.String id)
Parameters:
id -  
Returns:
the SetupStack with the given id

getConfigurer

public Configurer getConfigurer()
Description copied from class: AbstractConfigurable
The default Configurer of an AbstractConfigurable class is an instance of AutoConfigurer
Overrides:
getConfigurer in class AbstractConfigurable