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

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.general.BaseValue
All Implemented Interfaces:
java.io.Serializable, Expression, ExpressionParent, XmlNode, XmlObject, Validatable

public class BaseValue
extends AbstractExpression

The simplest expression returns A single value from the set defined by the given baseType.

Added optional attribute identifier.

Author:
Jiri Kajaba
See Also:
Cardinality, BaseType, Serialized Form

Field Summary
static java.lang.String ATTR_BASE_TYPE_NAME
          Name of baseType 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
BaseValue(ExpressionParent parent)
          Constructs expression.
 
Method Summary
protected  java.lang.String bodyToXmlString(int depth, boolean printDefaultAttributes)
          Prints body (children and/or text content) of this node into xml string.
protected  SingleValue evaluateSelf(int depth)
          Evaluates this expression.
 BaseType getBaseTypeAttrValue()
          Gets value of baseType attribute.
 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).
 java.lang.String getSimpleName()
          Gets simple name of this node.
 SingleValue getSingleValue()
          Gets single value of this baseValue.
protected  void readChildren(org.w3c.dom.Node node)
          Reads all children nodes and/or content from given xml source.
 void setBaseTypeAttrValue(BaseType baseType)
          Sets new value of baseType attribute.
 void setSingleValue(SingleValue singleValue)
          Sets new single value of this baseValue.
 java.lang.String toString()
           
protected  ValidationResult validateChildren()
          Validates children (body) of this node.
 
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, validate
 
Methods inherited from class org.qtitools.qti.node.AbstractObject
getParentItem, getParentResult, getParentTest, setParent
 
Methods inherited from class org.qtitools.qti.node.AbstractNode
attrToXmlString, getAttributes, getFullName, getIndent, getNode, getNode, getNode, getNodeGroups, getParentRoot, getSourceFile, getSourceNode, getSourceString, getSourceUrl, hasChildNodes, load, load, load, load, loadAttributes, readChild, setParent, setSourceFile, setSourceNode, setSourceString, setSourceUrl, toXmlString, toXmlString, validateAttributes
 
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, 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_BASE_TYPE_NAME

public static final java.lang.String ATTR_BASE_TYPE_NAME
Name of baseType attribute in xml schema.

See Also:
Constant Field Values
Constructor Detail

BaseValue

public BaseValue(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

getSimpleName

public java.lang.String getSimpleName()
Description copied from interface: XmlNode
Gets simple name of this node. Simple name contains QTI class name and some additional information to help identify node (if these informations are available).

Simple name is not so important like QTI class name. It servers mostly for displaying informations and in messages.

For example: simple name can be assessmentTest:Test (QTI class name (assessmentTest) + identifier (Test)).

Specified by:
getSimpleName in interface XmlNode
Overrides:
getSimpleName in class AbstractNode
Returns:
simple name of this node
See Also:
XmlNode.getFullName()

getBaseTypeAttrValue

public BaseType getBaseTypeAttrValue()
Gets value of baseType attribute.

Returns:
value of baseType attribute
See Also:
setBaseTypeAttrValue(org.qtitools.qti.value.BaseType)

setBaseTypeAttrValue

public void setBaseTypeAttrValue(BaseType baseType)
Sets new value of baseType attribute.

Parameters:
baseType - new value of baseType attribute.
See Also:
getBaseTypeAttrValue()

getSingleValue

public SingleValue getSingleValue()
Gets single value of this baseValue.

Returns:
single value of this baseValue
See Also:
setSingleValue(org.qtitools.qti.value.SingleValue)

setSingleValue

public void setSingleValue(SingleValue singleValue)
Sets new single value of this baseValue.

Parameters:
singleValue - new single value of this baseValue
See Also:
getSingleValue()

readChildren

protected void readChildren(org.w3c.dom.Node node)
Description copied from class: AbstractNode
Reads all children nodes and/or content from given xml source. Every subclass must implement its own children nodes and/or content reading. If there are no children nodes and content do nothing (you don't even need to override this method).

Overrides:
readChildren in class AbstractNode
Parameters:
node - xml source

bodyToXmlString

protected java.lang.String bodyToXmlString(int depth,
                                           boolean printDefaultAttributes)
Description copied from class: AbstractNode
Prints body (children and/or text content) of this node into xml string.

Overrides:
bodyToXmlString in class AbstractNode
Parameters:
depth - depth in xml tree (root = 0)
printDefaultAttributes - whether print attributes with default values
Returns:
xml string with printed body (children and/or text content) 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

validateChildren

protected ValidationResult validateChildren()
Description copied from class: AbstractNode
Validates children (body) of this node.

Overrides:
validateChildren in class AbstractNode
Returns:
result of validation

evaluateSelf

protected SingleValue 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

toString

public java.lang.String toString()
Overrides:
toString in class AbstractExpression


Copyright © 2009. All Rights Reserved.