org.qtitools.qti.node.item.response.processing
Class ResponseCondition

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

public class ResponseCondition
extends ResponseRule

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

If the expression given in the responseIf or responseElseIf evaluates to true then the sub-rules contained within it are followed and any following responseElseIf or responseElse parts are ignored for this response condition.

If the expression given in the responseIf or responseElseIf does not evaluate to true then consideration passes to the next responseElseIf or, if there are no more responseElseIf parts then the sub-rules of the responseElse 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.response.processing.ResponseRule
DISPLAY_NAME
 
Fields inherited from interface org.qtitools.qti.node.XmlNode
INDENT, NEW_LINE, SIMPLE_NAME_INNER_SEPARATOR, SIMPLE_NAMES_SEPARATOR
 
Constructor Summary
ResponseCondition(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.
 ResponseElse getResponseElse()
          Gets ELSE child.
 java.util.List<ResponseElseIf> getResponseElseIfs()
          Gets ELSE-IF children.
 ResponseIf getResponseIf()
          Gets IF child.
 void setResponseElse(ResponseElse responseElse)
          Sets new ELSE child.
 void setResponseIf(ResponseIf responseIf)
          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

ResponseCondition

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

getResponseIf

public ResponseIf getResponseIf()
Gets IF child.

Returns:
IF child
See Also:
setResponseIf(org.qtitools.qti.node.item.response.processing.ResponseIf)

setResponseIf

public void setResponseIf(ResponseIf responseIf)
Sets new IF child.

Parameters:
responseIf - new IF child
See Also:
getResponseIf()

getResponseElseIfs

public java.util.List<ResponseElseIf> getResponseElseIfs()
Gets ELSE-IF children.

Returns:
ELSE-IF children

getResponseElse

public ResponseElse getResponseElse()
Gets ELSE child.

Returns:
ELSE child
See Also:
setResponseElse(org.qtitools.qti.node.item.response.processing.ResponseElse)

setResponseElse

public void setResponseElse(ResponseElse responseElse)
Sets new ELSE child.

Parameters:
responseElse - new ELSE child
See Also:
getResponseElse()

evaluate

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

Specified by:
evaluate in class ResponseRule
Throws:
QTIProcessingInterrupt


Copyright © 2009. All Rights Reserved.