DocumentReader
Date: 2017-02-11

org.fife.io

## Class DocumentReader

- java.lang.Object
- - java.io.Reader
  - - org.fife.io.DocumentReader

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable

      public class DocumentReader
      extends java.io.Reader

  A `Reader` for `javax.swing.text.Document` objects.

- - ### Field Summary

    - ### Fields inherited from class java.io.Reader

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DocumentReader(javax.swing.text.Document document)` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` This currently does nothing...
    `void` | `mark(int readAheadLimit)` Marks the present position in the stream.
    `boolean` | `markSupported()` Tells whether this reader supports the `mark` operation.
    `int` | `read()` Reads the single character at the current position in the document.
    `int` | `read(char[] array)` Read `array.length` characters from the beginning of the document into `array`.
    `int` | `read(char[] cbuf, int off, int len)` Reads characters into a portion of an array.
    `boolean` | `ready()` Tells whether this reader is ready to be read without blocking for input.
    `void` | `reset()` Resets the stream.
    `void` | `seek(long pos)` Move to the specified position in the document.
    `long` | `skip(long n)` Skips characters.

    - ### Methods inherited from class java.io.Reader

      `read`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DocumentReader

          public DocumentReader(javax.swing.text.Document document)

      Constructor.
      Parameters:
        `document` - The document we're 'reading'.

  - ### Method Detail

    - #### close

          public void close()

      This currently does nothing...
      Specified by:
        `close` in interface `java.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in class `java.io.Reader`

    - #### mark

          public void mark(int readAheadLimit)

      Marks the present position in the stream. Subsequent calls to `reset()` will reposition the stream to this point.
      Overrides:
        `mark` in class `java.io.Reader`
      Parameters:
        `readAheadLimit` - Ignored.

    - #### markSupported

          public boolean markSupported()

      Tells whether this reader supports the `mark` operation. This always returns `true` for `DocumentReader`.
      Overrides:
        `markSupported` in class `java.io.Reader`

    - #### read

          public int read()

      Reads the single character at the current position in the document.
      Overrides:
        `read` in class `java.io.Reader`

    - #### read

          public int read(char[] array)

      Read `array.length` characters from the beginning of the document into `array`.
      Overrides:
        `read` in class `java.io.Reader`
      Parameters:
        `array` - The array to read characters into.
      Returns:
        The number of characters read.

    - #### read

          public int read(char[] cbuf,
                 int off,
                 int len)

      Reads characters into a portion of an array.
      Specified by:
        `read` in class `java.io.Reader`
      Parameters:
        `cbuf` - The destination buffer.
        `off` - Offset at which to start storing characters.
        `len` - Maximum number of characters to read.
      Returns:
        The number of characters read, or `-1` if the end of the stream (document) has been reached.

    - #### ready

          public boolean ready()

      Tells whether this reader is ready to be read without blocking for input. `DocumentReader` will always return true.
      Overrides:
        `ready` in class `java.io.Reader`
      Returns:
        `true` if the next read operation will return without blocking.

    - #### reset

          public void reset()

      Resets the stream. If the stream has been marked, then attempt to reposition it at the mark. If the stream has not been marked, then move it to the beginning of the document.
      Overrides:
        `reset` in class `java.io.Reader`

    - #### skip

          public long skip(long n)

      Skips characters. This will not 'skip' past the end of the document.
      Overrides:
        `skip` in class `java.io.Reader`
      Parameters:
        `n` - The number of characters to skip.
      Returns:
        The number of characters actually skipped.

    - #### seek

          public void seek(long pos)

      Move to the specified position in the document. If `pos` is greater than the document's length, the stream's position is moved to the end of the document.
      Parameters:
        `pos` - The position in the document to move to.