lrs
Class ANode

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

abstract class ANode
extends 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:
02/09/05
Author:
Dung X. Nguyen Copyright 2005 - All rights reserved.

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

Constructor Detail

ANode

ANode()
Method Detail

toString

String toString(LRStruct owner)
Uses anonymous visitor class to compute a String representation.


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.
Throws:
NoSuchElementException - if empty.

getFirst

abstract 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.
Throws:
NoSuchElementException - if empty.

setRest

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

Parameters:
owner - the LRS referencing this ANode.
tail - the new tail for the owner LRStruct.
Returns:
LRStruct owner
Throws:
NoSuchElementException - if empty.

setFirst

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

Parameters:
owner - the LRS referencing this ANode.
dat - the new data object for this ANode.
Returns:
LRStruct owner
Throws:
NoSuchElementException - if empty.

insertFront

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

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

removeFront

abstract 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 Object execute(LRStruct owner,
                        IAlgo algo,
                        Object... inp)
Executes a visitor algorithm and returns the output.

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