org.qtitools.qti.node.expression.general
Class RandomInteger

java.lang.Object
  extended by org.qtitools.qti.node.AbstractNode
      extended by org.qtitools.qti.node.AbstractObject
          extended by org.qtitools.qti.node.expression.AbstractExpression
              extended by org.qtitools.qti.node.expression.RandomExpression
                  extended by org.qtitools.qti.node.expression.general.RandomInteger
All Implemented Interfaces:
java.io.Serializable, Expression, ExpressionParent, XmlNode, XmlObject, Validatable
Direct Known Subclasses:
RandomIntegerEx

public class RandomInteger
extends RandomExpression

Selects A random integer from the specified range [min,max] satisfying min + step * n for some integer n. For example, with min=2, max=11 and step=3 the values {2,5,8,11} are possible.

Additional conditions: max >= min, step >= 1

Author:
Jiri Kajaba
See Also:
Serialized Form

Field Summary
static java.lang.String ATTR_MAXIMUM_NAME
          Name of max attribute in xml schema.
static java.lang.String ATTR_MINIMUM_NAME
          Name of min attribute in xml schema.
static int ATTR_STEP_DEFAULT_VALUE
          Default value of step attribute.
static java.lang.String ATTR_STEP_NAME
          Name of step attribute in xml schema.
static java.lang.String CLASS_TAG
          Name of this class in xml schema.
 
Fields inherited from class org.qtitools.qti.node.expression.AbstractExpression
logger
 
Fields inherited from interface org.qtitools.qti.node.expression.Expression
DISPLAY_NAME
 
Fields inherited from interface org.qtitools.qti.node.XmlNode
INDENT, NEW_LINE, SIMPLE_NAME_INNER_SEPARATOR, SIMPLE_NAMES_SEPARATOR
 
Constructor Summary
RandomInteger(ExpressionParent parent)
          Constructs expression.
 
Method Summary
protected  IntegerValue evaluateSelf(int depth)
          Evaluates this expression.
 java.lang.String getClassTag()
          Gets QTI class name of this node.
 java.lang.Integer getMaximum()
          Gets value of max attribute.
 java.lang.Integer getMinimum()
          Gets value of min attribute.
protected  java.lang.Long getSeedAttributeValue()
          Gets value of seed attribute.
 java.lang.Integer getStep()
          Gets value of step attribute.
 boolean isVariable()
          Returns true if value of evaluation can change every evaluation call; false otherwise.
 void setMaximum(java.lang.Integer maximum)
          Sets new value of max attribute.
 void setMinimum(java.lang.Integer minimum)
          Sets new value of min attribute.
 void setStep(java.lang.Integer step)
          Sets new value of step attribute.
protected  ValidationResult validateAttributes()
          Validates attributes of this node.
 
Methods inherited from class org.qtitools.qti.node.expression.RandomExpression
getRandomGenerator
 
Methods inherited from class org.qtitools.qti.node.expression.AbstractExpression
evaluate, getBaseType, getCardinality, getChildren, getFirstChild, getParent, getParentRequiredBaseTypes, getParentRequiredCardinalities, getProducedBaseTypes, getProducedCardinalities, getProducedNumericalBaseTypes, getRequiredBaseTypes, getRequiredCardinalities, getRequiredSameBaseTypes, getRequiredSameCardinalities, getSecondChild, getType, getValue, isAnyChildNull, isNull, reset, toString, validate
 
Methods inherited from class org.qtitools.qti.node.AbstractObject
getParentItem, getParentResult, getParentTest, setParent
 
Methods inherited from class org.qtitools.qti.node.AbstractNode
attrToXmlString, bodyToXmlString, getAttributes, getFullName, getIndent, getNode, getNode, getNode, getNodeGroups, getParentRoot, getSimpleName, getSourceFile, getSourceNode, getSourceString, getSourceUrl, hasChildNodes, load, load, load, load, loadAttributes, readChild, readChildren, setParent, setSourceFile, setSourceNode, setSourceString, setSourceUrl, toXmlString, toXmlString, validateChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.qtitools.qti.node.XmlObject
getParentItem, getParentResult, getParentTest, setParent
 
