rails.game.action
Class ExchangeTokens

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

public class ExchangeTokens
extends PossibleORAction

Author:
Erik Vos
See Also:
Serialized Form

Field Summary
static long serialVersionUID
           
 
Fields inherited from class rails.game.action.PossibleORAction
company, companyName
 
Fields inherited from class rails.game.action.PossibleAction
acted, gameManager, log, playerIndex, playerName
 
Constructor Summary
ExchangeTokens(java.util.List<ExchangeableToken> tokensToSelectFrom, int minNumberToExchange, int maxNumberToExchange)
           
 
Method Summary
 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.
 int getMaxNumberToExchange()
           
 int getMinNumberToExchange()
           
 java.util.List<ExchangeableToken> getTokensToExchange()
           
 void setExchangedTokens(java.util.List<ExchangeableToken> exchangedTokens)
           
 java.lang.String toString()
           
 
Methods inherited from class rails.game.action.PossibleORAction
getCompany, getCompanyName, setCompany
 
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

serialVersionUID

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

ExchangeTokens

public ExchangeTokens(java.util.List<ExchangeableToken> tokensToSelectFrom,
                      int minNumberToExchange,
                      int maxNumberToExchange)
Method Detail

setExchangedTokens

public void setExchangedTokens(java.util.List<ExchangeableToken> exchangedTokens)

getMaxNumberToExchange

public int getMaxNumberToExchange()

getMinNumberToExchange

public int getMinNumberToExchange()

getTokensToExchange

public java.util.List<ExchangeableToken> getTokensToExchange()

toString

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

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.