operators
Class PSExit

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

public class PSExit
extends java.lang.Object
implements 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 terminating the nearest loop or for. The method action() has to check if exit is inside a loop or for.


Constructor Summary
PSExit()
           
 
Method Summary
 void action(PSStack s)
          Exits from the nearest loop or for block.
 java.lang.String getOperatorToken()
          Returns the token identifying this operator.
 boolean isValid(PSStack s)
          Checks if it valid to use this operator now.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PSExit

public PSExit()
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 "exit".

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

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

isValid

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

Exiting can occur only if it is inside a loop or for.

Precondition : A valid instance of PSStack and a loop or for block.
Postcondition : A reply to the question whether the operator can perfom its defined behaviour.

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

action

public void action(PSStack s)
Exits from the nearest loop or for block.

Precondition : A valid stack is given to method and the flow is currently inside a loop or for block.
Postcondition : The flow will continue outside the current block.

Specified by:
action in interface PSFlowOperator
Parameters:
s - The Runtime Stack.