net.sourceforge.rpgee.dice
Class AbstractRandomValueGenerator

java.lang.Object
  extended by net.sourceforge.rpgee.AbstractIdentified
      extended by net.sourceforge.rpgee.dice.AbstractRandomValueGenerator
All Implemented Interfaces:
Describable, RandomValueGenerator, Identified, RpgMessageProducer

public abstract class AbstractRandomValueGenerator
extends AbstractIdentified
implements Describable, RandomValueGenerator, RpgMessageProducer


Field Summary
protected static java.lang.String[] moreSettings
           
 
Fields inherited from interface net.sourceforge.rpgee.dice.RandomValueGenerator
DICE_MAPPING_CLASS, DIE_HANDLING_CLASS
 
Fields inherited from interface net.sourceforge.rpgee.Identified
ID
 
Constructor Summary
AbstractRandomValueGenerator()
           
 
Method Summary
abstract  GeneratedRandomValue _internalDiceRoll(java.lang.String d)
           
abstract  void _internalPostSetSetting(java.lang.String setting, java.lang.Object value)
           
abstract  void _internalPreSetSetting(java.lang.String setting, java.lang.Object value)
           
 void addMessageConsumer(RpgMessageConsumer consumer)
           
 void addRandomValueHandler(RandomValueHandler handler)
          Add A new RandomValueHandler to the list of handlers for this roller
 void generateRandomness()
          Reset the "randomness" factor for a RandomValueGenerator.
 java.lang.String getDescription()
           
 java.lang.String getHTMLDescription()
           
protected  int getIntegerFromSettings(java.lang.String key)
           
protected abstract  java.lang.String[] getMoreSettingsNames()
           
protected  java.util.Random getRandom()
           
 java.util.List<RandomValueHandler> getRandomValueHandlers()
           
 RandomValueResultMapper getRandomValueResultMapper()
          Returns the local result mapper
 java.lang.String getRandomValuesAsString(java.util.List<RandomValue> roll)
          GameMapModel the dice rolls in roll with a mapper if available
 java.lang.Object getSetting(java.lang.String key)
          Returns the internal map of settings used by the "roll" call
 java.lang.String[] getSettings()
          Get a list of available settings
 GeneratedRandomValue produceGeneratedRandomValue(java.lang.String d)
          Produces a DiceEvaluation
abstract  void require(java.lang.Object requirement)
          Submit some value that is required before a roll can continue.
 void sendMessage(RpgMessage message)
           
 void setDescription(java.lang.String description)
           
 void setMessageConsumers(java.util.List<RpgMessageConsumer> _consumers)
           
 void setRandomnessFactor(java.lang.Object o)
           
 void setRandomValueHandlers(java.util.List<RandomValueHandler> _handlers)
          Set the DieHandlers for this Roller.
 void setRandomValueResultMapper(RandomValueResultMapper mapper)
          Set the code that maps values in die rolls to result strings.
 void setSetting(java.lang.String setting, java.lang.Object value)
          Sets a setting in the internal settings map to the given value.
 
Methods inherited from class net.sourceforge.rpgee.AbstractIdentified
getId, getIdAsString, setId, setIdAsString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sourceforge.rpgee.messaging.RpgMessageProducer
getMessagingToken
 

Field Detail

moreSettings

protected static java.lang.String[] moreSettings
Constructor Detail

AbstractRandomValueGenerator

public AbstractRandomValueGenerator()
Method Detail

setDescription

public void setDescription(java.lang.String description)

getRandomValueHandlers

public java.util.List<RandomValueHandler> getRandomValueHandlers()
Specified by:
getRandomValueHandlers in interface RandomValueGenerator

getRandomValuesAsString

public java.lang.String getRandomValuesAsString(java.util.List<RandomValue> roll)
                                         throws RandomValueException
Description copied from interface: RandomValueGenerator
GameMapModel the dice rolls in roll with a mapper if available

Specified by:
getRandomValuesAsString in interface RandomValueGenerator
Returns:
String representation of the dice rolled
Throws:
RandomValueException

getDescription

public java.lang.String getDescription()
Specified by:
getDescription in interface Describable

getHTMLDescription

public java.lang.String getHTMLDescription()
Specified by:
getHTMLDescription in interface Describable

setRandomValueHandlers

public void setRandomValueHandlers(java.util.List<RandomValueHandler> _handlers)
Description copied from interface: RandomValueGenerator
Set the DieHandlers for this Roller. Die handlers manage the effect of an individual die and are allowed to transform the value rolled by the randomizer into a new value before display.

