remm 2005/03/24 07:30:37 Modified: jasper2/src/share/org/apache/jasper/runtime BodyContentImpl.java Log: - Indentation. No change. Revision Changes Path 1.16 +196 -196 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java Index: BodyContentImpl.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/BodyContentImpl.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- BodyContentImpl.java 24 Mar 2005 11:41:29 -0000 1.15 +++ BodyContentImpl.java 24 Mar 2005 15:30:37 -0000 1.16 @@ -37,46 +37,46 @@ * @author Jan Luehe */ public class BodyContentImpl extends BodyContent { - - private static final String LINE_SEPARATOR = System.getProperty( - "line.separator"); - + + private static final String LINE_SEPARATOR = + System.getProperty("line.separator"); + private char[] cb; private int nextChar; private boolean closed; - + // Enclosed writer to which any output is written private Writer writer; - + // See comment in setWriter() private int bufferSizeSave; - + /** * Constructor. */ public BodyContentImpl(JspWriter enclosingWriter) { super(enclosingWriter); - bufferSize = Constants.DEFAULT_TAG_BUFFER_SIZE; - cb = new char[bufferSize]; - nextChar = 0; - closed = false; + bufferSize = Constants.DEFAULT_TAG_BUFFER_SIZE; + cb = new char[bufferSize]; + nextChar = 0; + closed = false; } - + /** * Write a single character. */ public void write(int c) throws IOException { - if (writer != null) { - writer.write(c); - } else { - ensureOpen(); - if (nextChar >= bufferSize) { - reAllocBuff (1); - } - cb[nextChar++] = (char) c; - } + if (writer != null) { + writer.write(c); + } else { + ensureOpen(); + if (nextChar >= bufferSize) { + reAllocBuff (1); + } + cb[nextChar++] = (char) c; + } } - + /** * Write a portion of an array of characters. * @@ -93,38 +93,38 @@ * @param len Number of characters to write */ public void write(char[] cbuf, int off, int len) throws IOException { - if (writer != null) { - writer.write(cbuf, off, len); - } else { - ensureOpen(); - - 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 - nextChar) - reAllocBuff (len); - - System.arraycopy(cbuf, off, cb, nextChar, len); - nextChar+=len; - } + if (writer != null) { + writer.write(cbuf, off, len); + } else { + ensureOpen(); + + 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 - nextChar) + reAllocBuff (len); + + System.arraycopy(cbuf, off, cb, nextChar, len); + nextChar+=len; + } } - + /** * Write an array of characters. This method cannot be inherited from the * Writer class because it must suppress I/O exceptions. */ public void write(char[] buf) throws IOException { - if (writer != null) { - writer.write(buf); - } else { - write(buf, 0, buf.length); - } + if (writer != null) { + writer.write(buf); + } else { + write(buf, 0, buf.length); + } } - + /** * Write a portion of a String. * @@ -133,30 +133,30 @@ * @param len Number of characters to be written */ public void write(String s, int off, int len) throws IOException { - if (writer != null) { - writer.write(s, off, len); - } else { - ensureOpen(); - if (len >= bufferSize - nextChar) - reAllocBuff(len); - - s.getChars(off, off + len, cb, nextChar); - nextChar += len; - } + if (writer != null) { + writer.write(s, off, len); + } else { + ensureOpen(); + if (len >= bufferSize - nextChar) + reAllocBuff(len); + + s.getChars(off, off + len, cb, nextChar); + nextChar += len; + } } - + /** * Write a string. This method cannot be inherited from the Writer class * because it must suppress I/O exceptions. */ public void write(String s) throws IOException { - if (writer != null) { - writer.write(s); - } else { - write(s, 0, s.length()); - } + if (writer != null) { + writer.write(s); + } else { + write(s, 0, s.length()); + } } - + /** * Write a line separator. The line separator string is defined by the * system property <tt>line.separator</tt>, and is not necessarily a single @@ -165,13 +165,13 @@ * @throws IOException If an I/O error occurs */ public void newLine() throws IOException { - if (writer != null) { - writer.write(LINE_SEPARATOR); - } else { - write(LINE_SEPARATOR); - } + if (writer != null) { + writer.write(LINE_SEPARATOR); + } else { + write(LINE_SEPARATOR); + } } - + /** * Print a boolean value. The string produced by <code>[EMAIL PROTECTED] * java.lang.String#valueOf(boolean)}</code> is translated into bytes @@ -183,13 +183,13 @@ * @throws IOException */ public void print(boolean b) throws IOException { - if (writer != null) { - writer.write(b ? "true" : "false"); - } else { - write(b ? "true" : "false"); - } + if (writer != null) { + writer.write(b ? "true" : "false"); + } else { + write(b ? "true" : "false"); + } } - + /** * Print a character. The character is translated into one or more bytes * according to the platform's default character encoding, and these bytes @@ -200,13 +200,13 @@ * @throws IOException */ public void print(char c) throws IOException { - if (writer != null) { - writer.write(String.valueOf(c)); - } else { - write(String.valueOf(c)); - } + if (writer != null) { + writer.write(String.valueOf(c)); + } else { + write(String.valueOf(c)); + } } - + /** * Print an integer. The string produced by <code>[EMAIL PROTECTED] * java.lang.String#valueOf(int)}</code> is translated into bytes according @@ -218,13 +218,13 @@ * @throws IOException */ public void print(int i) throws IOException { - if (writer != null) { - writer.write(String.valueOf(i)); - } else { - write(String.valueOf(i)); - } + if (writer != null) { + writer.write(String.valueOf(i)); + } else { + write(String.valueOf(i)); + } } - + /** * Print a long integer. The string produced by <code>[EMAIL PROTECTED] * java.lang.String#valueOf(long)}</code> is translated into bytes @@ -236,13 +236,13 @@ * @throws IOException */ public void print(long l) throws IOException { - if (writer != null) { - writer.write(String.valueOf(l)); - } else { - write(String.valueOf(l)); - } + if (writer != null) { + writer.write(String.valueOf(l)); + } else { + write(String.valueOf(l)); + } } - + /** * Print a floating-point number. The string produced by <code>[EMAIL PROTECTED] * java.lang.String#valueOf(float)}</code> is translated into bytes @@ -254,13 +254,13 @@ * @throws IOException */ public void print(float f) throws IOException { - if (writer != null) { - writer.write(String.valueOf(f)); - } else { - write(String.valueOf(f)); - } + if (writer != null) { + writer.write(String.valueOf(f)); + } else { + write(String.valueOf(f)); + } } - + /** * Print a double-precision floating-point number. The string produced by * <code>[EMAIL PROTECTED] java.lang.String#valueOf(double)}</code> is translated into @@ -272,13 +272,13 @@ * @throws IOException */ public void print(double d) throws IOException { - if (writer != null) { - writer.write(String.valueOf(d)); - } else { - write(String.valueOf(d)); - } + if (writer != null) { + writer.write(String.valueOf(d)); + } else { + write(String.valueOf(d)); + } } - + /** * Print an array of characters. The characters are converted into bytes * according to the platform's default character encoding, and these bytes @@ -291,13 +291,13 @@ * @throws IOException */ public void print(char[] s) throws IOException { - if (writer != null) { - writer.write(s); - } else { - write(s); - } + if (writer != null) { + writer.write(s); + } else { + write(s); + } } - + /** * Print a string. If the argument is <code>null</code> then the string * <code>"null"</code> is printed. Otherwise, the string's characters are @@ -309,14 +309,14 @@ * @throws IOException */ public void print(String s) throws IOException { - if (s == null) s = "null"; - if (writer != null) { - writer.write(s); - } else { - write(s); - } + if (s == null) s = "null"; + if (writer != null) { + writer.write(s); + } else { + write(s); + } } - + /** * Print an object. The string produced by the <code>[EMAIL PROTECTED] * java.lang.String#valueOf(Object)}</code> method is translated into bytes @@ -328,13 +328,13 @@ * @throws IOException */ public void print(Object obj) throws IOException { - if (writer != null) { - writer.write(String.valueOf(obj)); - } else { - write(String.valueOf(obj)); - } + if (writer != null) { + writer.write(String.valueOf(obj)); + } else { + write(String.valueOf(obj)); + } } - + /** * Terminate the current line by writing the line separator string. The * line separator string is defined by the system property @@ -344,9 +344,9 @@ * @throws IOException */ public void println() throws IOException { - newLine(); + newLine(); } - + /** * Print a boolean value and then terminate the line. This method behaves * as though it invokes <code>[EMAIL PROTECTED] #print(boolean)}</code> and then @@ -358,7 +358,7 @@ print(x); println(); } - + /** * Print a character and then terminate the line. This method behaves as * though it invokes <code>[EMAIL PROTECTED] #print(char)}</code> and then @@ -370,7 +370,7 @@ print(x); println(); } - + /** * Print an integer and then terminate the line. This method behaves as * though it invokes <code>[EMAIL PROTECTED] #print(int)}</code> and then @@ -382,7 +382,7 @@ print(x); println(); } - + /** * Print a long integer and then terminate the line. This method behaves * as though it invokes <code>[EMAIL PROTECTED] #print(long)}</code> and then @@ -394,7 +394,7 @@ print(x); println(); } - + /** * Print a floating-point number and then terminate the line. This method * behaves as though it invokes <code>[EMAIL PROTECTED] #print(float)}</code> and then @@ -406,7 +406,7 @@ print(x); println(); } - + /** * Print a double-precision floating-point number and then terminate the * line. This method behaves as though it invokes <code>[EMAIL PROTECTED] @@ -418,7 +418,7 @@ print(x); println(); } - + /** * Print an array of characters and then terminate the line. This method * behaves as though it invokes <code>[EMAIL PROTECTED] #print(char[])}</code> and @@ -430,7 +430,7 @@ print(x); println(); } - + /** * Print a String and then terminate the line. This method behaves as * though it invokes <code>[EMAIL PROTECTED] #print(String)}</code> and then @@ -442,7 +442,7 @@ print(x); println(); } - + /** * Print an Object and then terminate the line. This method behaves as * though it invokes <code>[EMAIL PROTECTED] #print(Object)}</code> and then @@ -454,7 +454,7 @@ print(x); println(); } - + /** * Clear the contents of the buffer. If the buffer has been already * been flushed then the clear operation shall throw an IOException @@ -464,13 +464,13 @@ * @throws IOException If an I/O error occurs */ public void clear() throws IOException { - if (writer != null) { - throw new IOException(); - } else { - nextChar = 0; - } + if (writer != null) { + throw new IOException(); + } else { + nextChar = 0; + } } - + /** * Clears the current contents of the buffer. Unlike clear(), this * mehtod will not throw an IOException if the buffer has already been @@ -481,10 +481,10 @@ */ public void clearBuffer() throws IOException { if (writer == null) { - this.clear(); - } + this.clear(); + } } - + /** * Close the stream, flushing it first. Once a stream has been closed, * further write() or flush() invocations will cause an IOException to be @@ -493,20 +493,20 @@ * @throws IOException If an I/O error occurs */ public void close() throws IOException { - if (writer != null) { - writer.close(); - } else { - closed = true; - } + if (writer != null) { + writer.close(); + } else { + closed = true; + } } - + /** * @return the number of bytes unused in the buffer */ public int getRemaining() { - return (writer == null) ? bufferSize-nextChar : 0; + return (writer == null) ? bufferSize-nextChar : 0; } - + /** * Return the value of this BodyJspWriter as a Reader. * Note: this is after evaluation!! There are no scriptlets, @@ -515,9 +515,9 @@ * @return the value of this BodyJspWriter as a Reader */ public Reader getReader() { - return (writer == null) ? new CharArrayReader (cb, 0, nextChar) : null; + return (writer == null) ? new CharArrayReader (cb, 0, nextChar) : null; } - + /** * Return the value of the BodyJspWriter as a String. * Note: this is after evaluation!! There are no scriptlets, @@ -526,9 +526,9 @@ * @return the value of the BodyJspWriter as a String */ public String getString() { - return (writer == null) ? new String(cb, 0, nextChar) : null; + return (writer == null) ? new String(cb, 0, nextChar) : null; } - + /** * Write the contents of this BodyJspWriter into a Writer. * Subclasses are likely to do interesting things with the @@ -538,65 +538,65 @@ * evaluation */ public void writeOut(Writer out) throws IOException { - if (writer == null) { - out.write(cb, 0, nextChar); - // Flush not called as the writer passed could be a BodyContent and - // it doesn't allow to flush. - } + if (writer == null) { + out.write(cb, 0, nextChar); + // Flush not called as the writer passed could be a BodyContent and + // it doesn't allow to flush. + } } - + /** * Sets the writer to which all output is written. */ void setWriter(Writer writer) { - this.writer = writer; - closed = false; - if (writer != null) { - // According to the spec, the JspWriter returned by - // JspContext.pushBody(java.io.Writer writer) must behave as - // though it were unbuffered. This means that its getBufferSize() - // must always return 0. The implementation of - // JspWriter.getBufferSize() returns the value of JspWriter's - // 'bufferSize' field, which is inherited by this class. - // Therefore, we simply save the current 'bufferSize' (so we can - // later restore it should this BodyContentImpl ever be reused by - // a call to PageContext.pushBody()) before setting it to 0. - if (bufferSize != 0) { - bufferSizeSave = bufferSize; - bufferSize = 0; - } - } else { - bufferSize = bufferSizeSave; - clearBody(); - } + this.writer = writer; + closed = false; + if (writer != null) { + // According to the spec, the JspWriter returned by + // JspContext.pushBody(java.io.Writer writer) must behave as + // though it were unbuffered. This means that its getBufferSize() + // must always return 0. The implementation of + // JspWriter.getBufferSize() returns the value of JspWriter's + // 'bufferSize' field, which is inherited by this class. + // Therefore, we simply save the current 'bufferSize' (so we can + // later restore it should this BodyContentImpl ever be reused by + // a call to PageContext.pushBody()) before setting it to 0. + if (bufferSize != 0) { + bufferSizeSave = bufferSize; + bufferSize = 0; + } + } else { + bufferSize = bufferSizeSave; + clearBody(); + } } - + private void ensureOpen() throws IOException { - if (closed) throw new IOException("Stream closed"); + if (closed) throw new IOException("Stream closed"); } - + /** * Reallocates buffer since the spec requires it to be unbounded. */ private void reAllocBuff(int len) { - + if (bufferSize + len <= cb.length) { bufferSize = cb.length; return; } - + if (len < cb.length) { len = cb.length; } - + bufferSize = cb.length + len; char[] tmp = new char[bufferSize]; - - System.arraycopy(cb, 0, tmp, 0, cb.length); - cb = tmp; - tmp = null; - + + System.arraycopy(cb, 0, tmp, 0, cb.length); + cb = tmp; + tmp = null; + } - - + + }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]