cdx.scorebot.scoring.logic
Class TestConfigValue

java.lang.Object
  extended by cdx.scorebot.scoring.logic.TestConfigValue
All Implemented Interfaces:
LogicCode, LogicCodeEvaluatable, PrimaryExpressionType

public class TestConfigValue
extends java.lang.Object
implements LogicCodeEvaluatable, PrimaryExpressionType

holds the value of some test result

Author:
David Underhill

Constructor Summary
TestConfigValue(TestIdentifier testIden, Identifier configIden)
          identifies a specific test configuration option
 
Method Summary
 Literal evaluateLogic(Context context)
          returns the value of the the specified configuration option for the specified test
 LiteralType evaluateTypeOnly(java.util.HashMap<java.lang.String,LiteralType> varTypes, java.util.HashMap<java.lang.String,TestData> testsInfo)
          returns the kind of literal this evaluates to
 Identifier getConfigIdentifier()
          get test config option identifier
 TestIdentifier getTestIdentifier()
          get test identifier
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestConfigValue

public TestConfigValue(TestIdentifier testIden,
                       Identifier configIden)
identifies a specific test configuration option

Parameters:
testIden - identifier of the test
configIden - identifier of the config option to get
Method Detail

evaluateLogic

public Literal evaluateLogic(Context context)
                      throws LogicException
returns the value of the the specified configuration option for the specified test

Specified by:
evaluateLogic in interface LogicCodeEvaluatable
Parameters:
context - contains the current context of the logic processor
Returns:
the value of the option
Throws:
LogicException - thrown if an exception occurs while processing the logic

evaluateTypeOnly

public LiteralType evaluateTypeOnly(java.util.HashMap<java.lang.String,LiteralType> varTypes,
                                    java.util.HashMap<java.lang.String,TestData> testsInfo)
                             throws LogicException
Description copied from interface: LogicCodeEvaluatable
returns the kind of literal this evaluates to

Specified by:
evaluateTypeOnly in interface LogicCodeEvaluatable
Parameters:
varTypes - contains the type of value stored by each variable (variables names are keys)
testsInfo - information about each test item keyed on test item names this logic may hold
Returns:
the LiteralType this evaluates to
Throws:
LogicException - thrown if there is a problem with type which prevents this from being evaluated

getTestIdentifier

public TestIdentifier getTestIdentifier()
get test identifier


getConfigIdentifier

public Identifier getConfigIdentifier()
get test config option identifier