Specified by:
setRandomValueHandlers in interface RandomValueGenerator

setRandomnessFactor

public void setRandomnessFactor(java.lang.Object o)
Specified by:
setRandomnessFactor in interface RandomValueGenerator

generateRandomness

public void generateRandomness()
                        throws RandomValueException
Description copied from interface: RandomValueGenerator
Reset the "randomness" factor for a RandomValueGenerator. For instance, getting a new Random object with a new seed or shuffling a deck of cards.

Specified by:
generateRandomness in interface RandomValueGenerator
Throws:
RandomValueException

produceGeneratedRandomValue

public GeneratedRandomValue produceGeneratedRandomValue(java.lang.String d)
                                                 throws RandomValueException
Description copied from interface: RandomValueGenerator
Produces a DiceEvaluation

Specified by:
produceGeneratedRandomValue in interface RandomValueGenerator
Returns:
Throws:
RandomValueException

addRandomValueHandler

public void addRandomValueHandler(RandomValueHandler handler)
Description copied from interface: RandomValueGenerator
Add A new RandomValueHandler to the list of handlers for this roller

Specified by:
addRandomValueHandler in interface RandomValueGenerator
Parameters:
handler - RandomValueHandler to add

setSetting

public void setSetting(java.lang.String setting,
                       java.lang.Object value)
                throws InvalidParameterException
Description copied from interface: RandomValueGenerator
Sets a setting in the internal settings map to the given value.

Specified by:
setSetting in interface RandomValueGenerator
Parameters:
setting - String name of the setting
value - Object value to set the setting to
Throws:
InvalidParameterException

getSetting

public java.lang.Object getSetting(java.lang.String key)
Description copied from interface: RandomValueGenerator
Returns the internal map of settings used by the "roll" call

Specified by:
getSetting in interface RandomValueGenerator
Returns:

setRandomValueResultMapper

public void setRandomValueResultMapper(RandomValueResultMapper mapper)
Description copied from interface: RandomValueGenerator
Set the code that maps values in die rolls to result strings.

Specified by:
setRandomValueResultMapper in interface RandomValueGenerator
Parameters:
mapper - The RandomValueResultMapper to map to, or null to use the basic RandomValue's output

getRandomValueResultMapper

public RandomValueResultMapper getRandomValueResultMapper()
Description copied from interface: RandomValueGenerator
Returns the local result mapper

Specified by:
getRandomValueResultMapper in interface RandomValueGenerator
Returns:
Result mapper

getIntegerFromSettings

protected int getIntegerFromSettings(java.lang.String key)
                              throws InvalidParameterException
Throws:
InvalidParameterException

getRandom

protected java.util.Random getRandom()

getSettings

public java.lang.String[] getSettings()
Description copied from interface: RandomValueGenerator
Get a list of available settings

Specified by:
getSettings in interface RandomValueGenerator
Returns:

addMessageConsumer

public void addMessageConsumer(RpgMessageConsumer consumer)
Specified by:
addMessageConsumer in interface RpgMessageProducer

setMessageConsumers

public void setMessageConsumers(java.util.List<RpgMessageConsumer> _consumers)
Specified by:
setMessageConsumers in interface RpgMessageProducer

sendMessage

public void sendMessage(RpgMessage message)
Specified by:
sendMessage in interface RpgMessageProducer

getMoreSettingsNames

protected abstract java.lang.String[] getMoreSettingsNames()

require

public abstract void require(java.lang.Object requirement)
                      throws RandomValueException
Description copied from interface: RandomValueGenerator
Submit some value that is required before a roll can continue. For a deck, this is probably the "minimum number of cards remaining". For some other randomizer, it might be a "minumum randomness". This is purely implementation dependent. For randomizers that don't need this, like dice rollers, an empty implementation is fine.

Specified by:
require in interface RandomValueGenerator
Parameters:
requirement - Some object passed to this function to determine a randomness factor
Throws:
RandomValueException

_internalDiceRoll

public abstract GeneratedRandomValue _internalDiceRoll(java.lang.String d)
                                                throws RandomValueException
Throws:
RandomValueException

_internalPostSetSetting

public abstract void _internalPostSetSetting(java.lang.String setting,
                                             java.lang.Object value)
                                      throws InvalidParameterException
Throws:
InvalidParameterException

_internalPreSetSetting

public abstract void _internalPreSetSetting(java.lang.String setting,
                                            java.lang.Object value)
                                     throws InvalidParameterException
Throws:
InvalidParameterException


Copyright © 2006 An Infinite Number of Monkeys. All Rights Reserved.