operators
Class PSRmoveto

java.lang.Object
  extended byoperators.PSRmoveto
All Implemented Interfaces:
PSObject, PSOperator, PSPathOperator

public class PSRmoveto
extends java.lang.Object
implements PSPathOperator

Implements PSPathOperator interface.

Methods such as getOperatorToken() are inherited from PSPathOperator interface which, in turn, are inherited from PSOperator. This concrete class is responsible for moving the "pen" to the point = (current position + x, current position + y) without drawing anything.

Before moving, action() has to check if there are 2 PSNumber literals on top of the Runtime Stack.


Constructor Summary
PSRmoveto()
           
 
Method Summary
 void action(PSStack s, PSPath p)
          Updates the variables which hold the current position and the last move in the Graphics Stack.
 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PSRmoveto

public PSRmoveto()
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 "rmoveto".

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.

Moving the "pen" can occur if the coordinates have been given.

Precondition : A valid instance of PSStack is given with 2 PSNumber literals 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,
                   PSPath p)
Updates the variables which hold the current position and the last move in the Graphics Stack.

Precondition : A valid stack is given to method with 2 PSNumber literals on top.
Postcondition : The variable holding the current position will change to (current position + x, current position + y) and the variable holding the last move will change to the new current position. (Note: the stack returns the y first).

Specified by:
action in interface PSPathOperator
Parameters:
s - The Runtime Stack which holds the coordinates.
p - The Graphics Stack.