You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/07/23 23:47:40 UTC

svn commit: r967277 [1/2] - in /tomcat/trunk/java/javax/servlet/jsp: ./ el/ tagext/

Author: markt
Date: Fri Jul 23 21:47:39 2010
New Revision: 967277

URL: http://svn.apache.org/viewvc?rev=967277&view=rev
Log:
More tab police - javax.servlet.jsp

Modified:
    tomcat/trunk/java/javax/servlet/jsp/ErrorData.java
    tomcat/trunk/java/javax/servlet/jsp/JspApplicationContext.java
    tomcat/trunk/java/javax/servlet/jsp/JspTagException.java
    tomcat/trunk/java/javax/servlet/jsp/JspWriter.java
    tomcat/trunk/java/javax/servlet/jsp/SkipPageException.java
    tomcat/trunk/java/javax/servlet/jsp/el/ExpressionEvaluator.java
    tomcat/trunk/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java
    tomcat/trunk/java/javax/servlet/jsp/el/VariableResolver.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/BodyContent.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/BodyTag.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/BodyTagSupport.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/TagAdapter.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/TagLibraryInfo.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/TagVariableInfo.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/ValidationMessage.java
    tomcat/trunk/java/javax/servlet/jsp/tagext/VariableInfo.java

Modified: tomcat/trunk/java/javax/servlet/jsp/ErrorData.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/ErrorData.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/ErrorData.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/ErrorData.java Fri Jul 23 21:47:39 2010
@@ -1,32 +1,30 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/ 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp;
 
 /**
- * Contains information about an error, for error pages.
- * The information contained in this instance is meaningless if not used
- * in the context of an error page.  To indicate a JSP is an error page,
- * the page author must set the isErrorPage attribute of the page directive
- * to "true".
- *
+ * Contains information about an error, for error pages. The information
+ * contained in this instance is meaningless if not used in the context of an
+ * error page. To indicate a JSP is an error page, the page author must set the
+ * isErrorPage attribute of the page directive to "true".
+ * 
  * @see PageContext#getErrorData
  * @since 2.0
  */
