org.qtitools.qti.node.expression.operator
Class Product
java.lang.Object
org.qtitools.qti.node.AbstractNode
org.qtitools.qti.node.AbstractObject
org.qtitools.qti.node.expression.AbstractExpression
org.qtitools.qti.node.expression.operator.Product
- All Implemented Interfaces:
- java.io.Serializable, Expression, ExpressionParent, XmlNode, XmlObject, Validatable
public class Product
- extends AbstractExpression
The product operator takes 1 or more sub-expressions which all have single cardinality and have
numerical base-types. The result is A single float or, if all sub-expressions are of integer type,
A single integer that corresponds to the product of the numerical values of the sub-expressions.
If any of the sub-expressions are NULL then the operator results in NULL.
- Author:
- Jiri Kajaba
- See Also:
Cardinality,
BaseType,
Serialized Form
|
Field Summary |
static java.lang.String |
CLASS_TAG
Name of this class in xml schema. |
|
Method Summary |
protected Value |
evaluateSelf(int depth)
Evaluates this expression. |
java.lang.String |
getClassTag()
Gets QTI class name of this node. |
BaseType[] |
getProducedBaseTypes()
Gets list of all possible produced baseTypes after evaluation (possible baseTypes of evaluated result). |
| Methods inherited from class org.qtitools.qti.node.expression.AbstractExpression |
evaluate, getBaseType, getCardinality, getChildren, getFirstChild, getParent, getParentRequiredBaseTypes, getParentRequiredCardinalities, getProducedCardinalities, getProducedNumericalBaseTypes, getRequiredBaseTypes, getRequiredCardinalities, getRequiredSameBaseTypes, getRequiredSameCardinalities, getSecondChild, getType, getValue, isAnyChildNull, isNull, isVariable, reset, toString, validate |
| 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, validateAttributes, 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.XmlNode |
getAttributes, getFullName, getNodeGroups, getParentRoot, getSimpleName, getSourceFile, getSourceNode, getSourceString, getSourceUrl, hasChildNodes, load, load, load, load, setSourceFile, setSourceNode, setSourceString, setSourceUrl, toXmlString, toXmlString |
CLASS_TAG
public static final java.lang.String CLASS_TAG
- Name of this class in xml schema.
- See Also:
- Constant Field Values
Product
public Product(ExpressionParent parent)
- Constructs expression.
- Parameters:
parent - parent of this expression
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
getProducedBaseTypes
public BaseType[] getProducedBaseTypes()
- Description copied from interface:
Expression
- Gets list of all possible produced baseTypes after evaluation (possible baseTypes of evaluated result).
Result of this method can change in time.
Static example is expression or. Expression or can produce only boolean baseType and it cannot change.
Dynamic example is expression variable. Expression variable can produce any baseType before evaluation.
After evaluation it produces baseType of its result (and it can change every evaluation call!).
Null expression, empty containers (multiple, ordered, record), or NULL values produces all baseTypes.
So they are compatible with anything.
- Specified by:
getProducedBaseTypes in interface Expression- Overrides:
getProducedBaseTypes in class AbstractExpression
- Returns:
- list of all possible produced baseTypes after evaluation
evaluateSelf
protected Value 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
Copyright © 2009. All Rights Reserved.