lrs
Class ANode

java.lang.Object
  extended by lrs.ANode
Direct Known Subclasses:
EmptyNode, LazyNonNullState, NENode

abstract class ANode
extends java.lang.Object

Represents the abstract list state. Has a concrete toString () method that uses anynomous inner classes to compute the String representation of the LRStruct owner.

Since:
8/25/05

Field Summary
static IAlgo ToStringAlgo
          Uses anonymous visitor class to compute a String representation.
 
Constructor Summary
ANode()
           
 
Method Summary
(package private) abstract  java.lang.Object execute(LRStruct owner, IAlgo algo, java.lang.Object... inp)
          Executes a visitor algorithm and returns the output.
(package private) abstract  java.lang.Object getFirst(LRStruct owner)
          Returns the first data object of the referencing LRStruct.
(package private) abstract  LRStruct getRest(LRStruct owner)
          Returns the tail LRStruct of the referencing LRStruct.
(package private) abstract  LRStruct insertFront(java.lang.Object dat, LRStruct owner)
          Inserts a data object at the front of the LRStruct owner.
(package private) abstract  java.lang.Object removeFront(LRStruct owner)
          Removes and returns the first data object for the referencing LRStruct.
(package private) abstract  LRStruct setFirst(java.lang.Object dat, LRStruct owner)
          Sets a new first data object for the referencing LRStruct.
(package private) abstract  LRStruct setRest(LRStruct tail, LRStruct owner)
          Sets a new tail for the referencing LRStruct.
(package private)  java.lang.String toString(LRStruct owner)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ToStringAlgo

public static final IAlgo ToStringAlgo
Uses anonymous visitor class to compute a String representation.

Constructor Detail

ANode

ANode()
Method Detail

toString

java.lang.String toString(LRStruct owner)

getRest

abstract LRStruct getRest(LRStruct owner)
Returns the tail LRStruct of the referencing LRStruct.

Parameters:
owner - the LRStruct referencing this ANode.
Returns:
the tail LRStruct of owner.

getFirst

abstract java.lang.Object getFirst(LRStruct owner)
Returns the first data object of the referencing LRStruct.

Parameters:
owner - the LRStruct referencing this ANode.
Returns:
the tail LRStruct of owner.

setRest

abstract LRStruct setRest(LRStruct tail,
                          LRStruct owner)
Sets a new tail for the referencing LRStruct.

Parameters:
tail - the new tail for the owner LRStruct.
owner - the LRS referencing this ANode.
Returns:
LRStruct owner

setFirst

abstract LRStruct setFirst(java.lang.Object dat,
                           LRStruct owner)
Sets a new first data object for the referencing LRStruct.

Parameters:
first - the new data object for this ANode.
owner - the LRS referencing this ANode.
Returns:
LRStruct owner

insertFront

abstract LRStruct insertFront(java.lang.Object dat,
                              LRStruct owner)
Inserts a data object at the front of the LRStruct owner.

Parameters:
dat - the object to be inserted at the front.
owner - the LRS referencing this ANode.
Returns:
LRStruct owner

removeFront

abstract java.lang.Object removeFront(LRStruct owner)
Removes and returns the first data object for the referencing LRStruct.

Parameters:
owner - the LRS referencing this ANode.
Returns:
the front data of the LRStruct owner.

execute

abstract java.lang.Object execute(LRStruct owner,
                                  IAlgo algo,
                                  java.lang.Object... inp)
Executes a visitor algorithm and returns the output.

Parameters:
owner - the LRStruct referencing this ANode.
algo - the visitor algorithm to be executed.
inp - the inputs needed by the algorithm.