org.qtitools.qti.node.expression.operator
Class StringMatch

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

public class StringMatch
extends AbstractExpression

The stringMatch operator takes two sub-expressions which must have single and A base-type of string. The result is A single boolean with A value of true if the two strings match according to the comparison rules defined by the attributes below and false if they don't. If either sub-expression is NULL then the operator results in NULL.

Attribute : caseSensitive [1]: boolean

Whether or not the match is to be carried out case sensitively.

Attribute : substring [0..1]: boolean = false

This attribute is now deprecated, the substring operator should be used instead. If true, then the comparison returns true if the first string contains the second one, otherwise it returns true only if they match entirely.

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

Field Summary
static java.lang.String ATTR_CASE_SENSITIVE_NAME
          Name of caseSensitive attribute in xml schema.
static boolean ATTR_SUBSTRING_DEFAULT_VALUE
          Default value of substring attribute.
static java.lang.String ATTR_SUBSTRING_NAME
          Name of substring 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
StringMatch(ExpressionParent parent)
          Constructs expression.
 
Method Summary
protected  Value evaluateSelf(int depth)
          Evaluates this expression.
 java.lang.Boolean getCaseSensitive()
          Gets value of caseSensitive attribute.
 java.lang.String getClassTag()
          Gets QTI class name of this node.
 java.lang.Boolean getSubString()
          Gets value of substring attribute.
 void setCaseSensitive(java.lang.Boolean caseSensitive)
          Sets new value of caseSensitive attribute.
 void setSubString(java.lang.Boolean subString)
          Sets new value of substring attribute.
 
Methods inherited from class org.qtitools.qti.node.expression.AbstractExpression
evaluate, getBaseType, getCardinality, getChildren, getFirstChild, getParent, getParentRequiredBaseTypes, getParentRequiredCardinalities, getProducedBaseTypes, getProducedCardinalities, getProducedNumericalBaseTypes, getRequiredBaseTypes, getRequiredCardinalities, getRequiredSameBaseTypes, getRequiredSameCardinalities, getSecondChild, getType, getValue, isAnyChildNull, isNull, isVariable, reset, toString, validate
 
Methods inherited from class org.qtitools.qti.node.AbstractObject
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, 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.XmlObject
getParentItem, getParentResult, getParentTest, setParent
 
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
 

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_CASE_SENSITIVE_NAME

public static final java.lang.String ATTR_CASE_SENSITIVE_NAME
Name of caseSensitive attribute in xml schema.

See Also:
Constant Field Values

ATTR_SUBSTRING_NAME

public static final java.lang.String ATTR_SUBSTRING_NAME
Name of substring attribute in xml schema.

See Also:
Constant Field Values

ATTR_SUBSTRING_DEFAULT_VALUE

public static final boolean ATTR_SUBSTRING_DEFAULT_VALUE
Default value of substring attribute.

See Also:
Constant Field Values
Constructor Detail

StringMatch

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

getCaseSensitive

public java.lang.Boolean getCaseSensitive()
Gets value of caseSensitive attribute.

Returns:
value of caseSensitive attribute
See Also:
setCaseSensitive(java.lang.Boolean)

setCaseSensitive

public void setCaseSensitive(java.lang.Boolean caseSensitive)
Sets new value of caseSensitive attribute.

Parameters:
caseSensitive - new value of caseSensitive attribute
See Also:
getCaseSensitive()

getSubString

public java.lang.Boolean getSubString()
Gets value of substring attribute.

Returns:
value of substring attribute
See Also:
setSubString(java.lang.Boolean)

setSubString

public void setSubString(java.lang.Boolean subString)
Sets new value of substring attribute.

Parameters:
subString - new value of substring attribute
See Also:
getSubString()

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.