rails.game.action
Class MergeCompanies

java.lang.Object
  extended by rails.game.action.PossibleAction
      extended by rails.game.action.MergeCompanies
All Implemented Interfaces:
java.io.Serializable

public class MergeCompanies
extends PossibleAction

Author:
Erik Vos
See Also:
Serialized Form

Field Summary
protected  java.util.List<java.lang.Boolean> canReplaceToken
           
protected  PublicCompanyI mergingCompany
           
protected  java.lang.String mergingCompanyName
           
protected  boolean replaceToken
           
protected  PublicCompanyI selectedTargetCompany
           
protected  java.lang.String selectedTargetCompanyName
           
static long serialVersionUID
           
protected  java.util.List<PublicCompanyI> targetCompanies
           
protected  java.lang.String targetCompanyNames
           
 
Fields inherited from class rails.game.action.PossibleAction
acted, gameManager, log, playerIndex, playerName
 
Constructor Summary
MergeCompanies()
          Required for deserialization
MergeCompanies(PublicCompanyI mergingCompany, java.util.List<PublicCompanyI> targetCompanies)
          Common constructor.
MergeCompanies(PublicCompanyI mergingCompany, PublicCompanyI targetCompany)
           
 
Method Summary
 boolean canReplaceToken(int index)
           
 boolean equalsAsAction(PossibleAction action)
          Compare the chosen actions of two action objects.
 boolean equalsAsOption(PossibleAction action)
          Compare the choice options of two action objects, without regard to whatever choice has been made, if any.
 PublicCompanyI getMergingCompany()
           
 boolean getReplaceToken()
           
 PublicCompanyI getSelectedTargetCompany()
           
 java.util.List<PublicCompanyI> getTargetCompanies()
           
 void setReplaceToken(boolean value)
           
 void setSelectedTargetCompany(PublicCompanyI selectedTargetCompany)
           
 java.lang.String toString()
           
 
Methods inherited from class rails.game.action.PossibleAction
getCompanyManager, getGameManager, getPlayerIndex, getPlayerName, hasActed, setActed, setPlayerName, toMenu
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mergingCompany

protected transient PublicCompanyI mergingCompany

mergingCompanyName

protected java.lang.String mergingCompanyName

targetCompanies

protected transient java.util.List<PublicCompanyI> targetCompanies

targetCompanyNames

protected java.lang.String targetCompanyNames

canReplaceToken

protected java.util.List<java.lang.Boolean> canReplaceToken

selectedTargetCompany

protected transient PublicCompanyI selectedTargetCompany

selectedTargetCompanyName

protected java.lang.String selectedTargetCompanyName

replaceToken

protected boolean replaceToken

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

MergeCompanies

public MergeCompanies(PublicCompanyI mergingCompany,
                      java.util.List<PublicCompanyI> targetCompanies)
Common constructor.


MergeCompanies

public MergeCompanies(PublicCompanyI mergingCompany,
                      PublicCompanyI targetCompany)

MergeCompanies

public MergeCompanies()
Required for deserialization

Method Detail

getMergingCompany

public PublicCompanyI getMergingCompany()

getTargetCompanies

public java.util.List<PublicCompanyI> getTargetCompanies()

canReplaceToken

public boolean canReplaceToken(int index)

getSelectedTargetCompany

public PublicCompanyI getSelectedTargetCompany()

setSelectedTargetCompany

public void setSelectedTargetCompany(PublicCompanyI selectedTargetCompany)

setReplaceToken

public void setReplaceToken(boolean value)

getReplaceToken

public boolean getReplaceToken()

equalsAsOption

public boolean equalsAsOption(PossibleAction action)
Description copied from class: PossibleAction
Compare the choice options of two action objects, without regard to whatever choice has been made, if any. In other words: only the server-set (prior) attributes must be compared.

This method is used by the server (engine) to validate the incoming action that has actually been chosen in the client (GUI), but only for the purpose to check if the chosen option was really on offer, not to check if the chosen action is actually valid. These perspectives could give different results in cases where the PossibleAction does not fully restrict choices to valid values only (such as the blanket LayTile that does no restrict the hex to lay a tile on, or the SetDividend that will accept any revenue value).

Specified by:
equalsAsOption in class PossibleAction
Parameters:
action - Another PossibleAction to compare with.
Returns:
True if the compared PossibleAction object has equal choice options.

equalsAsAction

public boolean equalsAsAction(PossibleAction action)
Description copied from class: PossibleAction
Compare the chosen actions of two action objects. In other words: the client-set (posterior) attributes must be compared, in addition to those server-set (prior) attributes that sufficiently identify the action.

This method is used by the server (engine) to check if two action objects represent the same actual action, as is done when reloading a saved file (i.e. loading a later stage of the same game).

Specified by:
equalsAsAction in class PossibleAction
Parameters:
action - Another PossibleAction to compare with.
Returns:
True if the compared PossibleAction object has equal selected action values.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object