Methods inherited from interface org.qtitools.qti.node.XmlNode
getAttributes, getFullName, getNodeGroups, getParentRoot, getSimpleName, getSourceFile, getSourceNode, getSourceString, getSourceUrl, hasChildNodes, load, load, load, load, setSourceFile, setSourceNode, setSourceString, setSourceUrl, toXmlString, toXmlString
 

Field Detail

CLASS_TAG

public static final java.lang.String CLASS_TAG
Name of this class in xml schema.

See Also:
Constant Field Values

ATTR_MINIMUM_NAME

public static final java.lang.String ATTR_MINIMUM_NAME
Name of min attribute in xml schema.

See Also:
Constant Field Values

ATTR_MAXIMUM_NAME

public static final java.lang.String ATTR_MAXIMUM_NAME
Name of max attribute in xml schema.

See Also:
Constant Field Values

ATTR_STEP_NAME

public static final java.lang.String ATTR_STEP_NAME
Name of step attribute in xml schema.

See Also:
Constant Field Values

ATTR_STEP_DEFAULT_VALUE

public static final int ATTR_STEP_DEFAULT_VALUE
Default value of step attribute.

See Also:
Constant Field Values
Constructor Detail

RandomInteger

public RandomInteger(ExpressionParent parent)
Constructs expression.

Parameters:
parent - parent of this expression
Method Detail

getClassTag

public java.lang.String getClassTag()
Description copied from interface: XmlNode
Gets QTI class name of this node.

QTI class name has very important role during loading/saving nodes.

For example: Java class name is AssessmentTest; QTI class name is assessmentTest.

Specified by:
getClassTag in interface XmlNode
Specified by:
getClassTag in class AbstractNode
Returns:
QTI class name of this node

getMinimum

public java.lang.Integer getMinimum()
Gets value of min attribute.

Returns:
value of min attribute
See Also:
setMinimum(java.lang.Integer)

setMinimum

public void setMinimum(java.lang.Integer minimum)
Sets new value of min attribute.

Parameters:
minimum - new value of min attribute
See Also:
getMinimum()

getMaximum

public java.lang.Integer getMaximum()
Gets value of max attribute.

Returns:
value of max attribute
See Also:
setMaximum(java.lang.Integer)

setMaximum

public void setMaximum(java.lang.Integer maximum)
Sets new value of max attribute.

Parameters:
maximum - new value of max attribute
See Also:
getMaximum()

getStep

public java.lang.Integer getStep()
Gets value of step attribute.

Returns:
value of step attribute
See Also:
setStep(java.lang.Integer)

setStep

public void setStep(java.lang.Integer step)
Sets new value of step attribute.

Parameters:
step - new value of step attribute
See Also:
getStep()

getSeedAttributeValue

protected java.lang.Long getSeedAttributeValue()
Description copied from class: RandomExpression
Gets value of seed attribute.

Specified by:
getSeedAttributeValue in class RandomExpression
Returns:
value of seed attribute

validateAttributes

protected ValidationResult validateAttributes()
Description copied from class: AbstractNode
Validates attributes of this node.

Overrides:
validateAttributes in class AbstractNode
Returns:
result of validation

evaluateSelf

protected IntegerValue evaluateSelf(int depth)
Description copied from class: AbstractExpression
Evaluates this expression. All children must be already evaluated. Contains no checks.

Specified by:
evaluateSelf in class AbstractExpression
Parameters:
depth - depth of this expression in expression tree (root's depth = 0)
Returns:
result of evaluation

isVariable

public boolean isVariable()
Description copied from interface: Expression
Returns true if value of evaluation can change every evaluation call; false otherwise. It checks this expression and all of its children (if any child is variable, this expression becomes variable too). Example of variable expressions: variable and outcome expressions.

Specified by:
isVariable in interface Expression
Overrides:
isVariable in class AbstractExpression
Returns:
true if value of evaluation can change every evaluation call; false otherwise


Copyright © 2009. All Rights Reserved.