org.erights.e.elang.scope
Class ForwardingSlot

java.lang.Object
  |
  +--org.erights.e.elang.scope.ForwardingSlot
All Implemented Interfaces:
JMatcher, Slot

class ForwardingSlot
extends Object
implements Slot, JMatcher

Used to implement unary '&' (SlotExpr) when the variable is in a mutable OuterScope.

Author:
Mark S. Miller

Field Summary
private  int myIndex
           
private  OuterScope myOuters
           
 
Constructor Summary
(package private) ForwardingSlot(OuterScope outers, int index)
          Always acts like whatever Slot is currently at 'index' in 'outers'.
 
Method Summary
 Object getValue()
          Forwards
 Object match(String verb, ConstList args)
          Forwards
 void setValue(Object specimen)
          Forwards
(package private)  Slot target()
          The slot I currently forward to
 String toString()
          Suppressed: Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myOuters

private final OuterScope myOuters

myIndex

private final int myIndex
Constructor Detail

ForwardingSlot

ForwardingSlot(OuterScope outers,
               int index)
Always acts like whatever Slot is currently at 'index' in 'outers'.

Method Detail

target

Slot target()
The slot I currently forward to


getValue

public Object getValue()
Forwards

Specified by:
getValue in interface Slot

setValue

public void setValue(Object specimen)
Forwards

Specified by:
setValue in interface Slot

match

public Object match(String verb,
                    ConstList args)
Forwards

Specified by:
match in interface JMatcher
Parameters:
verb -
args -
Returns:

toString

public String toString()
Description copied from class: Object
Suppressed: Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Overrides:
toString in class Object
Returns:
a string representation of the object.


comments?