operators
Class PSAbs

java.lang.Object
  extended byoperators.PSAbs
All Implemented Interfaces:
pstypes.PSArithmeticOperator, pstypes.PSObject, pstypes.PSOperator

public class PSAbs
extends java.lang.Object
implements pstypes.PSArithmeticOperator

Implements PSArithmeticOperator interface.

Methods such as getOperatorToken() are inherited by PSArithmenticOperator interface which in turn, are inherited by PSOperator.This concrete class is responsible for the absolute value a number found on the top of the stack.

Before the absolute value,action() checks : First,there has to be at least one element inside the stack. Second, the operand must be a number,ie types is PSNumber.Last,the absolute value is performed.


Constructor Summary
PSAbs()
           
 
Method Summary
 void action(dtypes.PSStack s)
          Performs absolute value on two operands.
 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

PSAbs

public PSAbs()
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 "abs".

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.

The absolute value can occur only if the stack contains an PSNumber object.

Precondition : A valid instance of PSStack is given.
Postcondition : A reply to the question whether the absolute value can occur.

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

action

public void action(dtypes.PSStack s)
Performs absolute value on two operands.

Perfoms the absolute value upon the top two elements of the stack .

Precondition : A valid stack is given to method with at least one PSNumber operand.
Postcondition : ABS function will be performed and the result will be stored back to the stack.

Specified by:
action in interface pstypes.PSArithmeticOperator
Parameters:
s - The Run-time Stack where the operand is retrieved and the result is stored.