Apache Tomcat 7.0.42

## org.apache.tomcat.util.http.fileupload.util
Class LimitedInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              org.apache.tomcat.util.http.fileupload.util.LimitedInputStream

All Implemented Interfaces:
  Closeable

    public abstract class LimitedInputStream

extends FilterInputStream
implements Closeable

An input stream, which limits its data size. This stream is used, if the content length is unknown.

Version:
  $Id: LimitedInputStream.java 1456935 2013-03-15 12:47:29Z markt $

Field Summary

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`LimitedInputStream(InputStream pIn, long pSizeMax)` Creates a new instance.

Method Summary
`void` `close()` Closes this input stream and releases any system resources associated with the stream.
`boolean` `isClosed()` Returns, whether this stream is already closed.
`protected abstract void` `raiseError(long pSizeMax, long pCount)` Called to indicate, that the input streams limit has been exceeded.
`int` `read()` Reads the next byte of data from this input stream.
`int` `read(byte[] b, int off, int len)` Reads up to `len` bytes of data from this input stream into an array of bytes.

Methods inherited from class java.io.FilterInputStream
`available, mark, markSupported, read, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LimitedInputStream

    public LimitedInputStream(InputStream pIn,
                              long pSizeMax)

  Creates a new instance.

  Parameters:
    `pIn` - The input stream, which shall be limited.
    `pSizeMax` - The limit; no more than this number of bytes shall be returned by the source stream.

Method Detail

### raiseError

    protected abstract void raiseError(long pSizeMax,
                                       long pCount)
                                throws IOException

  Called to indicate, that the input streams limit has been exceeded.

  Parameters:
    `pSizeMax` - The input streams limit, in bytes.
    `pCount` - The actual number of bytes.
  Throws:
    `IOException` - The called method is expected to raise an IOException.

### read

    public int read()
             throws IOException

  Reads the next byte of data from this input stream. The value byte is returned as an `int` in the range `0` to `255`. If no byte is available because the end of the stream has been reached, the value `-1` is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

  This method simply performs `in.read()` and returns the result.

  Overrides:
    `read` in class `FilterInputStream`
  Returns:
    the next byte of data, or `-1` if the end of the stream is reached.
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `FilterInputStream.in`

### read

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

  Reads up to `len` bytes of data from this input stream into an array of bytes. If `len` is not zero, the method blocks until some input is available; otherwise, no bytes are read and `0` is returned.

  This method simply performs `in.read(b, off, len)` and returns the result.

  Overrides:
    `read` in class `FilterInputStream`
  Parameters:
    `b` - the buffer into which the data is read.
    `off` - The start offset in the destination array `b`.
    `len` - the maximum number of bytes read.
  Returns:
    the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
  Throws:
    `NullPointerException` - If `b` is `null`.
    `IndexOutOfBoundsException` - If `off` is negative, `len` is negative, or `len` is greater than `b.length - off`
    `IOException` - if an I/O error occurs.
  See Also:
    `FilterInputStream.in`

### isClosed

    public boolean isClosed()
                     throws IOException

  Returns, whether this stream is already closed.

  Returns:
    True, if the stream is closed, otherwise false.
  Throws:
    `IOException` - An I/O error occurred.

### close

    public void close()
               throws IOException

  Closes this input stream and releases any system resources associated with the stream. This method simply performs `in.close()`.

  Specified by:
    `close` in interface `Closeable`
  Overrides:
    `close` in class `FilterInputStream`
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `FilterInputStream.in`

Apache Tomcat 7.0.42

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.