public class JspWriterImpl
extends javax.servlet.jsp.JspWriter
Modifier and Type | Class and Description |
---|---|
private static class |
JspWriterImpl.CharBuffer |
private static class |
JspWriterImpl.CharBufferThreadLocalPool |
Modifier and Type | Field and Description |
---|---|
private JspWriterImpl.CharBuffer |
buf |
protected ByteWriter |
byteOut |
private static java.lang.ThreadLocal<JspWriterImpl.CharBufferThreadLocalPool> |
charBufferPools |
private boolean |
closed |
private boolean |
flushed |
protected boolean |
implementsByteWriter |
(package private) static java.lang.String |
lineSeparator |
private static int |
MAX_BUFFER_SIZE |
private java.io.Writer |
out |
private javax.servlet.ServletResponse |
response |
Constructor and Description |
---|
JspWriterImpl() |
JspWriterImpl(javax.servlet.ServletResponse response)
Create a buffered character-output stream that uses a default-sized
output buffer.
|
JspWriterImpl(javax.servlet.ServletResponse response,
int sz,
boolean autoFlush)
Create a new buffered character-output stream that uses an output
buffer of the given size.
|
Modifier and Type | Method and Description |
---|---|
private void |
allocateCharBuffer() |
private void |
bufferOverflow() |
void |
clear()
Discard the output buffer.
|
void |
clearBuffer() |
void |
close()
Close the stream.
|
private void |
ensureOpen()
check to make sure that the stream has not been closed
|
void |
flush()
Flush the stream.
|
protected void |
flushBuffer()
Flush the output buffer to the underlying character stream, without
flushing the stream itself.
|
private JspWriterImpl.CharBufferThreadLocalPool |
getCharBufferThreadLocalPool() |
private java.lang.String |
getLocalizeMessage(java.lang.String message) |
int |
getRemaining() |
boolean |
hasData() |
(package private) void |
init(javax.servlet.ServletResponse response,
int sz,
boolean autoFlush) |
private void |
initByteOut() |
private void |
initOut() |
private int |
min(int a,
int b)
Our own little min method, to avoid loading java.lang.Math if we've run
out of file descriptors and we're trying to print a stack trace.
|
void |
newLine()
Write a line separator.
|
void |
print(boolean b)
Print a boolean value.
|
void |
print(char c)
Print a character.
|
void |
print(char[] s)
Print an array of characters.
|
void |
print(double d)
Print a double-precision floating-point number.
|
void |
print(float f)
Print a floating-point number.
|
void |
print(int i)
Print an integer.
|
void |
print(long l)
Print a long integer.
|
void |
print(java.lang.Object obj)
Print an object.
|
void |
print(java.lang.String s)
Print a string.
|
void |
println()
Terminate the current line by writing the line separator string.
|
void |
println(boolean x)
Print a boolean value and then terminate the line.
|
void |
println(char x)
Print a character and then terminate the line.
|
void |
println(char[] x)
Print an array of characters and then terminate the line.
|
void |
println(double x)
Print a double-precision floating-point number and then terminate the
line.
|
void |
println(float x)
Print a floating-point number and then terminate the line.
|
void |
println(int x)
Print an integer and then terminate the line.
|
void |
println(long x)
Print a long integer and then terminate the line.
|
void |
println(java.lang.Object x)
Print an Object and then terminate the line.
|
void |
println(java.lang.String x)
Print a String and then terminate the line.
|
(package private) void |
recycle()
Package-level access
|
private void |
releaseCharBuffer() |
(package private) boolean |
shouldOutputBytes() |
void |
write(boolean bytesOK,
byte[] buf,
java.lang.String str)
Attempt to write a String pre-encoded with the page encoding.
|
void |
write(byte[] buf,
int off,
int len) |
void |
write(char[] buf)
Write an array of characters.
|
void |
write(char[] cbuf,
int off,
int len)
Write a portion of an array of characters.
|
void |
write(int c)
Write a single character.
|
void |
write(java.lang.String s)
Write a string.
|
void |
write(java.lang.String s,
int off,
int len)
Write a portion of a String.
|
private static final int MAX_BUFFER_SIZE
private static final java.lang.ThreadLocal<JspWriterImpl.CharBufferThreadLocalPool> charBufferPools
private java.io.Writer out
private javax.servlet.ServletResponse response
private JspWriterImpl.CharBuffer buf
private boolean flushed
private boolean closed
protected boolean implementsByteWriter
protected ByteWriter byteOut
static java.lang.String lineSeparator
public JspWriterImpl()
public JspWriterImpl(javax.servlet.ServletResponse response)
response
- A Servlet Responsepublic JspWriterImpl(javax.servlet.ServletResponse response, int sz, boolean autoFlush)
response
- A Servlet Responsesz
- Output-buffer size, a positive integerjava.lang.IllegalArgumentException
- If sz is <= 0void init(javax.servlet.ServletResponse response, int sz, boolean autoFlush)
void recycle()
protected final void flushBuffer() throws java.io.IOException
java.io.IOException
private void initOut() throws java.io.IOException
java.io.IOException
private java.lang.String getLocalizeMessage(java.lang.String message)
public final void clear() throws java.io.IOException
clear
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void clearBuffer() throws java.io.IOException
clearBuffer
in class javax.servlet.jsp.JspWriter
java.io.IOException
private final void bufferOverflow() throws java.io.IOException
java.io.IOException
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class javax.servlet.jsp.JspWriter
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 javax.servlet.jsp.JspWriter
java.io.IOException
public int getRemaining()
getRemaining
in class javax.servlet.jsp.JspWriter
private void ensureOpen() throws java.io.IOException
java.io.IOException
public void write(boolean bytesOK, byte[] buf, java.lang.String str) throws java.io.IOException
bytesOK
- If true, write out the byte array,
else, write out the String.buf
- The text encoded with the page encodingstr
- The original textjava.io.IOException
boolean shouldOutputBytes()
private void initByteOut() throws java.io.IOException
java.io.IOException
public void write(byte[] buf, int off, int len) throws java.io.IOException
java.io.IOException
public void write(int c) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
private int min(int a, int b)
public void write(char[] cbuf, int off, int len) throws java.io.IOException
Ordinarily this method stores characters from the given array into
this stream's buffer, flushing the buffer to the underlying stream as
needed. If the requested length is at least as large as the buffer,
however, then this method will flush the buffer and write the characters
directly to the underlying stream. Thus redundant
DiscardableBufferedWriter
s will not copy data unnecessarily.
write
in class java.io.Writer
cbuf
- A character arrayoff
- Offset from which to start reading characterslen
- Number of characters to writejava.io.IOException
public void write(char[] buf) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void write(java.lang.String s, int off, int len) throws java.io.IOException
write
in class java.io.Writer
s
- String to be writtenoff
- Offset from which to start reading characterslen
- Number of characters to be writtenjava.io.IOException
public void write(java.lang.String s) throws java.io.IOException
write
in class java.io.Writer
java.io.IOException
public void newLine() throws java.io.IOException
newLine
in class javax.servlet.jsp.JspWriter
java.io.IOException
- If an I/O error occurspublic void print(boolean b) throws java.io.IOException
String.valueOf(boolean)
is translated into bytes
according to the platform's default character encoding, and these bytes
are written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
b
- The boolean
to be printedjava.io.IOException
public void print(char c) throws java.io.IOException
write(int)
method.print
in class javax.servlet.jsp.JspWriter
c
- The char
to be printedjava.io.IOException
public void print(int i) throws java.io.IOException
String.valueOf(int)
is translated into bytes according
to the platform's default character encoding, and these bytes are
written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
i
- The int
to be printedjava.io.IOException
public void print(long l) throws java.io.IOException
String.valueOf(long)
is translated into bytes
according to the platform's default character encoding, and these bytes
are written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
l
- The long
to be printedjava.io.IOException
public void print(float f) throws java.io.IOException
String.valueOf(float)
is translated into bytes
according to the platform's default character encoding, and these bytes
are written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
f
- The float
to be printedjava.io.IOException
public void print(double d) throws java.io.IOException
String.valueOf(double)
is translated into
bytes according to the platform's default character encoding, and these
bytes are written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
d
- The double
to be printedjava.io.IOException
public void print(char[] s) throws java.io.IOException
write(int)
method.print
in class javax.servlet.jsp.JspWriter
s
- The array of chars to be printedjava.lang.NullPointerException
- If s
is null
java.io.IOException
public void print(java.lang.String s) throws java.io.IOException
null
then the string
"null"
is printed. Otherwise, the string's characters are
converted into bytes according to the platform's default character
encoding, and these bytes are written in exactly the manner of the
write(int)
method.print
in class javax.servlet.jsp.JspWriter
s
- The String
to be printedjava.io.IOException
public void print(java.lang.Object obj) throws java.io.IOException
String.valueOf(Object)
method is translated into bytes
according to the platform's default character encoding, and these bytes
are written in exactly the manner of the write(int)
method.print
in class javax.servlet.jsp.JspWriter
obj
- The Object
to be printedjava.io.IOException
public void println() throws java.io.IOException
line.separator
, and is not necessarily a single newline
character ('\n'
).
Need to change this from PrintWriter because the default
println() writes to the sink directly instead of through the
write method...println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(boolean x) throws java.io.IOException
print(boolean)
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(char x) throws java.io.IOException
print(char)
and then println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(int x) throws java.io.IOException
print(int)
and then println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(long x) throws java.io.IOException
print(long)
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(float x) throws java.io.IOException
print(float)
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(double x) throws java.io.IOException
print(double)
and then println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(char[] x) throws java.io.IOException
print(char[])
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(java.lang.String x) throws java.io.IOException
print(String)
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public void println(java.lang.Object x) throws java.io.IOException
print(Object)
and then
println()
.println
in class javax.servlet.jsp.JspWriter
java.io.IOException
public boolean hasData()
private void allocateCharBuffer()
private void releaseCharBuffer()
private JspWriterImpl.CharBufferThreadLocalPool getCharBufferThreadLocalPool()