edu.stanford.multiagent.gamer
Class Parameters

java.lang.Object
  |
  +--edu.stanford.multiagent.gamer.Parameters

public class Parameters
extends java.lang.Object

Class to hold parameter array objects and return parameter info.


Nested Class Summary
static class Parameters.ParamInfo
          Structure to hold parameter information
 
Constructor Summary
Parameters(Parameters.ParamInfo[] paramInfo)
          The constructor
 
Method Summary
 void checkSet()
          Checks that every parameter has been set somehow
 boolean getBooleanParameter(java.lang.String name)
           
 double getDoubleParameter(java.lang.String name)
           
 long getLongParameter(java.lang.String name)
           
 java.lang.String getName(int i)
          Returns name of ith parameter
 int getNParams()
          Returns number of parameters
 java.lang.Object getParameter(int n)
           
 java.lang.Object getParameter(java.lang.String name)
           
 java.lang.Object[] getParameters()
          Implement accessors for parameters
 java.util.HashMap getParametersAsHash()
          Returns parameters as a hashmap
protected  int getParamIndex(java.lang.String name)
           
 Parameters.ParamInfo[] getParamInfo()
          Returns parameter information
 boolean[] getParamSet()
          Returns parameter set
 edu.stanford.multiagent.gamer.ParamParser getParserParameter(java.lang.String name)
           
 java.lang.String getPrintableInfo()
          Returns parameter info in a string with help
 java.lang.String getStringParameter(java.lang.String name)
           
 java.util.Vector getVectorParameter(java.lang.String name)
           
protected  boolean isParamSet(int n)
          Check if indexed parameter is set
protected  boolean isParamSet(java.lang.String name)
          Check if parameter with the given name is set
 void randomizeParameter(int i)
          Randomize a single parameter based on its range.
 void randomizeParameter(java.lang.String name)
           
 void randomizeParameters()
          Sets parameters uniformly at random.
 boolean setByUser(java.lang.String name)
          Return true if the parameter was set by the user and false otherwise
 void setFromParams(edu.stanford.multiagent.gamer.Parameters p)
          Parses parameters and checks to make sure the required ones are there
 void setFromParser(edu.stanford.multiagent.gamer.ParamParser p)
          Parses parameters and checks to make sure the required ones are there
 void setParameter(int n, java.lang.Object val)
           
 void setParameter(int n, java.lang.Object val, boolean byUser)
           
 void setParameter(java.lang.String name, java.lang.Object val)
           
 void setParameter(java.lang.String name, java.lang.Object val, boolean byUser)
           
 void setParameters(java.lang.Object[] params)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Parameters

public Parameters(Parameters.ParamInfo[] paramInfo)
The constructor

Parameters:
paramInfo - an array of parameter information used to set up the hashmap and other necessary variables
Method Detail

setFromParser

public void setFromParser(edu.stanford.multiagent.gamer.ParamParser p)
                   throws java.lang.Exception
Parses parameters and checks to make sure the required ones are there

java.lang.Exception

setFromParams

public void setFromParams(edu.stanford.multiagent.gamer.Parameters p)
                   throws java.lang.Exception
Parses parameters and checks to make sure the required ones are there

java.lang.Exception

checkSet

public void checkSet()
              throws java.lang.Exception
Checks that every parameter has been set somehow

Throws:
java.lang.Exception - if a required parameter is missing

getPrintableInfo

public java.lang.String getPrintableInfo()
Returns parameter info in a string with help


getName

public java.lang.String getName(int i)
Returns name of ith parameter


getParamInfo

public Parameters.ParamInfo[] getParamInfo()
Returns parameter information


getParamSet

public boolean[] getParamSet()
Returns parameter set


getParametersAsHash

public java.util.HashMap getParametersAsHash()
Returns parameters as a hashmap


getNParams

public int getNParams()
Returns number of parameters


isParamSet

protected boolean isParamSet(int n)
Check if indexed parameter is set


isParamSet

protected boolean isParamSet(java.lang.String name)
Check if parameter with the given name is set


getParameters

public java.lang.Object[] getParameters()
Implement accessors for parameters


setParameters

public void setParameters(java.lang.Object[] params)
                   throws java.lang.Exception
java.lang.Exception

getParameter

public java.lang.Object getParameter(int n)

getParameter

public java.lang.Object getParameter(java.lang.String name)

setParameter

public void setParameter(int n,
                         java.lang.Object val)
                  throws java.lang.Exception
java.lang.Exception

setParameter

public void setParameter(int n,
                         java.lang.Object val,
                         boolean byUser)
                  throws java.lang.Exception
java.lang.Exception

setParameter

public void setParameter(java.lang.String name,
                         java.lang.Object val)
                  throws java.lang.Exception
java.lang.Exception

setParameter

public void setParameter(java.lang.String name,
                         java.lang.Object val,
                         boolean byUser)
                  throws java.lang.Exception
java.lang.Exception

getParamIndex

protected int getParamIndex(java.lang.String name)

getLongParameter

public long getLongParameter(java.lang.String name)

getDoubleParameter

public double getDoubleParameter(java.lang.String name)

getStringParameter

public java.lang.String getStringParameter(java.lang.String name)

getVectorParameter

public java.util.Vector getVectorParameter(java.lang.String name)

getBooleanParameter

public boolean getBooleanParameter(java.lang.String name)

getParserParameter

public edu.stanford.multiagent.gamer.ParamParser getParserParameter(java.lang.String name)

setByUser

public boolean setByUser(java.lang.String name)
Return true if the parameter was set by the user and false otherwise


randomizeParameter

public void randomizeParameter(int i)
Randomize a single parameter based on its range. Note that this will result in the same status as set by user (i.e. non-default).


randomizeParameter

public void randomizeParameter(java.lang.String name)

randomizeParameters

public void randomizeParameters()
Sets parameters uniformly at random. Can be overridden in subclasses for non uniform distribution, and for constraints on parameters.