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.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if the source can be restarted (ie.
    void
    Cleans up any cached resources used by getLine().
    getLine​(int lineNumber, Janitor janitor)
    Returns a line from the source, or null, if unavailable.
    Returns a new Reader on the underlying source object.
    Returns a URI for this source.
  • Method Details

    • 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
    • getURI

      URI getURI()
      Returns a URI for this source.
      Since:
      2.3.0