| Method from org.apache.jasper.runtime.JspWriterImpl Detail: |
public final void clear() throws IOException {
if ((bufferSize == 0) && (out != null))
// clear() is illegal after any unbuffered output (JSP.5.5)
throw new IllegalStateException(
getLocalizeMessage("jsp.error.ise_on_clear"));
if (flushed)
throw new IOException(
getLocalizeMessage("jsp.error.attempt_to_clear_flushed_buffer"));
ensureOpen();
nextChar = 0;
}
Discard the output buffer. |
public void clearBuffer() throws IOException {
if (bufferSize == 0)
throw new IllegalStateException(
getLocalizeMessage("jsp.error.ise_on_clear"));
ensureOpen();
nextChar = 0;
}
|
public void close() throws IOException {
if (response == null || closed)
// multiple calls to close is OK
return;
flush();
if (out != null)
out.close();
out = null;
closed = true;
}
|
public void flush() throws IOException {
flushBuffer();
if (out != null) {
out.flush();
}
}
|
protected final void flushBuffer() throws IOException {
if (bufferSize == 0)
return;
flushed = true;
ensureOpen();
if (nextChar == 0)
return;
initOut();
out.write(cb, 0, nextChar);
nextChar = 0;
}
Flush the output buffer to the underlying character stream, without
flushing the stream itself. This method is non-private only so that it
may be invoked by PrintStream. |
public int getRemaining() {
return bufferSize - nextChar;
}
|
void init(ServletResponse response,
int sz,
boolean autoFlush) {
this.response= response;
if( sz > 0 && ( cb == null || sz > cb.length ) )
cb=new char[sz];
nextChar = 0;
this.autoFlush=autoFlush;
this.bufferSize=sz;
}
|
public void newLine() throws IOException {
write(lineSeparator);
}
Write a line separator. The line separator string is defined by the
system property line.separator, and is not necessarily a single
newline ('\n') character. |
public void print(boolean b) throws IOException {
write(b ? "true" : "false");
}
Print a boolean value. The string produced by java.lang.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. |
public void print(char c) throws IOException {
write(String.valueOf(c));
}
Print a character. The character is translated into one or more bytes
according to the platform's default character encoding, and these bytes
are written in exactly the manner of the #write(int) method. |
public void print(int i) throws IOException {
write(String.valueOf(i));
}
Print an integer. The string produced by java.lang.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. |
public void print(long l) throws IOException {
write(String.valueOf(l));
}
Print a long integer. The string produced by java.lang.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. |
public void print(float f) throws IOException {
write(String.valueOf(f));
}
Print a floating-point number. The string produced by java.lang.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. |
public void print(double d) throws IOException {
write(String.valueOf(d));
}
Print a double-precision floating-point number. The string produced by
java.lang.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. |
public void print(char[] s) throws IOException {
write(s);
}
Print an array of characters. The 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. |
public void print(String s) throws IOException {
if (s == null) {
s = "null";
}
write(s);
}
Print a string. If the argument is 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. |
public void print(Object obj) throws IOException {
write(String.valueOf(obj));
}
Print an object. The string produced by the java.lang.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. |
public void println() throws IOException {
newLine();
}
Terminate the current line by writing the line separator string. The
line separator string is defined by the system property
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... |
public void println(boolean x) throws IOException {
print(x);
println();
}
Print a boolean value and then terminate the line. This method behaves
as though it invokes #print(boolean) and then
#println() . |
public void println(char x) throws IOException {
print(x);
println();
}
Print a character and then terminate the line. This method behaves as
though it invokes #print(char) and then #println() . |
public void println(int x) throws IOException {
print(x);
println();
}
Print an integer and then terminate the line. This method behaves as
though it invokes #print(int) and then #println() . |
public void println(long x) throws IOException {
print(x);
println();
}
Print a long integer and then terminate the line. This method behaves
as though it invokes #print(long) and then
#println() . |
public void println(float x) throws IOException {
print(x);
println();
}
Print a floating-point number and then terminate the line. This method
behaves as though it invokes #print(float) and then
#println() . |
public void println(double x) throws IOException {
print(x);
println();
}
Print a double-precision floating-point number and then terminate the
line. This method behaves as though it invokes #print(double) and then #println() . |
public void println(char[] x) throws IOException {
print(x);
println();
}
Print an array of characters and then terminate the line. This method
behaves as though it invokes #print(char[]) and then
#println() . |
public void println(String x) throws IOException {
print(x);
println();
}
Print a String and then terminate the line. This method behaves as
though it invokes #print(String) and then
#println() . |
public void println(Object x) throws IOException {
print(x);
println();
}
Print an Object and then terminate the line. This method behaves as
though it invokes #print(Object) and then
#println() . |
void recycle() {
flushed = false;
closed = false;
out = null;
nextChar = 0;
response = null;
}
|
public void write(int c) throws IOException {
ensureOpen();
if (bufferSize == 0) {
initOut();
out.write(c);
}
else {
if (nextChar >= bufferSize)
if (autoFlush)
flushBuffer();
else
bufferOverflow();
cb[nextChar++] = (char) c;
}
}
Write a single character. |
public void write(char[] buf) throws IOException {
write(buf, 0, buf.length);
}
Write an array of characters. This method cannot be inherited from the
Writer class because it must suppress I/O exceptions. |
public void write(String s) throws IOException {
// Simple fix for Bugzilla 35410
// Calling the other write function so as to init the buffer anyways
if(s == null) {
write(s, 0, 0);
} else {
write(s, 0, s.length());
}
}
Write a string. This method cannot be inherited from the Writer class
because it must suppress I/O exceptions. |
public void write(char[] cbuf,
int off,
int len) throws IOException {
ensureOpen();
if (bufferSize == 0) {
initOut();
out.write(cbuf, off, len);
return;
}
if ((off < 0) || (off > cbuf.length) || (len < 0) ||
((off + len) > cbuf.length) || ((off + len) < 0)) {
throw new IndexOutOfBoundsException();
} else if (len == 0) {
return;
}
if (len >= bufferSize) {
/* If the request length exceeds the size of the output buffer,
flush the buffer and then write the data directly. In this
way buffered streams will cascade harmlessly. */
if (autoFlush)
flushBuffer();
else
bufferOverflow();
initOut();
out.write(cbuf, off, len);
return;
}
int b = off, t = off + len;
while (b < t) {
int d = min(bufferSize - nextChar, t - b);
System.arraycopy(cbuf, b, cb, nextChar, d);
b += d;
nextChar += d;
if (nextChar >= bufferSize)
if (autoFlush)
flushBuffer();
else
bufferOverflow();
}
}
Write a portion of an array of characters.
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
DiscardableBufferedWriters will not copy data unnecessarily. |
public void write(String s,
int off,
int len) throws IOException {
ensureOpen();
if (bufferSize == 0) {
initOut();
out.write(s, off, len);
return;
}
int b = off, t = off + len;
while (b < t) {
int d = min(bufferSize - nextChar, t - b);
s.getChars(b, b + d, cb, nextChar);
b += d;
nextChar += d;
if (nextChar >= bufferSize)
if (autoFlush)
flushBuffer();
else
bufferOverflow();
}
}
Write a portion of a String. |