org.gjt.sp.jedit.bufferio

## Class BufferIORequest

- java.lang.Object
- - org.gjt.sp.util.Task
  - - org.gjt.sp.jedit.bufferio.IoTask
    - - org.gjt.sp.jedit.bufferio.BufferIORequest

- All Implemented Interfaces:
    java.lang.Runnable, ProgressObserver
  Direct Known Subclasses:
    BufferAutosaveRequest, BufferInsertRequest, BufferLoadRequest, BufferSaveRequest

      public abstract class BufferIORequest
      extends IoTask

  A buffer I/O request.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Buffer` | `buffer`
    `static java.lang.String` | `END_OFFSETS`
    `static java.lang.String` | `ERROR_OCCURRED` Buffer boolean property set when an error occurs.
    `static int` | `IOBUFSIZE` Size of I/O buffers.
    `static java.lang.String` | `LOAD_DATA`
    `protected java.lang.String` | `markersPath`
    `static java.lang.String` | `NEW_PATH`
    `protected java.lang.String` | `path`
    `static int` | `PROGRESS_INTERVAL` Number of lines per progress increment.
    `protected java.lang.Object` | `session`
    `protected VFS` | `vfs`
    `protected View` | `view`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BufferIORequest(View view, Buffer buffer, java.lang.Object session, VFS vfs, java.lang.String path)` Creates a new buffer I/O request.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.io.Reader` | `autodetect(java.io.InputStream in)` Tries to detect if the stream is gzipped, and if it has an encoding specified with an XML PI.
    `static int` | `getByteIOBufferSize()` Size of byte I/O buffers.
    `static int` | `getCharIOBufferSize()` Size of character I/O buffers.
    `protected SegmentBuffer` | `read(java.io.Reader in, long length, boolean insert)`
    `java.lang.String` | `toString()`
    `protected void` | `write(Buffer buffer, java.io.OutputStream out)`

    - ### Methods inherited from class org.gjt.sp.util.Task

      `_run, cancel, getLabel, getMaximum, getState, getStatus, getValue, isCancellable, run, setCancellable, setLabel, setMaximum, setStatus, setValue`

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

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

- - ### Field Detail

    - #### IOBUFSIZE

          public static final int IOBUFSIZE

      Size of I/O buffers.
      See Also:
        Constant Field Values

    - #### PROGRESS_INTERVAL

          public static final int PROGRESS_INTERVAL

      Number of lines per progress increment.
      See Also:
        Constant Field Values

    - #### LOAD_DATA

          public static final java.lang.String LOAD_DATA

      See Also:
        Constant Field Values

    - #### END_OFFSETS

          public static final java.lang.String END_OFFSETS

      See Also:
        Constant Field Values

    - #### NEW_PATH

          public static final java.lang.String NEW_PATH

      See Also:
        Constant Field Values

    - #### ERROR_OCCURRED

          public static final java.lang.String ERROR_OCCURRED

      Buffer boolean property set when an error occurs.
      See Also:
        Constant Field Values

    - #### view

          protected final View view

    - #### buffer

          protected final Buffer buffer

    - #### session

          protected final java.lang.Object session

    - #### vfs

          protected final VFS vfs

    - #### path

          protected java.lang.String path

    - #### markersPath

          protected final java.lang.String markersPath

  - ### Constructor Detail

    - #### BufferIORequest

          protected BufferIORequest(View view,
                         Buffer buffer,
                         java.lang.Object session,
                         VFS vfs,
                         java.lang.String path)

      Creates a new buffer I/O request.
      Parameters:
        `view` - The view
        `buffer` - The buffer
        `session` - The VFS session
        `vfs` - The VFS
        `path` - The path

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `Task`

    - #### getCharIOBufferSize

          public static int getCharIOBufferSize()

      Size of character I/O buffers.

    - #### getByteIOBufferSize

          public static int getByteIOBufferSize()

      Size of byte I/O buffers.

    - #### autodetect

          protected java.io.Reader autodetect(java.io.InputStream in)
                                       throws java.io.IOException

      Tries to detect if the stream is gzipped, and if it has an encoding specified with an XML PI.
      Throws:
        `java.io.IOException`

    - #### read

          protected SegmentBuffer read(java.io.Reader in,
                           long length,
                           boolean insert)
                                throws java.io.IOException,
                                       java.lang.InterruptedException

      Throws:
        `java.io.IOException`
        `java.lang.InterruptedException`

    - #### write

          protected void write(Buffer buffer,
                   java.io.OutputStream out)
                        throws java.io.IOException,
                               java.lang.InterruptedException

      Throws:
        `java.io.IOException`
        `java.lang.InterruptedException`