org.qtitools.qti.node.outcome.processing
Class OutcomeCondition

java.lang.Object
  extended by org.qtitools.qti.node.AbstractNode
      extended by org.qtitools.qti.node.AbstractObject
          extended by org.qtitools.qti.node.outcome.processing.OutcomeRule
              extended by org.qtitools.qti.node.outcome.processing.OutcomeCondition
All Implemented Interfaces:
java.io.Serializable, XmlNode, XmlObject, Validatable

public class OutcomeCondition
extends OutcomeRule

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

If the expression given in the outcomeIf or outcomeElseIf evaluates to true then the sub-rules contained within it are followed and any following outcomeElseIf or outcomeElse parts are ignored for this outcome condition.

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

Author:
Jiri Kajaba
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.outcome.processing.OutcomeRule
DISPLAY_NAME
 
Fields inherited from interface org.qtitools.qti.node.XmlNode
INDENT, NEW_LINE, SIMPLE_NAME_INNER_SEPARATOR, SIMPLE_NAMES_SEPARATOR
 
Constructor Summary
OutcomeCondition(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.
 OutcomeElse getOutcomeElse()
          Gets ELSE child.
 java.util.List<OutcomeElseIf> getOutcomeElseIfs()
          Gets ELSE-IF children.
 OutcomeIf getOutcomeIf()
          Gets IF child.
 void setOutcomeElse(OutcomeElse outcomeElse)
          Sets new ELSE child.
 void setOutcomeIf(OutcomeIf outcomeIf)
          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

OutcomeCondition

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

getOutcomeIf

public OutcomeIf getOutcomeIf()
Gets IF child.

Returns:
IF child
See Also:
setOutcomeIf(org.qtitools.qti.node.outcome.processing.OutcomeIf)

setOutcomeIf

public void setOutcomeIf(OutcomeIf outcomeIf)
Sets new IF child.

Parameters:
outcomeIf - new IF child
See Also:
getOutcomeIf()

getOutcomeElseIfs

public java.util.List<OutcomeElseIf> getOutcomeElseIfs()
Gets ELSE-IF children.

Returns:
ELSE-IF children

getOutcomeElse

public OutcomeElse getOutcomeElse()
Gets ELSE child.

Returns:
ELSE child
See Also:
setOutcomeElse(org.qtitools.qti.node.outcome.processing.OutcomeElse)

setOutcomeElse

public void setOutcomeElse(OutcomeElse outcomeElse)
Sets new ELSE child.

Parameters:
outcomeElse - new ELSE child
See Also:
getOutcomeElse()

evaluate

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

Specified by:
evaluate in class OutcomeRule
Throws:
QTIProcessingInterrupt


Copyright © 2009. All Rights Reserved.