public abstract class AbstractServletInputStream extends ServletInputStream
Modifier and Type | Field and Description |
---|---|
protected static StringManager |
sm |
Constructor and Description |
---|
AbstractServletInputStream() |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected abstract void |
doClose() |
protected abstract boolean |
doIsReady() |
protected abstract int |
doRead(boolean block,
byte[] b,
int off,
int len)
Abstract method to be overridden by concrete implementations.
|
boolean |
isFinished()
Has the end of this InputStream been reached?
|
boolean |
isReady()
Can data be read from this InputStream without blocking?
|
protected void |
onAllDataRead() |
protected void |
onError(java.lang.Throwable t) |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
int |
readLine(byte[] b,
int off,
int len)
Reads the input stream, one line at a time.
|
void |
setReadListener(ReadListener listener)
Sets the
ReadListener for this ServletInputStream and
thereby switches to non-blocking IO. |
protected static final StringManager sm
public final boolean isFinished()
javax.servlet.ServletInputStream
isFinished
in class ServletInputStream
true
if all the data has been read from the stream,
else false
public final boolean isReady()
javax.servlet.ServletInputStream
ReadListener.onDataAvailable()
when data is available.isReady
in class ServletInputStream
true
if data can be read without blocking, else
false
public final void setReadListener(ReadListener listener)
javax.servlet.ServletInputStream
ReadListener
for this ServletInputStream
and
thereby switches to non-blocking IO. It is only valid to switch to
non-blocking IO within async processing or HTTP upgrade processing.setReadListener
in class ServletInputStream
listener
- The non-blocking IO read listenerpublic final int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public final int readLine(byte[] b, int off, int len) throws java.io.IOException
javax.servlet.ServletInputStream
This method returns -1 if it reaches the end of the input stream before reading the maximum number of bytes.
readLine
in class ServletInputStream
b
- an array of bytes into which data is readoff
- an integer specifying the character at which this method
begins readinglen
- an integer specifying the maximum number of bytes to readjava.io.IOException
- if an input or output exception has occurredpublic final int read(byte[] b, int off, int len) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
protected final void onAllDataRead() throws java.io.IOException
java.io.IOException
protected final void onError(java.lang.Throwable t)
protected abstract boolean doIsReady() throws java.io.IOException
java.io.IOException
protected abstract int doRead(boolean block, byte[] b, int off, int len) throws java.io.IOException
java.io.IOException
protected abstract void doClose() throws java.io.IOException
java.io.IOException
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.