org.codehaus.groovy.control.io
Class AbstractReaderSource

java.lang.Object
  extended by org.codehaus.groovy.control.io.AbstractReaderSource
All Implemented Interfaces:
HasCleanup, ReaderSource
Direct Known Subclasses:
FileReaderSource, InputStreamReaderSource, StringReaderSource, URLReaderSource

public abstract class AbstractReaderSource
extends java.lang.Object
implements ReaderSource

For ReaderSources that can choose a parent class, a base that provides common functionality.


Field Summary
protected  CompilerConfiguration configuration
           
 
Constructor Summary
AbstractReaderSource(CompilerConfiguration configuration)
           
 
Method Summary
 boolean canReopenSource()
          Returns true if the source can be restarted (ie. if getReader() will return non-null on subsequent calls.
 void cleanup()
          Cleans up any cached resources used by getLine().
 java.lang.String getLine(int lineNumber, Janitor janitor)
          Returns a line from the source, or null, if unavailable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.codehaus.groovy.control.io.ReaderSource
getReader
 

Field Detail

configuration

protected CompilerConfiguration configuration
Constructor Detail

AbstractReaderSource

public AbstractReaderSource(CompilerConfiguration configuration)
Method Detail

canReopenSource

public boolean canReopenSource()
Returns true if the source can be restarted (ie. if getReader() will return non-null on subsequent calls.

Specified by:
canReopenSource in interface ReaderSource
Returns:
true if the resource can be reopened for reading

getLine

public java.lang.String getLine(int lineNumber,
                                Janitor janitor)
Returns a line from the source, or null, if unavailable. If you supply a Janitor, resources will be cached.

Specified by:
getLine in interface ReaderSource
Parameters:
lineNumber - the number of the line of interest
janitor - helper to clean up afterwards
Returns:
the line of interest

cleanup

public void cleanup()
Cleans up any cached resources used by getLine().

Specified by:
cleanup in interface HasCleanup
Specified by:
cleanup in interface ReaderSource