org.problets.domain.model.control.iteration
Class IWhileModel

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.control.ControlModel
          extended by org.problets.domain.model.control.ConditionControl
              extended by org.problets.domain.model.control.iteration.AbstractLoopModel
                  extended by org.problets.domain.model.control.iteration.WhileModel
                      extended by org.problets.domain.model.control.iteration.IWhileModel
All Implemented Interfaces:
java.lang.Cloneable

public class IWhileModel
extends WhileModel

Class: IWhileLoopModel Purpose: Class for infinite while loops

Author:
Greg Tomalesky

Field Summary
 
Fields inherited from class org.problets.domain.model.control.iteration.WhileModel
IDENTITY
 
Fields inherited from class org.problets.domain.model.control.iteration.AbstractLoopModel
ASSIGNMENT_IN_CONDITION, CONST_CONDITION, DECLARATION_IN_CONDITION, INCORRECT_UPDATE, NO_UPDATE, NULL_CONDITION, TERMINAL_MODIFIED
 
Fields inherited from class org.problets.domain.model.control.ConditionControl
INCORRECT_TYPE
 
Fields inherited from class org.problets.domain.model.control.ControlModel
ABORT_EXECUTION, BREAK_EXECUTION, CONTINUE_EXECUTION, END_EXECUTION, INFINITE_EXECUTION, RETURN_EXECUTION, RUN_TIME_ERROR_EXECUTION, SKIP_EXECUTION
 
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, 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
IWhileModel(ActivationRecord parent, HeapModel heap, java.lang.String in_template, int in_scopeType)
          public IWhileModel(ActivationRecord parent, HeapModel heap, String in_template, int in_scopeType); The constructor for the IWhileModel class
 
Method Summary
 ExecutionStatus explainProcess(RunEnv runEnv, Behavior behavior, boolean stepFlag)
          public void explainProcess(Vector explanation, Vector errors, String occasion, int lineNumber); This function generates the explanation of the code for the student.
 void getCode(java.util.Vector codeText, OutputStream output)
          public void getCode(Vector codeText, String codeType, String template, int lineNumber); This function generates the code seen by the student
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.problets.domain.model.control.iteration.WhileModel
getName, grade
 
Methods inherited from class org.problets.domain.model.control.iteration.AbstractLoopModel
getLoopValues, getPossibleErrors
 
Methods inherited from class org.problets.domain.model.control.ControlModel
getCodeLength, getStartLineNumber
 
Methods inherited from class org.problets.domain.model.DomainModel
clone, getId, getIdName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IWhileModel

public IWhileModel(ActivationRecord parent,
                   HeapModel heap,
                   java.lang.String in_template,
                   int in_scopeType)
public IWhileModel(ActivationRecord parent, HeapModel heap, String in_template, int in_scopeType); The constructor for the IWhileModel class

Parameters:
parent - - an Activation record passed from the parent
heap - - the heap object used
in_template - - holds the infinite while-loop template
in_scopeType - - the scope type for this scope object
Method Detail

getCode

public void getCode(java.util.Vector codeText,
                    OutputStream output)
public void getCode(Vector codeText, String codeType, String template, int lineNumber); This function generates the code seen by the student

Overrides:
getCode in class WhileModel
Parameters:
codeText - - a vector that holds the code
codeType - - the type of code this is. NOT USED
template - - the template being used
lineNumber - - the starting line number for generation

explainProcess

public ExecutionStatus explainProcess(RunEnv runEnv,
                                      Behavior behavior,
                                      boolean stepFlag)
public void explainProcess(Vector explanation, Vector errors, String occasion, int lineNumber); This function generates the explanation of the code for the student.

Overrides:
explainProcess in class WhileModel
Parameters:
explanation - - a vector holding the explanation lines
errors - - a vector holding the error lines
occasion - - determines what part of explanation occurs
lineNumber - - the line number to start explanation from
Returns:
Status of execution

main

public static void main(java.lang.String[] args)