org.apache.xmlbeans.impl.common

## Class PushedInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.apache.xmlbeans.impl.common.PushedInputStream

All Implemented Interfaces:
  Closeable, AutoCloseable

Direct Known Subclasses:
  ReaderInputStream

    public abstract class PushedInputStream
    extends InputStream

### Field Summary

Fields
`protected byte[]` `buf`
`protected int` `marklimit`
`protected int` `markpos`
`protected OutputStream` `outputStream`
`protected int` `readpos`
`protected int` `writepos`

### Constructor Summary

Constructors
Constructor and Description
`PushedInputStream()`
`PushedInputStream(int size)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`int` `available()`
`protected abstract void` `fill(int requestedBytes)` Called when more bytes need to be written into this stream (as an OutputStream).
`OutputStream` `getOutputStream()` Returns the linked output stream.
`void` `mark(int readlimit)`
`boolean` `markSupported()`
`int` `read()`
`int` `read(byte[] b, int off, int len)` Read characters into a portion of an array, reading from the underlying stream at most once if necessary.
`void` `reset()`
`long` `skip(long n)`

### Methods inherited from class java.io.InputStream

`close, read`

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

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

### Field Detail

#### buf

    protected byte[] buf

#### writepos

    protected int writepos

#### readpos

    protected int readpos

#### markpos

    protected int markpos

#### marklimit

    protected int marklimit

#### outputStream

    protected OutputStream outputStream

### Constructor Detail

#### PushedInputStream

    public PushedInputStream()

#### PushedInputStream

    public PushedInputStream(int size)

### Method Detail

#### fill

    protected abstract void fill(int requestedBytes)
                          throws IOException

Called when more bytes need to be written into this stream (as an OutputStream). This method must write at least one byte if the stream is not ended, and it must not write any bytes if the stream has already ended.

Throws:
  `IOException`

#### getOutputStream

    public final OutputStream getOutputStream()

Returns the linked output stream. This is the output stream that must be written to whenever the fill method is called.

#### read

    public int read()
             throws IOException

Specified by:
  `read` in class `InputStream`
Throws:
  `IOException`

#### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

Read characters into a portion of an array, reading from the underlying stream at most once if necessary.

Overrides:
  `read` in class `InputStream`
Throws:
  `IOException`

#### skip

    public long skip(long n)
              throws IOException

Overrides:
  `skip` in class `InputStream`
Throws:
  `IOException`

#### available

    public int available()

Overrides:
  `available` in class `InputStream`

#### mark

    public void mark(int readlimit)

Overrides:
  `mark` in class `InputStream`

#### reset

    public void reset()
               throws IOException

Overrides:
  `reset` in class `InputStream`
Throws:
  `IOException`

#### markSupported

    public boolean markSupported()

Overrides:
  `markSupported` in class `InputStream`