public class HttpOutput extends ServletOutputStream implements Runnable
HttpOutput implements ServletOutputStream
as required by the Servlet specification.
HttpOutput buffers content written by the application until a
further write will overflow the buffer, at which point it triggers a commit
of the response.
HttpOutput can be closed and reopened, to allow requests included
via RequestDispatcher.include(ServletRequest, ServletResponse) to
close the stream, to be reopened after the inclusion ends.
| Modifier and Type | Class and Description |
|---|---|
static interface |
HttpOutput.Interceptor
The HttpOutput.Interceptor is a single intercept point for all
output written to the HttpOutput: via writer; via output stream;
asynchronously; or blocking.
|
| Constructor and Description |
|---|
HttpOutput(HttpChannel channel) |
| Modifier and Type | Method and Description |
|---|---|
protected SharedBlockingCallback.Blocker |
acquireWriteBlockingCallback() |
void |
close() |
void |
flush() |
int |
getBufferSize() |
HttpChannel |
getHttpChannel() |
HttpOutput.Interceptor |
getInterceptor() |
long |
getWritten() |
boolean |
isAllContentWritten() |
boolean |
isClosed() |
boolean |
isReady() |
boolean |
isWritten() |
void |
print(String s) |
void |
recycle() |
void |
reopen() |
void |
resetBuffer() |
void |
run() |
void |
sendContent(ByteBuffer content)
Blocking send of whole content.
|
void |
sendContent(ByteBuffer content,
Callback callback)
Asynchronous send of whole content.
|
void |
sendContent(HttpContent content)
Blocking send of HTTP content.
|
void |
sendContent(HttpContent httpContent,
Callback callback)
Asynchronous send of HTTP content.
|
void |
sendContent(InputStream in)
Blocking send of stream content.
|
void |
sendContent(InputStream in,
Callback callback)
Asynchronous send of stream content.
|
void |
sendContent(ReadableByteChannel in)
Blocking send of channel content.
|
void |
sendContent(ReadableByteChannel in,
Callback callback)
Asynchronous send of channel content.
|
void |
setBufferSize(int size) |
void |
setInterceptor(HttpOutput.Interceptor filter) |
void |
setWriteListener(WriteListener writeListener) |
String |
toString() |
void |
write(byte[] b,
int off,
int len) |
void |
write(ByteBuffer buffer) |
protected void |
write(ByteBuffer content,
boolean complete,
Callback callback) |
void |
write(int b) |
print, print, print, print, print, print, println, println, println, println, println, println, println, printlnwritepublic HttpOutput(HttpChannel channel)
public HttpChannel getHttpChannel()
public HttpOutput.Interceptor getInterceptor()
public void setInterceptor(HttpOutput.Interceptor filter)
public boolean isWritten()
public long getWritten()
public void reopen()
public boolean isAllContentWritten()
protected SharedBlockingCallback.Blocker acquireWriteBlockingCallback() throws IOException
IOExceptionprotected void write(ByteBuffer content, boolean complete, Callback callback)
public void close()
close in interface Closeableclose in interface AutoCloseableclose in class OutputStreampublic boolean isClosed()
public void flush()
throws IOException
flush in interface Flushableflush in class OutputStreamIOExceptionpublic void write(byte[] b,
int off,
int len)
throws IOException
write in class OutputStreamIOExceptionpublic void write(ByteBuffer buffer) throws IOException
IOExceptionpublic void write(int b)
throws IOException
write in class OutputStreamIOExceptionpublic void print(String s) throws IOException
print in class ServletOutputStreamIOExceptionpublic void sendContent(ByteBuffer content) throws IOException
content - The whole content to sendIOException - if the send failspublic void sendContent(InputStream in) throws IOException
in - The stream content to sendIOException - if the send failspublic void sendContent(ReadableByteChannel in) throws IOException
in - The channel content to sendIOException - if the send failspublic void sendContent(HttpContent content) throws IOException
content - The HTTP content to sendIOException - if the send failspublic void sendContent(ByteBuffer content, Callback callback)
content - The whole content to sendcallback - The callback to use to notify success or failurepublic void sendContent(InputStream in, Callback callback)
in - The stream content to sendcallback - The callback to use to notify success or failurepublic void sendContent(ReadableByteChannel in, Callback callback)
in - The channel content to sendcallback - The callback to use to notify success or failurepublic void sendContent(HttpContent httpContent, Callback callback)
httpContent - The HTTP content to sendcallback - The callback to use to notify success or failurepublic int getBufferSize()
public void setBufferSize(int size)
public void recycle()
public void resetBuffer()
public void setWriteListener(WriteListener writeListener)
setWriteListener in class ServletOutputStreampublic boolean isReady()
isReady in class ServletOutputStreamServletOutputStream.isReady()Copyright © 1995–2017 Webtide. All rights reserved.