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 canReopenSource()
    Returns true if the source can be restarted (ie.
    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.
    java.io.Reader getReader()
    Returns a new Reader on the underlying source object.
    java.net.URI getURI()
    Returns a URI for this source.
  • Method Details

    • getReader

      java.io.Reader getReader() throws java.io.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:
      java.io.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

      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.
      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

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