org.qtitools.qti.node.item.template.processing
Class TemplateCondition

java.lang.Object
  extended by org.qtitools.qti.node.AbstractNode
      extended by org.qtitools.qti.node.AbstractObject
          extended by org.qtitools.qti.node.item.template.processing.TemplateRule
              extended by org.qtitools.qti.node.item.template.processing.TemplateCondition
All Implemented Interfaces:
java.io.Serializable, XmlNode, XmlObject, Validatable

public class TemplateCondition
extends TemplateRule

Implementation of if-elseif-else template rule (behaviour is same like in other programming languages).

If the expression given in the templateIf or templateElseIf evaluates to true then the sub-rules contained within it are followed and any following templateElseIf or templateElse parts are ignored for this template condition.

If the expression given in the templateIf or templateElseIf does not evaluate to true then consideration passes to the next templateElseIf or, if there are no more templateElseIf parts then the sub-rules of the templateElse are followed (if specified).

Author:
Jonathon Hare
See Also:
Serialized Form

Field Summary
static java.lang.String CLASS_TAG
          Name of this class in xml schema.
 
Fields inherited from class org.qtitools.qti.node.item.template.processing.TemplateRule
DISPLAY_NAME
 
Fields inherited from interface org.qtitools.qti.node.XmlNode
INDENT, NEW_LINE, SIMPLE_NAME_INNER_SEPARATOR, SIMPLE_NAMES_SEPARATOR
 
Constructor Summary
TemplateCondition(XmlObject parent)
          Constructs rule.
 
Method Summary
 void evaluate()
          Evaluates this rule and all its children.
 java.lang.String getClassTag()
          Gets QTI class name of this node.
 TemplateElse getTemplateElse()
          Gets ELSE child.
 java.util.List<TemplateElseIf> getTemplateElseIfs()
          Gets ELSE-IF children.
 TemplateIf getTemplateIf()
          Gets IF child.
 void setTemplateElse(TemplateElse templateElse)
          Sets new ELSE child.
 void setTemplateIf(TemplateIf templateIf)
          Sets new IF child.
 
Methods inherited from class org.qtitools.qti.node.AbstractObject
getParent, 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, validate, validateAttributes, validateChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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
 
Methods inherited from interface org.qtitools.qti.validation.Validatable
validate
 

Field Detail

CLASS_TAG

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

See Also:
Constant Field Values
Constructor Detail

TemplateCondition

public TemplateCondition(XmlObject parent)
Constructs rule.

Parameters:
parent - parent of this rule
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

getTemplateIf

public TemplateIf getTemplateIf()
Gets IF child.

Returns:
IF child
See Also:
setTemplateIf(org.qtitools.qti.node.item.template.processing.TemplateIf)

setTemplateIf

public void setTemplateIf(TemplateIf templateIf)
Sets new IF child.

Parameters:
templateIf - new IF child
See Also:
getTemplateIf()

getTemplateElseIfs

public java.util.List<TemplateElseIf> getTemplateElseIfs()
Gets ELSE-IF children.

Returns:
ELSE-IF children

getTemplateElse

public TemplateElse getTemplateElse()
Gets ELSE child.

Returns:
ELSE child
See Also:
setTemplateElse(org.qtitools.qti.node.item.template.processing.TemplateElse)

setTemplateElse

public void setTemplateElse(TemplateElse templateElse)
Sets new ELSE child.

Parameters:
templateElse - new ELSE child
See Also:
getTemplateElse()

evaluate

public void evaluate()
              throws QTIProcessingInterrupt
Description copied from class: TemplateRule
Evaluates this rule and all its children.

Specified by:
evaluate in class TemplateRule
Throws:
QTIProcessingInterrupt


Copyright © 2009. All Rights Reserved.