-
 public final class ErrorData {
 
     private Throwable throwable;
@@ -36,54 +34,57 @@ public final class ErrorData {
 
     /**
      * Creates a new ErrorData object.
-     *
-     * @param throwable The Throwable that is the cause of the error
-     * @param statusCode The status code of the error
-     * @param uri The request URI
-     * @param servletName The name of the servlet invoked
+     * 
+     * @param throwable
+     *            The Throwable that is the cause of the error
+     * @param statusCode
+     *            The status code of the error
+     * @param uri
+     *            The request URI
+     * @param servletName
+     *            The name of the servlet invoked
      */
-    public ErrorData( Throwable throwable, int statusCode, String uri, 
-	String servletName )
-    {
-	this.throwable = throwable;
-	this.statusCode = statusCode;
-	this.uri = uri;
-	this.servletName = servletName;
+    public ErrorData(Throwable throwable, int statusCode, String uri,
+            String servletName) {
+        this.throwable = throwable;
+        this.statusCode = statusCode;
+        this.uri = uri;
+        this.servletName = servletName;
     }
 
     /**
      * Returns the Throwable that caused the error.
-     *
+     * 
      * @return The Throwable that caused the error
      */
     public Throwable getThrowable() {
-	return this.throwable;
+        return this.throwable;
     }
 
     /**
      * Returns the status code of the error.
-     *
+     * 
      * @return The status code of the error
      */
     public int getStatusCode() {
-	return this.statusCode;
+        return this.statusCode;
     }
 
     /**
      * Returns the request URI.
-     *
+     * 
      * @return The request URI
      */
     public String getRequestURI() {
-	return this.uri;
+        return this.uri;
     }
 
     /**
      * Returns the name of the servlet invoked.
-     *
+     * 
      * @return The name of the servlet invoked
      */
     public String getServletName() {
-	return this.servletName;
+        return this.servletName;
     }
 }

Modified: tomcat/trunk/java/javax/servlet/jsp/JspApplicationContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/JspApplicationContext.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/JspApplicationContext.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/JspApplicationContext.java Fri Jul 23 21:47:39 2010
@@ -1,19 +1,19 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp;
 
 import javax.el.ELContextListener;
@@ -24,54 +24,60 @@ import javax.el.ExpressionFactory;
  * <p>
  * Stores <i>application</i>-scoped information for the JSP container.
  * </p>
+ * 
  * @since 2.1
  */
 public interface JspApplicationContext {
 
-	/**
-	 * <p>
-	 * Registers an <code>ELContextListener</code> that will notified whenever
-	 * a new <code>ELContext</code> is created.
-	 * </p>
-	 * <p>
-	 * At the very least, any <code>ELContext</code> instantiated will have reference
-	 * to the <code>JspContext</code> under <code>JspContext.class</code>.
-	 * </p>
-	 * 
-	 * @param listener
-	 */
-	public void addELContextListener(ELContextListener listener);
-	
-	/**
-	 * <p>
-	 * Adds an <code>ELResolver</code> to the chain of EL variable and property management
-	 * within JSP pages and Tag files.
-	 * </p>
-	 * <p>
-	 * JSP has a default set of ELResolvers to chain for all EL evaluation:
-	 * <ul>
-	 * <li><code>ImplicitObjectELResolver</code></li>
-	 * <li><code>ELResolver</code> instances registered with this method</li>
-	 * <li><code>MapELResolver</code></li>
-	 * <li><code>ListELResolver</code></li>
-	 * <li><code>ArrayELResolver</code></li>
-	 * <li><code>BeanELResolver</code></li>
-	 * <li><code>ScopedAttributeELResolver</code></li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param resolver an additional resolver
-	 * @throws IllegalStateException if called after the application's <code>ServletContextListeners</code> have been initialized.
-	 */
-	public void addELResolver(ELResolver resolver) throws IllegalStateException;
-	
-	/**
-	 * <p>
-	 * Returns the JSP container's <code>ExpressionFactory</code> implementation for EL use.
-	 * </p>
-	 * 
-	 * @return an <code>ExpressionFactory</code> implementation
-	 */
-	public ExpressionFactory getExpressionFactory();
-	
+    /**
+     * <p>
+     * Registers an <code>ELContextListener</code> that will notified whenever a
+     * new <code>ELContext</code> is created.
+     * </p>
+     * <p>
+     * At the very least, any <code>ELContext</code> instantiated will have
+     * reference to the <code>JspContext</code> under
+     * <code>JspContext.class</code>.
+     * </p>
+     * 
+     * @param listener
+     */
+    public void addELContextListener(ELContextListener listener);
+
+    /**
+     * <p>
+     * Adds an <code>ELResolver</code> to the chain of EL variable and property
+     * management within JSP pages and Tag files.
+     * </p>
+     * <p>
+     * JSP has a default set of ELResolvers to chain for all EL evaluation:
+     * <ul>
+     * <li><code>ImplicitObjectELResolver</code></li>
+     * <li><code>ELResolver</code> instances registered with this method</li>
+     * <li><code>MapELResolver</code></li>
+     * <li><code>ListELResolver</code></li>
+     * <li><code>ArrayELResolver</code></li>
+     * <li><code>BeanELResolver</code></li>
+     * <li><code>ScopedAttributeELResolver</code></li>
+     * </ul>
+     * </p>
+     * 
+     * @param resolver
+     *            an additional resolver
+     * @throws IllegalStateException
+     *             if called after the application's
+     *             <code>ServletContextListeners</code> have been initialized.
+     */
+    public void addELResolver(ELResolver resolver) throws IllegalStateException;
+
+    /**
+     * <p>
+     * Returns the JSP container's <code>ExpressionFactory</code> implementation
+     * for EL use.
+     * </p>
+     * 
+     * @return an <code>ExpressionFactory</code> implementation
+     */
+    public ExpressionFactory getExpressionFactory();
+
 }

Modified: tomcat/trunk/java/javax/servlet/jsp/JspTagException.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/JspTagException.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/JspTagException.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/JspTagException.java Fri Jul 23 21:47:39 2010
@@ -1,93 +1,83 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp;
 
 /**
- * Exception to be used by a Tag Handler to indicate some unrecoverable
- * error.
+ * Exception to be used by a Tag Handler to indicate some unrecoverable error.
  * This error is to be caught by the top level of the JSP page and will result
  * in an error page.
  */
-
 public class JspTagException extends JspException {
+
     /**
-     * Constructs a new JspTagException with the specified message.
-     * The message can be written to the server log and/or displayed
-     * for the user.
+     * Constructs a new JspTagException with the specified message. The message
+     * can be written to the server log and/or displayed for the user.
      * 
-     * @param msg a <code>String</code> specifying the text of 
-     *     the exception message
+     * @param msg
+     *            a <code>String</code> specifying the text of the exception
+     *            message
      */
     public JspTagException(String msg) {
-	super( msg );
+        super(msg);
     }
 
     /**
      * Constructs a new JspTagException with no message.
      */
     public JspTagException() {
-	super();
+        super();
     }
 
     /**
-     * Constructs a new JspTagException when the JSP Tag
-     * needs to throw an exception and include a message 
-     * about the "root cause" exception that interfered with its 
-     * normal operation, including a description message.
-     *
-     *
-     * @param message 		a <code>String</code> containing 
-     *				the text of the exception message
-     *
-     * @param rootCause		the <code>Throwable</code> exception 
-     *				that interfered with the JSP Tag's
-     *				normal operation, making this JSP Tag
-     *				exception necessary
-     *
+     * Constructs a new JspTagException when the JSP Tag needs to throw an
+     * exception and include a message about the "root cause" exception that
+     * interfered with its normal operation, including a description message.
+     * 
+     * @param message
+     *            a <code>String</code> containing the text of the exception
+     *            message
+     * @param rootCause
+     *            the <code>Throwable</code> exception that interfered with the
+     *            JSP Tag's normal operation, making this JSP Tag exception
+     *            necessary
      * @since 2.0
      */
     public JspTagException(String message, Throwable rootCause) {
-	super( message, rootCause );
+        super(message, rootCause);
     }
 
-
     /**
-     * Constructs a new JSP Tag exception when the JSP Tag
-     * needs to throw an exception and include a message
-     * about the "root cause" exception that interfered with its
-     * normal operation.  The exception's message is based on the localized
-     * message of the underlying exception.
-     *
-     * <p>This method calls the <code>getLocalizedMessage</code> method
-     * on the <code>Throwable</code> exception to get a localized exception
-     * message. When subclassing <code>JspTagException</code>, 
-     * this method can be overridden to create an exception message 
-     * designed for a specific locale.
-     *
-     * @param rootCause 	the <code>Throwable</code> exception
-     * 				that interfered with the JSP Tag's
-     *				normal operation, making the JSP Tag 
-     *                          exception necessary
-     *
+     * Constructs a new JSP Tag exception when the JSP Tag needs to throw an
+     * exception and include a message about the "root cause" exception that
+     * interfered with its normal operation. The exception's message is based on
+     * the localized message of the underlying exception.
+     * <p>
+     * This method calls the <code>getLocalizedMessage</code> method on the
+     * <code>Throwable</code> exception to get a localized exception message.
+     * When subclassing <code>JspTagException</code>, this method can be
+     * overridden to create an exception message designed for a specific locale.
+     * 
+     * @param rootCause
+     *            the <code>Throwable</code> exception that interfered with the
+     *            JSP Tag's normal operation, making the JSP Tag exception
+     *            necessary
      * @since 2.0
      */
-
     public JspTagException(Throwable rootCause) {
-	super( rootCause );
+        super(rootCause);
     }
-
 }

Modified: tomcat/trunk/java/javax/servlet/jsp/JspWriter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/JspWriter.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/JspWriter.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/JspWriter.java Fri Jul 23 21:47:39 2010
@@ -1,433 +1,446 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
- 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package javax.servlet.jsp;
 
 import java.io.IOException;
 
 /**
  * <p>
- * The actions and template data in a JSP page is written using the
- * JspWriter object that is referenced by the implicit variable out which
- * is initialized automatically using methods in the PageContext object.
+ * The actions and template data in a JSP page is written using the JspWriter
+ * object that is referenced by the implicit variable out which is initialized
+ * automatically using methods in the PageContext object.
  *<p>
  * This abstract class emulates some of the functionality found in the
- * java.io.BufferedWriter and java.io.PrintWriter classes,
- * however it differs in that it throws java.io.IOException from the print
- * methods while PrintWriter does not.
- * <p><B>Buffering</B>
+ * java.io.BufferedWriter and java.io.PrintWriter classes, however it differs in
+ * that it throws java.io.IOException from the print methods while PrintWriter
+ * does not.
+ * <p>
+ * <B>Buffering</B>
  * <p>
- * The initial JspWriter object is associated with the PrintWriter object
- * of the ServletResponse in a way that depends on whether the page is or
- * is not buffered. If the page is not buffered, output written to this
- * JspWriter object will be written through to the PrintWriter directly,
- * which will be created if necessary by invoking the getWriter() method
- * on the response object. But if the page is buffered, the PrintWriter
- * object will not be created until the buffer is flushed and
- * operations like setContentType() are legal. Since this flexibility
- * simplifies programming substantially, buffering is the default for JSP
- * pages.
+ * The initial JspWriter object is associated with the PrintWriter object of the
+ * ServletResponse in a way that depends on whether the page is or is not
+ * buffered. If the page is not buffered, output written to this JspWriter
+ * object will be written through to the PrintWriter directly, which will be
+ * created if necessary by invoking the getWriter() method on the response
+ * object. But if the page is buffered, the PrintWriter object will not be
+ * created until the buffer is flushed and operations like setContentType() are
+ * legal. Since this flexibility simplifies programming substantially, buffering
+ * is the default for JSP pages.
  * <p>
- * Buffering raises the issue of what to do when the buffer is
- * exceeded. Two approaches can be taken:
+ * Buffering raises the issue of what to do when the buffer is exceeded. Two
+ * approaches can be taken:
  * <ul>
- * <li>
- * Exceeding the buffer is not a fatal error; when the buffer is
- * exceeded, just flush the output.
- * <li>
- * Exceeding the buffer is a fatal error; when the buffer is exceeded,
- * raise an exception.
+ * <li>Exceeding the buffer is not a fatal error; when the buffer is exceeded,
+ * just flush the output.
+ * <li>Exceeding the buffer is a fatal error; when the buffer is exceeded, raise
+ * an exception.
  * </ul>
  * <p>
- * Both approaches are valid, and thus both are supported in the JSP
- * technology. The behavior of a page is controlled by the autoFlush
- * attribute, which defaults to true. In general, JSP pages that need to
- * be sure that correct and complete data has been sent to their client
- * may want to set autoFlush to false, with a typical case being that
- * where the client is an application itself. On the other hand, JSP
- * pages that send data that is meaningful even when partially
- * constructed may want to set autoFlush to true; such as when the
- * data is sent for immediate display through a browser. Each application
+ * Both approaches are valid, and thus both are supported in the JSP technology.
+ * The behavior of a page is controlled by the autoFlush attribute, which
+ * defaults to true. In general, JSP pages that need to be sure that correct and
+ * complete data has been sent to their client may want to set autoFlush to
+ * false, with a typical case being that where the client is an application
+ * itself. On the other hand, JSP pages that send data that is meaningful even
+ * when partially constructed may want to set autoFlush to true; such as when
+ * the data is sent for immediate display through a browser. Each application
  * will need to consider their specific needs.
  * <p>
- * An alternative considered was to make the buffer size unbounded; but,
- * this had the disadvantage that runaway computations would consume an
- * unbounded amount of resources.
+ * An alternative considered was to make the buffer size unbounded; but, this
+ * had the disadvantage that runaway computations would consume an unbounded
+ * amount of resources.
  * <p>
- * The "out" implicit variable of a JSP implementation class is of this type.
- * If the page directive selects autoflush="true" then all the I/O operations
- * on this class shall automatically flush the contents of the buffer if an
+ * The "out" implicit variable of a JSP implementation class is of this type. If
+ * the page directive selects autoflush="true" then all the I/O operations on
+ * this class shall automatically flush the contents of the buffer if an
  * overflow condition would result if the current operation were performed
  * without a flush. If autoflush="false" then all the I/O operations on this
  * class shall throw an IOException if performing the current operation would
  * result in a buffer overflow condition.
- *
+ * 
  * @see java.io.Writer
  * @see java.io.BufferedWriter
  * @see java.io.PrintWriter
  */
-
 abstract public class JspWriter extends java.io.Writer {
 
     /**
      * Constant indicating that the Writer is not buffering output.
      */
-
-    public static final int	NO_BUFFER = 0;
+    public static final int NO_BUFFER = 0;
 
     /**
      * Constant indicating that the Writer is buffered and is using the
      * implementation default buffer size.
      */
-
-    public static final int	DEFAULT_BUFFER = -1;
+    public static final int DEFAULT_BUFFER = -1;
 
     /**
-     * Constant indicating that the Writer is buffered and is unbounded; this
-     * is used in BodyContent.
+     * Constant indicating that the Writer is buffered and is unbounded; this is
+     * used in BodyContent.
      */
-
-    public static final int	UNBOUNDED_BUFFER = -2;
+    public static final int UNBOUNDED_BUFFER = -2;
 
     /**
      * Protected constructor.
-     *
-     * @param bufferSize the size of the buffer to be used by the JspWriter
-     * @param autoFlush whether the JspWriter should be autoflushing
+     * 
+     * @param bufferSize
+     *            the size of the buffer to be used by the JspWriter
+     * @param autoFlush
+     *            whether the JspWriter should be autoflushing
      */
-
     protected JspWriter(int bufferSize, boolean autoFlush) {
-	this.bufferSize = bufferSize;
-	this.autoFlush  = autoFlush;
+        this.bufferSize = bufferSize;
+        this.autoFlush = autoFlush;
     }
 
     /**
-     * Write a line separator.  The line separator string is defined by the
+     * Write a line separator. The line separator string is defined by the
      * system property <tt>line.separator</tt>, and is not necessarily a single
      * newline ('\n') character.
-     *
-     * @exception  IOException  If an I/O error occurs
+     * 
+     * @exception IOException
+     *                If an I/O error occurs
      */
-
     abstract public void newLine() throws IOException;
 
     /**
-     * Print a boolean value.  The string produced by <code>{@link
-     * java.lang.String#valueOf(boolean)}</code> is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the 
-     * underlying writer.
-     *
-     * @param      b   The <code>boolean</code> to be printed
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a boolean value. The string produced by <code>{@link
+     * java.lang.String#valueOf(boolean)}</code>
+     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * to the underlying writer.
+     * 
+     * @param b
+     *            The <code>boolean</code> to be printed
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(boolean b) throws IOException;
 
     /**
-     * Print a character.  The character is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      c   The <code>char</code> to be printed
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a character. The character is written to the JspWriter's buffer or,
+     * if no buffer is used, directly to the underlying writer.
+     * 
+     * @param c
+     *            The <code>char</code> to be printed
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(char c) throws IOException;
 
     /**
-     * Print an integer.  The string produced by <code>{@link
-     * java.lang.String#valueOf(int)}</code> is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      i   The <code>int</code> to be printed
-     * @see        java.lang.Integer#toString(int)
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print an integer. The string produced by <code>{@link
+     * java.lang.String#valueOf(int)}</code>
+     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * to the underlying writer.
+     * 
+     * @param i
+     *            The <code>int</code> to be printed
+     * @see java.lang.Integer#toString(int)
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(int i) throws IOException;
 
     /**
-     * Print a long integer.  The string produced by <code>{@link
-     * java.lang.String#valueOf(long)}</code> is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      l   The <code>long</code> to be printed
-     * @see        java.lang.Long#toString(long)
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a long integer. The string produced by <code>{@link
+     * java.lang.String#valueOf(long)}</code>
+     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * to the underlying writer.
+     * 
+     * @param l
+     *            The <code>long</code> to be printed
+     * @see java.lang.Long#toString(long)
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(long l) throws IOException;
 
     /**
-     * Print a floating-point number.  The string produced by <code>{@link
-     * java.lang.String#valueOf(float)}</code> is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      f   The <code>float</code> to be printed
-     * @see        java.lang.Float#toString(float)
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a floating-point number. The string produced by <code>{@link
+     * java.lang.String#valueOf(float)}</code>
+     * is written to the JspWriter's buffer or, if no buffer is used, directly
+     * to the underlying writer.
+     * 
+     * @param f
+     *            The <code>float</code> to be printed
+     * @see java.lang.Float#toString(float)
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(float f) throws IOException;
 
     /**
-     * Print a double-precision floating-point number.  The string produced by
-     * <code>{@link java.lang.String#valueOf(double)}</code> is written to
-     * the JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      d   The <code>double</code> to be printed
-     * @see        java.lang.Double#toString(double)
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a double-precision floating-point number. The string produced by
+     * <code>{@link java.lang.String#valueOf(double)}</code> is written to the
+     * JspWriter's buffer or, if no buffer is used, directly to the underlying
+     * writer.
+     * 
+     * @param d
+     *            The <code>double</code> to be printed
+     * @see java.lang.Double#toString(double)
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(double d) throws IOException;
 
     /**
-     * Print an array of characters.  The characters are written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      s   The array of chars to be printed
-     *
-     * @throws  NullPointerException  If <code>s</code> is <code>null</code>
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print an array of characters. The characters are written to the
+     * JspWriter's buffer or, if no buffer is used, directly to the underlying
+     * writer.
+     * 
+     * @param s
+     *            The array of chars to be printed
+     * @throws NullPointerException
+     *             If <code>s</code> is <code>null</code>
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(char s[]) throws IOException;
 
     /**
-     * Print a string.  If the argument is <code>null</code> then the string
-     * <code>"null"</code> is printed.  Otherwise, the string's characters are
-     * written to the JspWriter's buffer or, if no buffer is used, directly
-     * to the underlying writer.
-     *
-     * @param      s   The <code>String</code> to be printed
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print a string. If the argument is <code>null</code> then the string
+     * <code>"null"</code> is printed. Otherwise, the string's characters are
+     * written to the JspWriter's buffer or, if no buffer is used, directly to
+     * the underlying writer.
+     * 
+     * @param s
+     *            The <code>String</code> to be printed
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(String s) throws IOException;
 
     /**
-     * Print an object.  The string produced by the <code>{@link
-     * java.lang.String#valueOf(Object)}</code> method is written to the
-     * JspWriter's buffer or, if no buffer is used, directly to the
-     * underlying writer.
-     *
-     * @param      obj   The <code>Object</code> to be printed
-     * @see        java.lang.Object#toString()
-     * @throws	   java.io.IOException If an error occurred while writing
+     * Print an object. The string produced by the <code>{@link
+     * java.lang.String#valueOf(Object)}</code>
+     * method is written to the JspWriter's buffer or, if no buffer is used,
+     * directly to the underlying writer.
+     * 
+     * @param obj
+     *            The <code>Object</code> to be printed
+     * @see java.lang.Object#toString()
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void print(Object obj) throws IOException;
 
     /**
-     * Terminate the current line by writing the line separator string.  The
-     * line separator string is defined by the system property
+     * Terminate the current line by writing the line separator string. The line
+     * separator string is defined by the system property
      * <code>line.separator</code>, and is not necessarily a single newline
      * character (<code>'\n'</code>).
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println() throws IOException;
 
     /**
-     * Print a boolean value and then terminate the line.  This method behaves
-     * as though it invokes <code>{@link #print(boolean)}</code> and then
+     * Print a boolean value and then terminate the line. This method behaves as
+     * though it invokes <code>{@link #print(boolean)}</code> and then
      * <code>{@link #println()}</code>.
-     *
-     * @param      x the boolean to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the boolean to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(boolean x) throws IOException;
 
     /**
-     * Print a character and then terminate the line.  This method behaves as
+     * Print a character and then terminate the line. This method behaves as
      * though it invokes <code>{@link #print(char)}</code> and then <code>{@link
-     * #println()}</code>.
-     *
-     * @param      x the char to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * #println()}</code>
+     * .
+     * 
+     * @param x
+     *            the char to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(char x) throws IOException;
 
     /**
-     * Print an integer and then terminate the line.  This method behaves as
+     * Print an integer and then terminate the line. This method behaves as
      * though it invokes <code>{@link #print(int)}</code> and then <code>{@link
-     * #println()}</code>.
-     *
-     * @param      x the int to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * #println()}</code>
+     * .
+     * 
+     * @param x
+     *            the int to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(int x) throws IOException;
 
     /**
-     * Print a long integer and then terminate the line.  This method behaves
-     * as though it invokes <code>{@link #print(long)}</code> and then
+     * Print a long integer and then terminate the line. This method behaves as
+     * though it invokes <code>{@link #print(long)}</code> and then
      * <code>{@link #println()}</code>.
-     *
-     * @param      x the long to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the long to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(long x) throws IOException;
 
     /**
-     * Print a floating-point number and then terminate the line.  This method
+     * Print a floating-point number and then terminate the line. This method
      * behaves as though it invokes <code>{@link #print(float)}</code> and then
      * <code>{@link #println()}</code>.
-     *
-     * @param      x the float to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the float to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(float x) throws IOException;
 
     /**
      * Print a double-precision floating-point number and then terminate the
-     * line.  This method behaves as though it invokes <code>{@link
-     * #print(double)}</code> and then <code>{@link #println()}</code>.
-     *
-     * @param      x the double to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * line. This method behaves as though it invokes <code>{@link
+     * #print(double)}</code> and
+     * then <code>{@link #println()}</code>.
+     * 
+     * @param x
+     *            the double to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(double x) throws IOException;
 
     /**
-     * Print an array of characters and then terminate the line.  This method
+     * Print an array of characters and then terminate the line. This method
      * behaves as though it invokes <code>print(char[])</code> and then
      * <code>println()</code>.
-     *
-     * @param      x the char[] to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the char[] to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(char x[]) throws IOException;
 
     /**
-     * Print a String and then terminate the line.  This method behaves as
-     * though it invokes <code>{@link #print(String)}</code> and then
+     * Print a String and then terminate the line. This method behaves as though
+     * it invokes <code>{@link #print(String)}</code> and then
      * <code>{@link #println()}</code>.
-     *
-     * @param      x the String to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the String to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(String x) throws IOException;
 
     /**
-     * Print an Object and then terminate the line.  This method behaves as
+     * Print an Object and then terminate the line. This method behaves as
      * though it invokes <code>{@link #print(Object)}</code> and then
      * <code>{@link #println()}</code>.
-     *
-     * @param      x the Object to write
-     * @throws	   java.io.IOException If an error occurred while writing
+     * 
+     * @param x
+     *            the Object to write
+     * @throws java.io.IOException
+     *             If an error occurred while writing
      */
-
     abstract public void println(Object x) throws IOException;
 
-
     /**
-     * Clear the contents of the buffer. If the buffer has been already
-     * been flushed then the clear operation shall throw an IOException
-     * to signal the fact that some data has already been irrevocably 
-     * written to the client response stream.
-     *
-     * @throws IOException		If an I/O error occurs
+     * Clear the contents of the buffer. If the buffer has been already been
+     * flushed then the clear operation shall throw an IOException to signal the
+     * fact that some data has already been irrevocably written to the client
+     * response stream.
+     * 
+     * @throws IOException
+     *             If an I/O error occurs
      */
-
     abstract public void clear() throws IOException;
 
     /**
-     * Clears the current contents of the buffer. Unlike clear(), this
-     * method will not throw an IOException if the buffer has already been
-     * flushed. It merely clears the current content of the buffer and
-     * returns.
-     *
-     * @throws IOException		If an I/O error occurs
+     * Clears the current contents of the buffer. Unlike clear(), this method
+     * will not throw an IOException if the buffer has already been flushed. It
+     * merely clears the current content of the buffer and returns.
+     * 
+     * @throws IOException
+     *             If an I/O error occurs
      */
-
     abstract public void clearBuffer() throws IOException;
 
     /**
-     * Flush the stream.  If the stream has saved any characters from the
-     * various write() methods in a buffer, write them immediately to their
-     * intended destination.  Then, if that destination is another character or
-     * byte stream, flush it.  Thus one flush() invocation will flush all the
-     * buffers in a chain of Writers and OutputStreams.
+     * Flush the stream. If the stream has saved any characters from the various
+     * write() methods in a buffer, write them immediately to their intended
+     * destination. Then, if that destination is another character or byte
+     * stream, flush it. Thus one flush() invocation will flush all the buffers
+     * in a chain of Writers and OutputStreams.
      * <p>
      * The method may be invoked indirectly if the buffer size is exceeded.
      * <p>
-     * Once a stream has been closed,
-     * further write() or flush() invocations will cause an IOException to be
-     * thrown.
-     *
-     * @exception  IOException  If an I/O error occurs
+     * Once a stream has been closed, further write() or flush() invocations
+     * will cause an IOException to be thrown.
+     * 
+     * @exception IOException
+     *                If an I/O error occurs
      */
-
     @Override
     abstract public void flush() throws IOException;
 
     /**
      * Close the stream, flushing it first.
      * <p>
-     * This method needs not be invoked explicitly for the initial JspWriter
-     * as the code generated by the JSP container will automatically
-     * include a call to close().
+     * This method needs not be invoked explicitly for the initial JspWriter as
+     * the code generated by the JSP container will automatically include a call
+     * to close().
      * <p>
      * Closing a previously-closed stream, unlike flush(), has no effect.
-     *
-     * @exception  IOException  If an I/O error occurs
+     * 
+     * @exception IOException
+     *                If an I/O error occurs
      */
-
     @Override
     abstract public void close() throws IOException;
 
     /**
      * This method returns the size of the buffer used by the JspWriter.
-     *
+     * 
      * @return the size of the buffer in bytes, or 0 is unbuffered.
      */
-
-    public int getBufferSize() { return bufferSize; }
+    public int getBufferSize() {
+        return bufferSize;
+    }
 
     /**
      * This method returns the number of unused bytes in the buffer.
-     *
+     * 
      * @return the number of bytes unused in the buffer
      */
-
     abstract public int getRemaining();
 
     /**
      * This method indicates whether the JspWriter is autoFlushing.
-     *
-     * @return if this JspWriter is auto flushing or throwing IOExceptions 
-     *     on buffer overflow conditions
+     * 
+     * @return if this JspWriter is auto flushing or throwing IOExceptions on
+     *         buffer overflow conditions
      */
-
-    public boolean isAutoFlush() { return autoFlush; }
+    public boolean isAutoFlush() {
+        return autoFlush;
+    }
 
     /*
      * fields
@@ -436,8 +449,8 @@ abstract public class JspWriter extends 
     /**
      * The size of the buffer used by the JspWriter.
      */
-    protected int     bufferSize;
-    
+    protected int bufferSize;
+
     /**
      * Whether the JspWriter is autoflushing.
      */

Modified: tomcat/trunk/java/javax/servlet/jsp/SkipPageException.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/SkipPageException.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/SkipPageException.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/SkipPageException.java Fri Jul 23 21:47:39 2010
@@ -1,76 +1,75 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp;
 
 /**
- * Exception to indicate the calling page must cease evaluation.
- * Thrown by a simple tag handler to indicate that the remainder of 
- * the page must not be evaluated.  The result is propagated back to
- * the page in the case where one tag invokes another (as can be
- * the case with tag files).  The effect is similar to that of a 
- * Classic Tag Handler returning Tag.SKIP_PAGE from doEndTag().
- * Jsp Fragments may also throw this exception.  This exception
+ * Exception to indicate the calling page must cease evaluation. Thrown by a
+ * simple tag handler to indicate that the remainder of the page must not be
+ * evaluated. The result is propagated back to the page in the case where one
+ * tag invokes another (as can be the case with tag files). The effect is
+ * similar to that of a Classic Tag Handler returning Tag.SKIP_PAGE from
+ * doEndTag(). Jsp Fragments may also throw this exception. This exception
  * should not be thrown manually in a JSP page or tag file - the behavior is
- * undefined.  The exception is intended to be thrown inside 
- * SimpleTag handlers and in JSP fragments.
+ * undefined. The exception is intended to be thrown inside SimpleTag handlers
+ * and in JSP fragments.
  * 
  * @see javax.servlet.jsp.tagext.SimpleTag#doTag
  * @see javax.servlet.jsp.tagext.JspFragment#invoke
  * @see javax.servlet.jsp.tagext.Tag#doEndTag
  * @since 2.0
  */
-public class SkipPageException
-    extends JspException
-{
+public class SkipPageException extends JspException {
+
     /**
      * Creates a SkipPageException with no message.
      */
     public SkipPageException() {
         super();
     }
-    
+
     /**
      * Creates a SkipPageException with the provided message.
-     *
-     * @param message the detail message
+     * 
+     * @param message
+     *            the detail message
      */
-    public SkipPageException( String message ) {
-        super( message );
+    public SkipPageException(String message) {
+        super(message);
     }
 
     /**
      * Creates a SkipPageException with the provided message and root cause.
-     *
-     * @param message the detail message
-     * @param rootCause the originating cause of this exception
+     * 
+     * @param message
+     *            the detail message
+     * @param rootCause
+     *            the originating cause of this exception
      */
-    public SkipPageException( String message, Throwable rootCause ) {
-	super( message, rootCause );
+    public SkipPageException(String message, Throwable rootCause) {
+        super(message, rootCause);
     }
 
     /**
      * Creates a SkipPageException with the provided root cause.
-     *
-     * @param rootCause the originating cause of this exception
+     * 
+     * @param rootCause
+     *            the originating cause of this exception
      */
-    public SkipPageException( Throwable rootCause ) {
-	super( rootCause );
+    public SkipPageException(Throwable rootCause) {
+        super(rootCause);
     }
-    
 }
-
-

Modified: tomcat/trunk/java/javax/servlet/jsp/el/ExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/el/ExpressionEvaluator.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/el/ExpressionEvaluator.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/el/ExpressionEvaluator.java Fri Jul 23 21:47:39 2010
@@ -1,111 +1,115 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 package javax.servlet.jsp.el;
 
-
 /**
- * <p>The abstract base class for an expression-language evaluator.
- * Classes that implement an expression language expose their functionality
- * via this abstract class.</p>
- *
- * <p>An instance of the ExpressionEvaluator can be obtained via the 
- * JspContext / PageContext</p>
- *
- * <p>The parseExpression() and evaluate() methods must be thread-safe.  
- * That is, multiple threads may call these methods on the same 
- * ExpressionEvaluator object simultaneously.  Implementations should 
- * synchronize access if they depend on transient state.  Implementations 
- * should not, however, assume that only one object of each 
- * ExpressionEvaluator type will be instantiated; global caching should 
- * therefore be static.</p>
- *
- * <p>Only a single EL expression, starting with '${' and ending with
- * '}', can be parsed or evaluated at a time.  EL expressions 
- * cannot be mixed with static text.  For example, attempting to 
- * parse or evaluate "<code>abc${1+1}def${1+1}ghi</code>" or even
- * "<code>${1+1}${1+1}</code>" will cause an <code>ELException</code> to
- * be thrown.</p>
- *
- * <p>The following are examples of syntactically legal EL expressions:
- *
+ * <p>
+ * The abstract base class for an expression-language evaluator. Classes that
+ * implement an expression language expose their functionality via this abstract
+ * class.
+ * </p>
+ * <p>
+ * An instance of the ExpressionEvaluator can be obtained via the JspContext /
+ * PageContext
+ * </p>
+ * <p>
+ * The parseExpression() and evaluate() methods must be thread-safe. That is,
+ * multiple threads may call these methods on the same ExpressionEvaluator
+ * object simultaneously. Implementations should synchronize access if they
+ * depend on transient state. Implementations should not, however, assume that
+ * only one object of each ExpressionEvaluator type will be instantiated; global
+ * caching should therefore be static.
+ * </p>
+ * <p>
+ * Only a single EL expression, starting with '${' and ending with '}', can be
+ * parsed or evaluated at a time. EL expressions cannot be mixed with static
+ * text. For example, attempting to parse or evaluate "
+ * <code>abc${1+1}def${1+1}ghi</code>" or even "<code>${1+1}${1+1}</code>" will
+ * cause an <code>ELException</code> to be thrown.
+ * </p>
+ * <p>
+ * The following are examples of syntactically legal EL expressions:
  * <ul>
- *   <li><code>${person.lastName}</code></li>
- *   <li><code>${8 * 8}</code></li>
- *   <li><code>${my:reverse('hello')}</code></li>
+ * <li><code>${person.lastName}</code></li>
+ * <li><code>${8 * 8}</code></li>
+ * <li><code>${my:reverse('hello')}</code></li>
  * </ul>
  * </p>
- *
+ * 
  * @since 2.0
  * @deprecated
  */
-@SuppressWarnings("dep-ann") // TCK signature test fails with annotation
+@SuppressWarnings("dep-ann")
+// TCK signature test fails with annotation
 public abstract class ExpressionEvaluator {
 
     /**
-     * Prepare an expression for later evaluation.  This method should perform
-     * syntactic validation of the expression; if in doing so it detects 
-     * errors, it should raise an ELParseException.
-     *
-     * @param expression The expression to be evaluated.
-     * @param expectedType The expected type of the result of the evaluation
-     * @param fMapper A FunctionMapper to resolve functions found in 
-     *     the expression.  It can be null, in which case no functions 
-     *     are supported for this invocation.  The ExpressionEvaluator 
-     *     must not hold on to the FunctionMapper reference after 
-     *     returning from <code>parseExpression()</code>.  The 
-     *     <code>Expression</code> object returned must invoke the same 
-     *     functions regardless of whether the mappings in the 
-     *     provided <code>FunctionMapper</code> instance change between 
-     *     calling <code>ExpressionEvaluator.parseExpression()</code>
-     *     and <code>Expression.evaluate()</code>.
+     * Prepare an expression for later evaluation. This method should perform
+     * syntactic validation of the expression; if in doing so it detects errors,
+     * it should raise an ELParseException.
+     * 
+     * @param expression
+     *            The expression to be evaluated.
+     * @param expectedType
+     *            The expected type of the result of the evaluation
+     * @param fMapper
+     *            A FunctionMapper to resolve functions found in the expression.
+     *            It can be null, in which case no functions are supported for
+     *            this invocation. The ExpressionEvaluator must not hold on to
+     *            the FunctionMapper reference after returning from
+     *            <code>parseExpression()</code>. The <code>Expression</code>
+     *            object returned must invoke the same functions regardless of
+     *            whether the mappings in the provided
+     *            <code>FunctionMapper</code> instance change between calling
+     *            <code>ExpressionEvaluator.parseExpression()</code> and
+     *            <code>Expression.evaluate()</code>.
      * @return The Expression object encapsulating the arguments.
-     *
-     * @exception ELException Thrown if parsing errors were found.
-     */ 
-    public abstract Expression parseExpression( String expression,
-            @SuppressWarnings("unchecked") // TCK signature fails with generics
-            Class expectedType,
-	        FunctionMapper fMapper) 
-      throws ELException; 
-
+     * @exception ELException
+     *                Thrown if parsing errors were found.
+     */
+    public abstract Expression parseExpression(String expression,
+            @SuppressWarnings("unchecked")// TCK signature fails with generics
+            Class expectedType, FunctionMapper fMapper) throws ELException;
 
-    /** 
-     * Evaluates an expression.  This method may perform some syntactic 
-     * validation and, if so, it should raise an ELParseException error if 
-     * it encounters syntactic errors.  EL evaluation errors should cause 
-     * an ELException to be raised.
-     *
-     * @param expression The expression to be evaluated.
-     * @param expectedType The expected type of the result of the evaluation
-     * @param vResolver A VariableResolver instance that can be used at 
-     *     runtime to resolve the name of implicit objects into Objects.
-     * @param fMapper A FunctionMapper to resolve functions found in 
-     *     the expression.  It can be null, in which case no functions 
-     *     are supported for this invocation.  
+    /**
+     * Evaluates an expression. This method may perform some syntactic
+     * validation and, if so, it should raise an ELParseException error if it
+     * encounters syntactic errors. EL evaluation errors should cause an
+     * ELException to be raised.
+     * 
+     * @param expression
+     *            The expression to be evaluated.
+     * @param expectedType
+     *            The expected type of the result of the evaluation
+     * @param vResolver
+     *            A VariableResolver instance that can be used at runtime to
+     *            resolve the name of implicit objects into Objects.
+     * @param fMapper
+     *            A FunctionMapper to resolve functions found in the expression.
+     *            It can be null, in which case no functions are supported for
+     *            this invocation.
      * @return The result of the expression evaluation.
-     *
-     * @exception ELException Thrown if the expression evaluation failed.
+     * @exception ELException
+     *                Thrown if the expression evaluation failed.
      */
-    public abstract Object evaluate( String expression,
-            @SuppressWarnings("unchecked") // TCK signature fails with generics
-		    Class expectedType,
-		    VariableResolver vResolver,
-		    FunctionMapper fMapper)
-      throws ELException; 
+    public abstract Object evaluate(
+            String expression,
+            @SuppressWarnings("unchecked")// TCK signature fails with generics
+            Class expectedType, VariableResolver vResolver,
+            FunctionMapper fMapper) throws ELException;
 }
-

Modified: tomcat/trunk/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java Fri Jul 23 21:47:39 2010
@@ -1,20 +1,19 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp.el;
 
 import java.beans.FeatureDescriptor;
@@ -33,166 +32,167 @@ import javax.servlet.jsp.PageContext;
 
 public class ScopedAttributeELResolver extends ELResolver {
 
-	public ScopedAttributeELResolver() {
-		super();
-	}
+    public ScopedAttributeELResolver() {
+        super();
+    }
 
-	@Override
+    @Override
     public Object getValue(ELContext context, Object base, Object property)
-			throws NullPointerException, PropertyNotFoundException, ELException {
-		if (context == null) {
-			throw new NullPointerException();
-		}
-
-		if (base == null) {
-			context.setPropertyResolved(true);
-			if (property != null) {
-				String key = property.toString();
-				PageContext page = (PageContext) context
-						.getContext(JspContext.class);
-				return page.findAttribute(key);
-			}
-		}
+            throws NullPointerException, PropertyNotFoundException, ELException {
+        if (context == null) {
+            throw new NullPointerException();
+        }
+
+        if (base == null) {
+            context.setPropertyResolved(true);
+            if (property != null) {
+                String key = property.toString();
+                PageContext page = (PageContext) context
+                        .getContext(JspContext.class);
+                return page.findAttribute(key);
+            }
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	@Override
+    @Override
     public Class<Object> getType(ELContext context, Object base, Object property)
-			throws NullPointerException, PropertyNotFoundException, ELException {
-		if (context == null) {
-			throw new NullPointerException();
-		}
-
-		if (base == null) {
-			context.setPropertyResolved(true);
-			return Object.class;
-		}
+            throws NullPointerException, PropertyNotFoundException, ELException {
+        if (context == null) {
+            throw new NullPointerException();
+        }
+
+        if (base == null) {
+            context.setPropertyResolved(true);
+            return Object.class;
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	@Override
+    @Override
     public void setValue(ELContext context, Object base, Object property,
-			Object value) throws NullPointerException,
-			PropertyNotFoundException, PropertyNotWritableException,
-			ELException {
-		if (context == null) {
-			throw new NullPointerException();
-		}
-
-		if (base == null) {
-			context.setPropertyResolved(true);
-			if (property != null) {
-				String key = property.toString();
-				PageContext page = (PageContext) context
-						.getContext(JspContext.class);
-				int scope = page.getAttributesScope(key);
-				if (scope != 0) {
-					page.setAttribute(key, value, scope);
-				} else {
-					page.setAttribute(key, value);
-				}
-			}
-		}
-	}
+            Object value) throws NullPointerException,
+            PropertyNotFoundException, PropertyNotWritableException,
+            ELException {
+        if (context == null) {
+            throw new NullPointerException();
+        }
+
+        if (base == null) {
+            context.setPropertyResolved(true);
+            if (property != null) {
+                String key = property.toString();
+                PageContext page = (PageContext) context
+                        .getContext(JspContext.class);
+                int scope = page.getAttributesScope(key);
+                if (scope != 0) {
+                    page.setAttribute(key, value, scope);
+                } else {
+                    page.setAttribute(key, value);
+                }
+            }
+        }
+    }
 
-	@Override
+    @Override
     public boolean isReadOnly(ELContext context, Object base, Object property)
-			throws NullPointerException, PropertyNotFoundException, ELException {
-		if (context == null) {
-			throw new NullPointerException();
-		}
-
-		if (base == null) {
-			context.setPropertyResolved(true);
-		}
-
-		return false;
-	}
-
-	@Override
-    public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
-
-		PageContext ctxt = (PageContext) context.getContext(JspContext.class);
-		List<FeatureDescriptor> list = new ArrayList<FeatureDescriptor>();
-		Enumeration<String> e;
-		Object value;
-		String name;
-
-		e = ctxt.getAttributeNamesInScope(PageContext.PAGE_SCOPE);
-		while (e.hasMoreElements()) {
-			name = e.nextElement();
-			value = ctxt.getAttribute(name, PageContext.PAGE_SCOPE);
-			FeatureDescriptor descriptor = new FeatureDescriptor();
-			descriptor.setName(name);
-			descriptor.setDisplayName(name);
-			descriptor.setExpert(false);
-			descriptor.setHidden(false);
-			descriptor.setPreferred(true);
-			descriptor.setShortDescription("page scoped attribute");
-			descriptor.setValue("type", value.getClass());
-			descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
-			list.add(descriptor);
-		}
-
-		e = ctxt.getAttributeNamesInScope(PageContext.REQUEST_SCOPE);
-		while (e.hasMoreElements()) {
-			name = e.nextElement();
-			value = ctxt.getAttribute(name, PageContext.REQUEST_SCOPE);
-			FeatureDescriptor descriptor = new FeatureDescriptor();
-			descriptor.setName(name);
-			descriptor.setDisplayName(name);
-			descriptor.setExpert(false);
-			descriptor.setHidden(false);
-			descriptor.setPreferred(true);
-			descriptor.setShortDescription("request scope attribute");
-			descriptor.setValue("type", value.getClass());
-			descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
-			list.add(descriptor);
-		}
-
-		if (ctxt.getSession() != null) {
-			e = ctxt.getAttributeNamesInScope(PageContext.SESSION_SCOPE);
-			while (e.hasMoreElements()) {
-				name = e.nextElement();
-				value = ctxt.getAttribute(name, PageContext.SESSION_SCOPE);
-				FeatureDescriptor descriptor = new FeatureDescriptor();
-				descriptor.setName(name);
-				descriptor.setDisplayName(name);
-				descriptor.setExpert(false);
-				descriptor.setHidden(false);
-				descriptor.setPreferred(true);
-				descriptor.setShortDescription("session scoped attribute");
-				descriptor.setValue("type", value.getClass());
-				descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
-				list.add(descriptor);
-			}
-		}
-
-		e = ctxt.getAttributeNamesInScope(PageContext.APPLICATION_SCOPE);
-		while (e.hasMoreElements()) {
-			name = e.nextElement();
-			value = ctxt.getAttribute(name, PageContext.APPLICATION_SCOPE);
-			FeatureDescriptor descriptor = new FeatureDescriptor();
-			descriptor.setName(name);
-			descriptor.setDisplayName(name);
-			descriptor.setExpert(false);
-			descriptor.setHidden(false);
-			descriptor.setPreferred(true);
-			descriptor.setShortDescription("application scoped attribute");
-			descriptor.setValue("type", value.getClass());
-			descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
-			list.add(descriptor);
-		}
-		return list.iterator();
-	}
+            throws NullPointerException, PropertyNotFoundException, ELException {
+        if (context == null) {
+            throw new NullPointerException();
+        }
+
+        if (base == null) {
+            context.setPropertyResolved(true);
+        }
+
+        return false;
+    }
+
+    @Override
+    public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context,
+            Object base) {
+
+        PageContext ctxt = (PageContext) context.getContext(JspContext.class);
+        List<FeatureDescriptor> list = new ArrayList<FeatureDescriptor>();
+        Enumeration<String> e;
+        Object value;
+        String name;
+
+        e = ctxt.getAttributeNamesInScope(PageContext.PAGE_SCOPE);
+        while (e.hasMoreElements()) {
+            name = e.nextElement();
+            value = ctxt.getAttribute(name, PageContext.PAGE_SCOPE);
+            FeatureDescriptor descriptor = new FeatureDescriptor();
+            descriptor.setName(name);
+            descriptor.setDisplayName(name);
+            descriptor.setExpert(false);
+            descriptor.setHidden(false);
+            descriptor.setPreferred(true);
+            descriptor.setShortDescription("page scoped attribute");
+            descriptor.setValue("type", value.getClass());
+            descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
+            list.add(descriptor);
+        }
+
+        e = ctxt.getAttributeNamesInScope(PageContext.REQUEST_SCOPE);
+        while (e.hasMoreElements()) {
+            name = e.nextElement();
+            value = ctxt.getAttribute(name, PageContext.REQUEST_SCOPE);
+            FeatureDescriptor descriptor = new FeatureDescriptor();
+            descriptor.setName(name);
+            descriptor.setDisplayName(name);
+            descriptor.setExpert(false);
+            descriptor.setHidden(false);
+            descriptor.setPreferred(true);
+            descriptor.setShortDescription("request scope attribute");
+            descriptor.setValue("type", value.getClass());
+            descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
+            list.add(descriptor);
+        }
+
+        if (ctxt.getSession() != null) {
+            e = ctxt.getAttributeNamesInScope(PageContext.SESSION_SCOPE);
+            while (e.hasMoreElements()) {
+                name = e.nextElement();
+                value = ctxt.getAttribute(name, PageContext.SESSION_SCOPE);
+                FeatureDescriptor descriptor = new FeatureDescriptor();
+                descriptor.setName(name);
+                descriptor.setDisplayName(name);
+                descriptor.setExpert(false);
+                descriptor.setHidden(false);
+                descriptor.setPreferred(true);
+                descriptor.setShortDescription("session scoped attribute");
+                descriptor.setValue("type", value.getClass());
+                descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
+                list.add(descriptor);
+            }
+        }
+
+        e = ctxt.getAttributeNamesInScope(PageContext.APPLICATION_SCOPE);
+        while (e.hasMoreElements()) {
+            name = e.nextElement();
+            value = ctxt.getAttribute(name, PageContext.APPLICATION_SCOPE);
+            FeatureDescriptor descriptor = new FeatureDescriptor();
+            descriptor.setName(name);
+            descriptor.setDisplayName(name);
+            descriptor.setExpert(false);
+            descriptor.setHidden(false);
+            descriptor.setPreferred(true);
+            descriptor.setShortDescription("application scoped attribute");
+            descriptor.setValue("type", value.getClass());
+            descriptor.setValue("resolvableAtDesignTime", Boolean.FALSE);
+            list.add(descriptor);
+        }
+        return list.iterator();
+    }
 
-	@Override
+    @Override
     public Class<String> getCommonPropertyType(ELContext context, Object base) {
-		if (base == null) {
-			return String.class;
-		}
-		return null;
-	}
+        if (base == null) {
+            return String.class;
+        }
+        return null;
+    }
 }

Modified: tomcat/trunk/java/javax/servlet/jsp/el/VariableResolver.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/el/VariableResolver.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/el/VariableResolver.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/el/VariableResolver.java Fri Jul 23 21:47:39 2010
@@ -1,52 +1,51 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp.el;
 
 /**
- * <p>This class is used to customize the way an ExpressionEvaluator resolves
- * variable references at evaluation time.  For example, instances of this class can
- * implement their own variable lookup mechanisms, or introduce the
- * notion of "implicit variables" which override any other variables.
- * An instance of this class should be passed when evaluating
- * an expression.</p>
- *
- * <p>An instance of this class includes the context against which resolution
- * will happen</p>
- *
+ * <p>
+ * This class is used to customize the way an ExpressionEvaluator resolves
+ * variable references at evaluation time. For example, instances of this class
+ * can implement their own variable lookup mechanisms, or introduce the notion
+ * of "implicit variables" which override any other variables. An instance of
+ * this class should be passed when evaluating an expression.
+ * </p>
+ * <p>
+ * An instance of this class includes the context against which resolution will
+ * happen
+ * </p>
+ * 
  * @since 2.0
  * @deprecated
  */
-@SuppressWarnings("dep-ann") // TCK signature test fails with annotation
-public interface VariableResolver
-{
-  //-------------------------------------
-  /**
-   * Resolves the specified variable.
-   * Returns null if the variable is not found.
-   * 
-   * @param pName the name of the variable to resolve
-   * @return the result of the variable resolution
-   *
-   * @throws ELException if a failure occurred while trying to resolve
-   *     the given variable
-   **/
-  public Object resolveVariable (String pName)
-    throws ELException;
-					
-  //-------------------------------------
+@SuppressWarnings("dep-ann")
+// TCK signature test fails with annotation
+public interface VariableResolver {
+
+    /**
+     * Resolves the specified variable. Returns null if the variable is not
+     * found.
+     * 
+     * @param pName
+     *            the name of the variable to resolve
+     * @return the result of the variable resolution
+     * @throws ELException
+     *             if a failure occurred while trying to resolve the given
+     *             variable
+     */
+    public Object resolveVariable(String pName) throws ELException;
 }

Modified: tomcat/trunk/java/javax/servlet/jsp/tagext/BodyContent.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/jsp/tagext/BodyContent.java?rev=967277&r1=967276&r2=967277&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/jsp/tagext/BodyContent.java (original)
+++ tomcat/trunk/java/javax/servlet/jsp/tagext/BodyContent.java Fri Jul 23 21:47:39 2010
@@ -1,19 +1,19 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/ 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package javax.servlet.jsp.tagext;
 
 import java.io.Reader;
@@ -23,118 +23,102 @@ import javax.servlet.jsp.*;
 
 /**
  * An encapsulation of the evaluation of the body of an action so it is
- * available to a tag handler.  BodyContent is a subclass of JspWriter.
- *
+ * available to a tag handler. BodyContent is a subclass of JspWriter.
  * <p>
- * Note that the content of BodyContent is the result of evaluation, so
- * it will not contain actions and the like, but the result of their
- * invocation.
- * 
+ * Note that the content of BodyContent is the result of evaluation, so it will
+ * not contain actions and the like, but the result of their invocation.
  * <p>
- * BodyContent has methods to convert its contents into
- * a String, to read its contents, and to clear the contents.
- *
+ * BodyContent has methods to convert its contents into a String, to read its
+ * contents, and to clear the contents.
  * <p>
- * The buffer size of a BodyContent object is unbounded.  A
- * BodyContent object cannot be in autoFlush mode.  It is not possible to
- * invoke flush on a BodyContent object, as there is no backing stream.
- *
+ * The buffer size of a BodyContent object is unbounded. A BodyContent object
+ * cannot be in autoFlush mode. It is not possible to invoke flush on a
+ * BodyContent object, as there is no backing stream.
  * <p>
- * Instances of BodyContent are created by invoking the pushBody and
- * popBody methods of the PageContext class.  A BodyContent is enclosed
- * within another JspWriter (maybe another BodyContent object) following
- * the structure of their associated actions.
- *
+ * Instances of BodyContent are created by invoking the pushBody and popBody
+ * methods of the PageContext class. A BodyContent is enclosed within another
+ * JspWriter (maybe another BodyContent object) following the structure of their
+ * associated actions.
  * <p>
- * A BodyContent is made available to a BodyTag through a setBodyContent()
- * call.  The tag handler can use the object until after the call to
- * doEndTag().
+ * A BodyContent is made available to a BodyTag through a setBodyContent() call.
+ * The tag handler can use the object until after the call to doEndTag().
  */
-
 public abstract class BodyContent extends JspWriter {
-    
+
     /**
-     * Protected constructor.
-     *
-     * Unbounded buffer, no autoflushing.
-     *
-     * @param e the enclosing JspWriter
+     * Protected constructor. Unbounded buffer, no autoflushing.
+     * 
+     * @param e
+     *            the enclosing JspWriter
      */
-
     protected BodyContent(JspWriter e) {
-	super(UNBOUNDED_BUFFER , false);
-	this.enclosingWriter = e;
+        super(UNBOUNDED_BUFFER, false);
+        this.enclosingWriter = e;
     }
 
     /**
      * Redefined flush() so it is not legal.
-     *
      * <p>
-     * It is not valid to flush a BodyContent because there is no backing
-     * stream behind it.
-     *
-     * @throws IOException always thrown
+     * It is not valid to flush a BodyContent because there is no backing stream
+     * behind it.
+     * 
+     * @throws IOException
+     *             always thrown
      */
-
     @Override
     public void flush() throws IOException {
-	throw new IOException("Illegal to flush within a custom tag");
+        throw new IOException("Illegal to flush within a custom tag");
     }
 
     /**
      * Clear the body without throwing any exceptions.
      */
-    
     public void clearBody() {
-	try {
-	    this.clear();
-	} catch (IOException ex) {
-	    // TODO -- clean this one up.
-	    throw new Error("internal error!;");
-	}
+        try {
+            this.clear();
+        } catch (IOException ex) {
+            // TODO -- clean this one up.
+            throw new Error("internal error!;");
+        }
     }
 
     /**
      * Return the value of this BodyContent as a Reader.
-     *
+     * 
      * @return the value of this BodyContent as a Reader
      */
     public abstract Reader getReader();
 
-
     /**
      * Return the value of the BodyContent as a String.
-     *
+     * 
      * @return the value of the BodyContent as a String
      */
     public abstract String getString();
-	
 
     /**
-     * Write the contents of this BodyContent into a Writer.
-     * Subclasses may optimize common invocation patterns.
-     *
-     * @param out The writer into which to place the contents of
-     *     this body evaluation
-     * @throws IOException if an I/O error occurred while writing the
-     *     contents of this BodyContent to the given Writer
+     * Write the contents of this BodyContent into a Writer. Subclasses may
+     * optimize common invocation patterns.
+     * 
+     * @param out
+     *            The writer into which to place the contents of this body
+     *            evaluation
+     * @throws IOException
+     *             if an I/O error occurred while writing the contents of this
+     *             BodyContent to the given Writer
      */
-
     public abstract void writeOut(Writer out) throws IOException;
 
-
     /**
      * Get the enclosing JspWriter.
-     *
+     * 
      * @return the enclosing JspWriter passed at construction time
      */
-
     public JspWriter getEnclosingWriter() {
-	return enclosingWriter;
+        return enclosingWriter;
     }
 
-
     // private fields
 
     private JspWriter enclosingWriter;
- }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org