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