edu.iu.cnets.klatsch.stream
Class SProcedure

java.lang.Object
  extended by edu.iu.cnets.klatsch.stream.Stream
      extended by edu.iu.cnets.klatsch.stream.SProcedure

public class SProcedure
extends Stream

This class wraps a stream around a procedure. The elements of the stream are produced by repeatedly calling the procedure with the previous value until an error is produced, at which point the stream ends.


Field Summary
(package private)  boolean finished
          set to true when we're finished
(package private)  Callable proc
          the procedure we're invoking
 
Fields inherited from class edu.iu.cnets.klatsch.stream.Stream
buffer
 
Constructor Summary
SProcedure(Callable proc)
          Builds a new stream from the given procedure.
 
Method Summary
 boolean done()
          Sees whether we're at the end of the stream.
 Value getNext()
          Gets the next value in the list, if possible.
 java.lang.String toString()
          Provides an indication of internal state.
 
Methods inherited from class edu.iu.cnets.klatsch.stream.Stream
current, get
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

proc

Callable proc
the procedure we're invoking


finished

boolean finished
set to true when we're finished

Constructor Detail

SProcedure

public SProcedure(Callable proc)
Builds a new stream from the given procedure.

Method Detail

getNext

public Value getNext()
              throws EvaluationException
Gets the next value in the list, if possible.

Specified by:
getNext in class Stream
Returns:
the value
Throws:
EvaluationException

done

public boolean done()
Sees whether we're at the end of the stream.

Specified by:
done in class Stream
Returns:
true for end-of-stream

toString

public java.lang.String toString()
Provides an indication of internal state.

Overrides:
toString in class java.lang.Object
Returns:
the stream in string form