org.codehaus.groovy.control.io
Interface ReaderSource

All Superinterfaces:
HasCleanup
All Known Implementing Classes:
AbstractReaderSource, FileReaderSource, InputStreamReaderSource, StringReaderSource, URLReaderSource

public interface ReaderSource
extends HasCleanup

An interface for things that can supply (and potentially resupply) a Reader on a source stream.

Version:
$Id: ReaderSource.java 6778 2007-07-02 10:40:33Z glaforge $
Author:
Chris Poirier

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().
 String getLine(int lineNumber, Janitor janitor)
          Returns a line from the source, or null, if unavailable.
 Reader getReader()
          Returns a new Reader on the underlying source object.
 

Method Detail

getReader

Reader getReader()
                 throws IOException
Returns a new Reader on the underlying source object. Returns null if the source can't be reopened.

Returns:
the reader to the resource
Throws:
IOException - if there was an error opening for stream

canReopenSource

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

Returns:
true if the resource can be reopened for reading

getLine

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.

Parameters:
lineNumber - the number of the line of interest
janitor - helper to clean up afterwards
Returns:
the line of interest

cleanup

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

Specified by:
cleanup in interface HasCleanup

Copyright © 2003-2010 The Codehaus. All rights reserved.