Class: InfiniteLoopModel
Author: Greg Tomalesky
Purpose: This class handles creating an explanation for an infinite
loop based on six different types of relational operators:
>, <, >=, <=, ==, !=
Each type of relational operator will have sub-divisions
based on how a condition is always true.
Constructs an InputItem object given a vector that specifies its type,
whether answering it is mandatory (optional),
the question's prompt, and answering options (optional).
Returns true if the order of the node of the original operator
of the StudentNodeView that is a part of this step is less than
that of the right operand, and false otherwise.
Method overridden by UserBuiltNodeView in order to check if any mouse
event (given by the coordinates passed as arguments) occurred inside
any of this node view's child links.
This method will evaluate the 1 operator, up to 2 operands
subexpression selected by the student and find out whether
the partial answer provided by the student is correct
according to the subexpression chosen by the student.
isSeparateStep -
Static variable in class org.problets.domain.model.expression.node.operator.misc.Parenthesis
Given a node name in period-delimited text format, determines
if the node is an AND by checking for a + before the last
name in the string (the target node name).
isValid() -
Method in class org.problets.domain.viz.data.implement.channel.Channel
Returns true if this channel is still valid, i.e., the pointer
and the pointee are in scope, and the pointer is still pointing
to this pointee (necessary to account for re-assignments),
and false otherwise