operators
Class PSLoop

java.lang.Object
  extended byoperators.PSLoop
All Implemented Interfaces:
pstypes.PSFlowOperator, pstypes.PSObject, pstypes.PSOperator

public class PSLoop
extends java.lang.Object
implements pstypes.PSFlowOperator

Implements PSFlowOperator interface.

Methods such as getOperatorToken() are inherited from PSFlowOperator interface which, in turn, are inherited from PSOperator. This concrete class is responsible for repeating an executable array.


Constructor Summary
PSLoop()
           
 
Method Summary
 void action(dtypes.PSStack s)
          Repeats an executable array forever unless it contains an exit command.
 java.lang.String getOperatorToken()
          Returns the token identifying this operator.
 boolean isValid(dtypes.PSStack s)
          Checks if it valid to use this operator now.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PSLoop

public PSLoop()
Method Detail

getOperatorToken

public java.lang.String getOperatorToken()
Returns the token identifying this operator.

Returns the name of the operand that this concrete class simulates, here "loop".

Precondition : A valid operator class has been created.
Postcondition : A string is returned, labeling the semantics of this class.

Specified by:
getOperatorToken in interface pstypes.PSOperator
Returns:
The token identifying this operator.

isValid

public boolean isValid(dtypes.PSStack s)
                throws exceptions.PSSyntaxException
Checks if it valid to use this operator now.

Loop can occur only if a valid executable array is given.

Precondition : A valid instance of PSStack with an executable array on top.
Postcondition : A reply to the question whether the operator can perfom its defined behaviour.

Specified by:
isValid in interface pstypes.PSOperator
Parameters:
s - A reference to PSStack instance.
Returns:
True if the operation can be executed, false otherwise.
Throws:
exceptions.PSSyntaxException - The syntax of the token is wrong.

action

public void action(dtypes.PSStack s)
Repeats an executable array forever unless it contains an exit command.

Precondition : A valid stack is given to method with an executable array on top.
Postcondition : The array will be executed over and over.

Specified by:
action in interface pstypes.PSFlowOperator
Parameters:
s - The Runtime Stack which contains the array.