org.problets.domain.model.expression.node.operator.logical
Class Not
java.lang.Object
org.problets.domain.model.DomainModel
org.problets.domain.model.expression.node.NodeModel
org.problets.domain.model.expression.node.operator.Operator
org.problets.domain.model.expression.node.operator.logical.Logical
org.problets.domain.model.expression.node.operator.logical.Not
- All Implemented Interfaces:
- java.lang.Cloneable
public class Not
- extends Logical
To represent not operator
- Author:
- Joshua Go, Amruth Kumar
Fields inherited from class org.problets.domain.model.expression.node.operator.logical.Logical |
TOTAL_OPERATORS |
Fields inherited from class org.problets.domain.model.DomainModel |
BOOLEAN, BREAKPOINT, CHARACTER, DOUBLE_PRECISION_REAL, ERROR_TYPE, EVAL_STATUS, expACTION, expASSIGNMENT, expAUTO_DEALLOCATION, expCALL, expCONDITION, expDECLARATION, expDEREFERENCING, expDYNAMIC_ALLOCATION, expDYNAMIC_ALLOCATION_INITIALIZATION, expDYNAMIC_DEALLOCATION, expELSE_CLAUSE, expERROR, expEXECUTION, expIF_CLAUSE, expINITIALIZATION, expINPUT, expPARAMETER_PASSING, expPRINT, expQUESTIONABLE, expREFERENCING, expRETURN, expRUNTIME_ERROR, expSEMANTIC_ERROR, expSYNTAX_ERROR, expUPDATE, IDENTITY, MAX_OBJECT_IDENTITY, MIN_OBJECT_IDENTITY, QUADRUPLE_PRECISION_REAL, RUNTIME_ERROR, SEMANTIC_ERROR, SIGNED_INTEGER, SIGNED_LONG, SIGNED_SHORT, SINGLE_PRECISION_REAL, SYNTAX_ERROR, UNDEFINED_TYPE, UNSIGNED_INTEGER, UNSIGNED_LONG, UNSIGNED_SHORT, WARNING |
Constructor Summary |
Not()
|
Method Summary |
Value |
evaluate()
Method to detect any errors before subclasses evaluate expressions
Not to be used by client. |
void |
explain(java.util.Vector explanation,
java.util.Vector errors)
Textually explains the evaluation of the subexpression -
as opposed to graphical explanation by the view |
void |
getLocalLearningObjectives(java.util.Vector learnObjVector)
Overrides Operator.getLocalLearningObjectives()
Accounts for:
Incorrect data type error for Java/C#,
and Correct evaluation (Boolean/Other) for Not operator |
Methods inherited from class org.problets.domain.model.expression.node.operator.Operator |
clone, coerceToReal, contentEquals, contentEquals, getArity, getAssociativity, getOperatorType, getPrecedence, getStudentCopy, getSymbol, grade, locateOperator, main, recursiveContentEquals, recursiveSetValue |
Methods inherited from class org.problets.domain.model.expression.node.NodeModel |
classifyNodes, getContent, getLeftChild, getNonRecursiveContent, getOrder, getPosition, getRecursiveContent, getRightChild, getSideEffects, getValue, insertInOrder, setLeftChild, setOrder, setPosition, setRightChild, setValue, shortCircuit, skip, subExpToString, toString, valueEquals |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SYMBOL
public static final java.lang.String SYMBOL
- See Also:
- Constant Field Values
OPERATOR_INAPPLICABLE
public static final java.lang.String OPERATOR_INAPPLICABLE
- See Also:
- Constant Field Values
Not
public Not()
getLocalLearningObjectives
public void getLocalLearningObjectives(java.util.Vector learnObjVector)
- Overrides Operator.getLocalLearningObjectives()
Accounts for:
Incorrect data type error for Java/C#,
and Correct evaluation (Boolean/Other) for Not operator
- Overrides:
getLocalLearningObjectives
in class Operator
evaluate
public Value evaluate()
- Description copied from class:
Operator
- Method to detect any errors before subclasses evaluate expressions
Not to be used by client.
Checks if both operands are valid
Inherited by all except assignment and boolean operators
- Overrides:
evaluate
in class Operator
explain
public void explain(java.util.Vector explanation,
java.util.Vector errors)
- Textually explains the evaluation of the subexpression -
as opposed to graphical explanation by the view
- Overrides:
explain
in class Operator