operators
Class PSLength

java.lang.Object
  extended byoperators.PSLength
All Implemented Interfaces:
PSObject, PSOperator, PSStringOperator

public class PSLength
extends java.lang.Object
implements PSStringOperator

Implements PSStringOperator interface.

Methods such as getOperatorToken() are inherited from PSStringOperator interface which, in turn, are inherited from PSOperator. This concrete class is responsible for returning the size of a string.


Constructor Summary
PSLength()
           
 
Method Summary
 void action(PSStack s)
          Returns the length of the string given.
 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

PSLength

public PSLength()
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 "length".

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.

The length can be returned if a valid string is given.

Precondition : A valid instance of PSStack with a PSString on top.
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)
Returns the length of the string given.

Precondition : A valid stack is given to method with a PSString on top.
Postcondition : The size of the string will be pushed as a PSNumber to the stack.

Specified by:
action in interface PSStringOperator
Parameters:
s - The Runtime Stack which contains the string and will hold the size.