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

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

public class Inside
extends AbstractExpression

The inside operator takes A single sub-expression which must have A baseType of point. The result is A single boolean with A value of true if the given point is inside the area defined by shape and coords. If the sub-expression is A container the result is true if any of the points are inside the area. If either sub-expression is NULL then the operator results in NULL.

This implementation doesn't support record container, default shape and percentage values.

Separator of coordinate values is not comma but space.

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

Field Summary
static java.util.List<java.lang.Integer> ATTR_COORDINATES_DEFAULT_VALUE
          Default value of coords attribute.
static java.lang.String ATTR_COORDINATES_NAME
          Name of coords attribute in xml schema.
static java.lang.String ATTR_SHAPE_NAME
          Name of shape 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
Inside(ExpressionParent parent)
          Constructs expression.
 
Method Summary
protected  Value evaluateSelf(int depth)
          Evaluates this expression.
 java.lang.String getClassTag()
          Gets QTI class name of this node.
 java.util.List<java.lang.Integer> getCoordinates()
          Gets value of coords attribute.
 Shape getShape()
          Gets value of shape attribute.
 void setShape(Shape shape)
          Sets new value of shape attribute.
protected  ValidationResult validateAttributes()
          Validates attributes of this node.
 
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, 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_SHAPE_NAME

public static final java.lang.String ATTR_SHAPE_NAME
Name of shape attribute in xml schema.

See Also:
Constant Field Values

ATTR_COORDINATES_NAME

public static final java.lang.String ATTR_COORDINATES_NAME
Name of coords attribute in xml schema.

See Also:
Constant Field Values

ATTR_COORDINATES_DEFAULT_VALUE

public static final java.util.List<java.lang.Integer> ATTR_COORDINATES_DEFAULT_VALUE
Default value of coords attribute.

Constructor Detail

Inside

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

getShape

public Shape getShape()
Gets value of shape attribute.

Returns:
value of shape attribute
See Also:
setShape(org.qtitools.qti.node.expression.operator.Shape)

setShape

public void setShape(Shape shape)
Sets new value of shape attribute.

Parameters:
shape - new value of shape attribute
See Also:
getShape()

getCoordinates

public java.util.List<java.lang.Integer> getCoordinates()
Gets value of coords attribute.

Returns:
value of coords attribute

validateAttributes

protected ValidationResult validateAttributes()
Description copied from class: AbstractNode
Validates attributes of this node.

Overrides:
validateAttributes in class AbstractNode
Returns:
result of validation

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.