This is a rather large patch to the API workspace. Much of it is cosmetic changes and tightening of the javadocs so that the APIs are more testable. We also removed some newer APIs we don't need anymore.

Ryan Lubke helped with some of these changes. Thanks, Ryan!

No files added or deleted. Change summary:

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
- Clarified description of path element for <tag-file>.
- Clarified description of variableType w.r.t. TagExtraInfo classes

jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
- Removed getTagdir(), which is useless
- Removed corresponding tagdir protected attribute
- Removed JSP 2.0 constructor, which was only unique in that
it took a tagdir parameter.

jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
- Clarified synchronization must be done for both variables declared
in both TEI and TLD.

jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
- Clarified synchronization must be done for both variables declared
in both TEI and TLD.

jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
- Clarified synchronization must be done for both variables declared
in both TEI and TLD.

jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
- Tightened up description of getId(), as the jsp:id attribute is
now required to be generated as per JSP.6.2.13.

jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
- TagExtraInfo.getVariableInfo() [if no variables, can return
null or [0], default abstract class returns [0]
(zero-length array).
NOTE: It is a (translation time) error for a
tag definition in a TLD with one or more variable subelements
to have an associated TagExtraInfo implementation that returns
a VariableInfo array with one or more elements from a call
to getVariableInfo(). The previous version of the spec was not
clear on this.]

jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
- TagInfo.getAttributes() must return zero-length array if no
attributes.
- TagInfo.getVariableInfo() must return zero-length array if
associated TagExtraInfo defines no variables
- TagInfo.getTagVariableInfos() must return zero-length array
if no variables have been delcared.
- TagInfo.getTagName() returns null if not defined
- TagInfo.getBodyContent() if bodycontent not defined,
JSP is returned
- TagInfo.getInfoString() if not defined, null is returned
- TagInfo.getDisplayName() if not defined, null is returned
- TagInfo.getSmallIcon() if not defined, null is returned
- TagInfo.getLargeIcon() if not defined, null is returned

jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
- TagLibraryInfo.getTags() if tag library contains no tags, a
zero-length array must be returned.
- TagLibraryInfo.getTagFiles() if tag library contains no tag
files, a zero-length array must be returned.
- TagLibraryInfo.getTag() if no such tag is found, null is returned
- TagLibraryInfo.getTagFile() if no such tag files is found, null
is returned
- TagLibraryInfo.getFunctions() if no fuctions defined, a
zero-length array is returned.
- TagLibraryInfo.getFunction() if no function exists, null
is returned

jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
- Clarified description for when to syncrhonize variables.

jsr152/src/share/javax/servlet/jsp/SkipPageException.java
- Clarified that SkipPageException is only to be used in
JSP Fragments and SimpleTag handlers.

jsr152/src/share/javax/servlet/jsp/PageContext.java
- Removed SecurityException javadocs for both handlePageException()
methods, as their include() and forward() counterparts no longer
declare this exception.

jsr152/src/share/javax/servlet/jsp/JspFragment.java
- Clarified how to pass variables to/from JspFragments.

Includes Minor Cosmetic changes
-------------------------------
- jsr152/src/share/javax/servlet/jsp/ErrorData.java
- jsr152/src/share/javax/servlet/jsp/JspContext.java
- jsr152/src/share/javax/servlet/jsp/JspException.java
- jsr152/src/share/javax/servlet/jsp/JspWriter.java
- jsr152/src/share/javax/servlet/jsp/PageContext.java
- jsr152/src/share/javax/servlet/jsp/SkipPageException.java
- jsr152/src/share/javax/servlet/jsp/el/ELException.java
- jsr152/src/share/javax/servlet/jsp/el/ELParseException.java
- jsr152/src/share/javax/servlet/jsp/el/Expression.java
- jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java
- jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java
- jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java
- jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
- jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java
- jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
- jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java
- jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
- jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
- jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
- jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java


--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
? build.properties
? src/share/javax/servlet/jsp/.nbattrs
Index: src/share/dtd/web-jsptaglibrary_2_0.xsd
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.4
diff -u -r1.4 web-jsptaglibrary_2_0.xsd
--- src/share/dtd/web-jsptaglibrary_2_0.xsd     3 Oct 2002 23:01:43 -0000       1.4
+++ src/share/dtd/web-jsptaglibrary_2_0.xsd     28 Oct 2002 23:58:12 -0000
@@ -10,7 +10,7 @@
 
 <xsd:annotation>
 <xsd:documentation>
-@(#)web-jsptaglibrary_2_0.xsds 1.19 09/30/02
+@(#)web-jsptaglibrary_2_0.xsds 1.21 10/15/02
 </xsd:documentation>
 </xsd:annotation>
 <xsd:annotation>
@@ -318,7 +318,9 @@
 path    Where to find the .tag file implementing this
         action, relative to the root of the web application or
        the root of the JAR file for a tag library packaged in
-       a JAR.
+       a JAR.  This must begin with /WEB-INF/tags if the .tag
+       file resides in the WAR, or /META-INF/tags if the .tag
+       file resides in a JAR.
 
 </xsd:documentation>
 </xsd:annotation>
@@ -816,7 +818,7 @@
 variables defined by using this tag.  It is a (translation
 time) error for a tag that has one or more variable
 subelements to have a TagExtraInfo class that returns a
-non-null object.
+non-null value from a call to getVariableInfo().
 
 The subelements of variableType are of the form:
 
Index: src/share/javax/servlet/jsp/ErrorData.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/ErrorData.java,v
retrieving revision 1.1
diff -u -r1.1 ErrorData.java
--- src/share/javax/servlet/jsp/ErrorData.java  19 Aug 2002 16:29:49 -0000      1.1
+++ src/share/javax/servlet/jsp/ErrorData.java  28 Oct 2002 23:58:12 -0000
@@ -63,7 +63,7 @@
  * to "true".
  *
  * @see PageContext#getErrorData
- * @since JSP2.0
+ * @since 2.0
  */
 
 public final class ErrorData {
@@ -74,7 +74,7 @@
     private String servletName;
 
     /**
-     * Creates a new ErrorData object
+     * Creates a new ErrorData object.
      *
      * @param throwable The Throwable that is the cause of the error
      * @param statusCode The status code of the error
@@ -91,7 +91,7 @@
     }
 
     /**
-     * Returns the Throwable that caused the error
+     * Returns the Throwable that caused the error.
      *
      * @return The Throwable that caused the error
      */
@@ -100,7 +100,7 @@
     }
 
     /**
-     * Returns the status code of the error
+     * Returns the status code of the error.
      *
      * @return The status code of the error
      */
@@ -109,7 +109,7 @@
     }
 
     /**
-     * Returns the request URI
+     * Returns the request URI.
      *
      * @return The request URI
      */
@@ -118,7 +118,7 @@
     }
 
     /**
-     * Returns the name of the servlet invoked
+     * Returns the name of the servlet invoked.
      *
      * @return The name of the servlet invoked
      */
Index: src/share/javax/servlet/jsp/JspContext.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspContext.java,v
retrieving revision 1.3
diff -u -r1.3 JspContext.java
--- src/share/javax/servlet/jsp/JspContext.java 3 Oct 2002 23:01:43 -0000       1.3
+++ src/share/javax/servlet/jsp/JspContext.java 28 Oct 2002 23:58:16 -0000
@@ -55,8 +55,6 @@
  
 package javax.servlet.jsp;
 
-import java.io.IOException;
-
 import java.util.Enumeration;
 
 import javax.servlet.jsp.el.ExpressionEvaluator;
@@ -90,7 +88,7 @@
  * <ul>
  * <code>getOut()</code>
  *
- * @since JSP2.0
+ * @since 2.0
  */
 
 public abstract class JspContext {
@@ -136,7 +134,7 @@
     abstract public void setAttribute(String name, Object attribute);
 
     /**
-     * register the name and object specified with appropriate scope semantics
+     * Register the name and object specified with appropriate scope semantics.
      * 
      * @param name the name of the attribute to set
      * @param o    the object to associate with the name
@@ -218,7 +216,7 @@
     abstract public int getAttributesScope(String name);
 
     /**
-     * Enumerate all the attributes in a given scope
+     * Enumerate all the attributes in a given scope.
      *
      * @param scope the scope to enumerate all the attributes for
      * @return an enumeration of names (java.lang.String) of all the 
@@ -241,17 +239,17 @@
      * ExpressionEvaluator that can parse EL expressions.
      *
      * @return A valid instance of an ExpressionEvaluator.
-     * @since JSP2.0
+     * @since 2.0
      */
     public abstract ExpressionEvaluator getExpressionEvaluator();
     
     /**
      * Returns an instance of a VariableResolver that provides access to the
      * implicit objects specified in the JSP specification using this JspContext
-     * as the context object
+     * as the context object.
      *
      * @return A valid instance of a VariableResolver.
-     * @since JSP2.0
+     * @since 2.0
      */
     public abstract VariableResolver getVariableResolver();
     
@@ -273,7 +271,7 @@
      * @param writer The Writer for the returned JspWriter to send
      *     output to.
      * @return a new JspWriter that writes to the given Writer.
-     * @since JSP2.0
+     * @since 2.0
      */
     public JspWriter pushBody( java.io.Writer writer ) {
         return null; // XXX to implement
@@ -282,7 +280,7 @@
     /**
      * Return the previous JspWriter "out" saved by the matching
      * pushBody(), and update the value of the "out" attribute in
-     * the page scope attribute namespace of the JspContext
+     * the page scope attribute namespace of the JspContext.
      *
      * @return the saved JspWriter.
      */
Index: src/share/javax/servlet/jsp/JspException.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspException.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 JspException.java
--- src/share/javax/servlet/jsp/JspException.java       13 Aug 2002 16:20:54 -0000     
 1.1.1.1
+++ src/share/javax/servlet/jsp/JspException.java       28 Oct 2002 23:58:16 -0000
@@ -67,7 +67,7 @@
 
 
     /**
-     * Construct a JspException
+     * Construct a JspException.
      */
     public JspException() {
     }
Index: src/share/javax/servlet/jsp/JspTagException.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspTagException.java,v
retrieving revision 1.2
diff -u -r1.2 JspTagException.java
--- src/share/javax/servlet/jsp/JspTagException.java    19 Aug 2002 16:29:49 -0000     
 1.2
+++ src/share/javax/servlet/jsp/JspTagException.java    28 Oct 2002 23:58:17 -0000
@@ -96,7 +96,7 @@
      *                         normal operation, making this JSP Tag
      *                         exception necessary
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     public JspTagException(String message, Throwable rootCause) {
        super( message, rootCause );
@@ -121,7 +121,7 @@
      *                         normal operation, making the JSP Tag 
      *                          exception necessary
      *
-     * @since JSP2.0
+     * @since 2.0
      */
 
     public JspTagException(Throwable rootCause) {
Index: src/share/javax/servlet/jsp/JspWriter.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspWriter.java,v
retrieving revision 1.2
diff -u -r1.2 JspWriter.java
--- src/share/javax/servlet/jsp/JspWriter.java  19 Aug 2002 16:29:49 -0000      1.2
+++ src/share/javax/servlet/jsp/JspWriter.java  28 Oct 2002 23:58:18 -0000
@@ -122,27 +122,27 @@
 abstract public class JspWriter extends java.io.Writer {
 
     /**
-     * constant indicating that the Writer is not buffering output
+     * Constant indicating that the Writer is not buffering output.
      */
 
     public static final int    NO_BUFFER = 0;
 
     /**
-     * constant indicating that the Writer is buffered and is using the 
-     * implementation default buffer size
+     * Constant indicating that the Writer is buffered and is using the
+     * implementation default buffer size.
      */
 
     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;
 
     /**
-     * protected constructor.
+     * Protected constructor.
      *
      * @param bufferSize the size of the buffer to be used by the JspWriter
      * @param autoFlush whether the JspWriter should be autoflushing
@@ -479,7 +479,7 @@
      */
 
     /**
-     * The size of the buffer used by the JspWriter
+     * The size of the buffer used by the JspWriter.
      */
     protected int     bufferSize;
     
Index: src/share/javax/servlet/jsp/PageContext.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/PageContext.java,v
retrieving revision 1.4
diff -u -r1.4 PageContext.java
--- src/share/javax/servlet/jsp/PageContext.java        3 Oct 2002 23:01:43 -0000      
 1.4
+++ src/share/javax/servlet/jsp/PageContext.java        28 Oct 2002 23:58:20 -0000
@@ -57,8 +57,6 @@
 
 import java.io.IOException;
 
-import java.util.Enumeration;
-
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
@@ -66,7 +64,6 @@
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 import javax.servlet.jsp.tagext.BodyContent;
@@ -452,7 +449,7 @@
      * @throws ServletException if the page that was forwarded to throws
      *     a ServletException
      * @throws IOException if an I/O error occurred while forwarding
-     * @since JSP2.0
+     * @since 2.0
      */
     abstract public void include(String relativeUrlPath, boolean flush) 
        throws ServletException, IOException;
@@ -480,7 +477,6 @@
      * @throws IOException if an I/O error occurred while invoking the error
      *     page
      * @throws NullPointerException if the exception is null
-     * @throws SecurityException if target resource cannot be accessed by caller
      *
      * @see #handlePageException(Throwable)
      */
@@ -513,7 +509,6 @@
      * @throws IOException if an I/O error occurred while invoking the error
      *     page
      * @throws NullPointerException if the exception is null
-     * @throws SecurityException if target resource cannot be accessed by caller
      *
      * @see #handlePageException(Exception)
      */
@@ -524,7 +519,7 @@
     /**
      * Return a new BodyContent object, save the current "out" JspWriter,
      * and update the value of the "out" attribute in the page scope
-     * attribute namespace of the PageContext
+     * attribute namespace of the PageContext.
      *
      * @return the new BodyContent
      */
@@ -543,7 +538,7 @@
      * if the isErrorPage attribute of the page directive is not set
      * to "true"), the information is meaningless.
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     public ErrorData getErrorData() {
        return new ErrorData( 
Index: src/share/javax/servlet/jsp/SkipPageException.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/SkipPageException.java,v
retrieving revision 1.2
diff -u -r1.2 SkipPageException.java
--- src/share/javax/servlet/jsp/SkipPageException.java  19 Aug 2002 16:29:49 -0000     
 1.2
+++ src/share/javax/servlet/jsp/SkipPageException.java  28 Oct 2002 23:58:20 -0000
@@ -61,12 +61,15 @@
  * the pagein 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.
+ * Jsp Fragments may also throw this exception.  This exception
+ * should not be thrown manually in a JSP page - the behavior is
+ * 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 JSP2.0
+ * @since 2.0
  */
 public class SkipPageException
     extends JspException
Index: src/share/javax/servlet/jsp/el/ELException.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/ELException.java,v
retrieving revision 1.3
diff -u -r1.3 ELException.java
--- src/share/javax/servlet/jsp/el/ELException.java     3 Oct 2002 23:01:44 -0000      
 1.3
+++ src/share/javax/servlet/jsp/el/ELException.java     28 Oct 2002 23:58:20 -0000
@@ -60,7 +60,7 @@
  * Represents any of the exception conditions that arise during the
  * operation evaluation of the evaluator.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public class ELException
   extends Exception
@@ -93,7 +93,7 @@
 
   //-------------------------------------
   /**
-   * Creates an ELException with the given root cause
+   * Creates an ELException with the given root cause.
    *
    * @param pRootCause the originating cause of this exception
    **/
@@ -119,10 +119,10 @@
 
   //-------------------------------------
   /**
-   * Returns the root cause
+   * Returns the root cause.
    *
    * @return the root cause of this exception
-   **/
+   */
   public Throwable getRootCause ()
   {
     return mRootCause;
Index: src/share/javax/servlet/jsp/el/ELParseException.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java,v
retrieving revision 1.1
diff -u -r1.1 ELParseException.java
--- src/share/javax/servlet/jsp/el/ELParseException.java        19 Aug 2002 16:29:50 
-0000      1.1
+++ src/share/javax/servlet/jsp/el/ELParseException.java        28 Oct 2002 23:58:21 
+-0000
@@ -59,7 +59,7 @@
 /**
  * Represents a parsing error encountered while parsing an EL expression.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 
 public class ELParseException extends ELException {
@@ -67,7 +67,7 @@
  //-------------------------------------
   /**
    * Creates an ELParseException with no detail message.
-   **/
+   */
   public ELParseException ()
   {
     super ();
Index: src/share/javax/servlet/jsp/el/Expression.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/Expression.java,v
retrieving revision 1.2
diff -u -r1.2 Expression.java
--- src/share/javax/servlet/jsp/el/Expression.java      9 Oct 2002 17:38:49 -0000      
 1.2
+++ src/share/javax/servlet/jsp/el/Expression.java      28 Oct 2002 23:58:21 -0000
@@ -69,7 +69,7 @@
  * invoking the evaluate() mehod should be ready for the case where ELParseException
  * exceptions are raised. </p>
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface Expression {
 
Index: src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java,v
retrieving revision 1.4
diff -u -r1.4 ExpressionEvaluator.java
--- src/share/javax/servlet/jsp/el/ExpressionEvaluator.java     7 Oct 2002 16:53:42 
-0000       1.4
+++ src/share/javax/servlet/jsp/el/ExpressionEvaluator.java     28 Oct 2002 23:58:21 
+-0000
@@ -86,7 +86,7 @@
  * </ul>
  * </p>
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface ExpressionEvaluator {
 
Index: src/share/javax/servlet/jsp/el/FunctionMapper.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java,v
retrieving revision 1.1
diff -u -r1.1 FunctionMapper.java
--- src/share/javax/servlet/jsp/el/FunctionMapper.java  19 Aug 2002 16:29:50 -0000     
 1.1
+++ src/share/javax/servlet/jsp/el/FunctionMapper.java  28 Oct 2002 23:58:23 -0000
@@ -61,7 +61,7 @@
  * <p>Classes implementing this interface may, for instance, consult tag library
  * information to resolve the map. </p>
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface FunctionMapper
 {
Index: src/share/javax/servlet/jsp/el/VariableResolver.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java,v
retrieving revision 1.3
diff -u -r1.3 VariableResolver.java
--- src/share/javax/servlet/jsp/el/VariableResolver.java        3 Oct 2002 23:01:44 
-0000       1.3
+++ src/share/javax/servlet/jsp/el/VariableResolver.java        28 Oct 2002 23:58:23 
+-0000
@@ -66,7 +66,7 @@
  * <p>An instance of this class includes the context against which resolution
  * will happen</p>
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface VariableResolver
 {
Index: src/share/javax/servlet/jsp/tagext/BodyContent.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java,v
retrieving revision 1.2
diff -u -r1.2 BodyContent.java
--- src/share/javax/servlet/jsp/tagext/BodyContent.java 19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/BodyContent.java 28 Oct 2002 23:58:23 -0000
@@ -171,9 +171,8 @@
        return enclosingWriter;
     }
 
-    /**
-     * private fields
-     */
-    
+
+    // private fields
+
     private JspWriter enclosingWriter;
  }
Index: src/share/javax/servlet/jsp/tagext/BodyTag.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 BodyTag.java
--- src/share/javax/servlet/jsp/tagext/BodyTag.java     13 Aug 2002 16:20:55 -0000     
 1.1.1.1
+++ src/share/javax/servlet/jsp/tagext/BodyTag.java     28 Oct 2002 23:58:23 -0000
@@ -200,9 +200,9 @@
      * tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
      *
      * <p>
-     * The JSP container will resynchronize
-     * any variable values that are indicated as so in TagExtraInfo after the
-     * invocation of doInitBody().
+     * The JSP container will resynchronize any variable values that 
+     * are indicated as so in TagExtraInfo or TLD after the invocation of 
+     * doInitBody().
      *
      * @throws JspException
      * @see #doAfterBody
Index: src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java,v
retrieving revision 1.2
diff -u -r1.2 BodyTagSupport.java
--- src/share/javax/servlet/jsp/tagext/BodyTagSupport.java      19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/BodyTagSupport.java      28 Oct 2002 23:58:24 
+-0000
@@ -92,7 +92,7 @@
     }
 
     /**
-     * Default processing of the start tag returning EVAL_BODY_BUFFERED
+     * Default processing of the start tag returning EVAL_BODY_BUFFERED.
      *
      * @return EVAL_BODY_BUFFERED
      * @throws JspException if an error occurred while processing this tag
@@ -198,7 +198,7 @@
     // protected fields
 
     /**
-     * The current BodyContent for this BodyTag
+     * The current BodyContent for this BodyTag.
      */
     protected BodyContent   bodyContent;
 }
Index: src/share/javax/servlet/jsp/tagext/DynamicAttributes.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java,v
retrieving revision 1.2
diff -u -r1.2 DynamicAttributes.java
--- src/share/javax/servlet/jsp/tagext/DynamicAttributes.java   19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/DynamicAttributes.java   28 Oct 2002 23:58:24 
+-0000
@@ -54,6 +54,8 @@
  */
 package javax.servlet.jsp.tagext;
 
+import javax.servlet.jsp.JspException;
+
 /**
  * For a tag to declare that it accepts dynamic attributes, it must implement
  * this interface.  The entry for the tag in the Tag Library Descriptor must 
@@ -65,7 +67,7 @@
  * value of the attribute.  It is the responsibility of the tag to 
  * remember the names and values of the dynamic attributes.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface DynamicAttributes {
     
@@ -83,6 +85,6 @@
      */
     public void setDynamicAttribute(
         String uri, String localName, Object value ) 
-        throws javax.servlet.jsp.JspException;
+        throws JspException;
     
 }
Index: src/share/javax/servlet/jsp/tagext/FunctionInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java,v
retrieving revision 1.2
diff -u -r1.2 FunctionInfo.java
--- src/share/javax/servlet/jsp/tagext/FunctionInfo.java        19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/FunctionInfo.java        28 Oct 2002 23:58:24 
+-0000
@@ -60,7 +60,7 @@
  * This class is instantiated from the Tag Library Descriptor file (TLD)
  * and is available only at translation time.
  * 
- * @since JSP2.0
+ * @since 2.0
  */
 public class FunctionInfo {
 
Index: src/share/javax/servlet/jsp/tagext/IterationTag.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 IterationTag.java
--- src/share/javax/servlet/jsp/tagext/IterationTag.java        13 Aug 2002 16:20:56 
-0000      1.1.1.1
+++ src/share/javax/servlet/jsp/tagext/IterationTag.java        28 Oct 2002 23:58:24 
+-0000
@@ -138,9 +138,9 @@
      * of external computation.
      *
      * <p>
-     * The JSP container will resynchronize
-     * any variable values that are indicated as so in TagExtraInfo after the
-     * invocation of doAfterBody().
+     * The JSP container will resynchronize any variable values that are 
+     * indicated as so in TagExtraInfo or TLD after the invocation of 
+     * doAfterBody().
      *
      * @return whether additional evaluations of the body are desired
      * @throws JspException
Index: src/share/javax/servlet/jsp/tagext/JspFragment.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java,v
retrieving revision 1.3
diff -u -r1.3 JspFragment.java
--- src/share/javax/servlet/jsp/tagext/JspFragment.java 28 Oct 2002 17:45:44 -0000     
 1.3
+++ src/share/javax/servlet/jsp/tagext/JspFragment.java 28 Oct 2002 23:58:24 -0000
@@ -70,7 +70,9 @@
  * capable of executing the defined fragment.
  * <p>
  * A tag handler can invoke the fragment zero or more times, or 
- * pass it along to other tags, before returning.
+ * pass it along to other tags, before returning.  To communicate values
+ * to/from a JSP fragment, tag handlers store/retrieve values in 
+ * the JspContext associated with the fragment.
  * <p>
  * Note that tag library developers and page authors should not generate
  * JspFragment implementations manually.
@@ -81,7 +83,7 @@
  * JspFragment. Upon construction, a discriminator can be passed to 
  * select which fragment that instance will execute.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface JspFragment {
 
Index: src/share/javax/servlet/jsp/tagext/JspTag.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java,v
retrieving revision 1.2
diff -u -r1.2 JspTag.java
--- src/share/javax/servlet/jsp/tagext/JspTag.java      19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/JspTag.java      28 Oct 2002 23:58:24 -0000
@@ -58,7 +58,7 @@
  * Serves as a base class for Tag and SimpleTag.  
  * This is mostly for organizational and type-safety purposes.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public interface JspTag {
 }
Index: src/share/javax/servlet/jsp/tagext/SimpleTag.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java,v
retrieving revision 1.2
diff -u -r1.2 SimpleTag.java
--- src/share/javax/servlet/jsp/tagext/SimpleTag.java   19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/SimpleTag.java   28 Oct 2002 23:58:28 -0000
@@ -85,9 +85,11 @@
  *
  * <ol>
  *   <li>A new tag handler instance is created each time by the container 
- *       by calling the provided zero-args constructor.</li>
- *   <li>The <code>setJspContext()</code> and <code>setParent()</code> are 
- *       called by the container.</li>
+ *       by calling the provided zero-args constructor.  Unlike classic
+ *       tag handlers, simple tag handlers are never cached and reused by
+ *       the JSP container.</li>
+ *   <li>The <code>setJspContext()</code> and <code>setParent()</code> 
+ *       methods are called by the container.</li>
  *   <li>The setters for each attribute defined for this tag are called
  *       by the container, in the order in which they appear in the JSP
  *       page or Tag File.</li>
@@ -101,7 +103,7 @@
  * </ol>
  * 
  * @see SimpleTagSupport
- * @since JSP2.0
+ * @since 2.0
  */
 public interface SimpleTag extends JspTag {
     
Index: src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java,v
retrieving revision 1.3
diff -u -r1.3 SimpleTagSupport.java
--- src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java    18 Oct 2002 21:51:07 
-0000      1.3
+++ src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java    28 Oct 2002 23:58:28 
+-0000
@@ -55,6 +55,8 @@
 package javax.servlet.jsp.tagext;
 
 import javax.servlet.jsp.JspContext;
+import javax.servlet.jsp.JspException;
+import java.io.IOException;
 
 /**
  * A base class for defining tag handlers implemeting SimpleTag.
@@ -65,18 +67,18 @@
  * convenience methods including getter methods for the properties in
  * SimpleTag.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public class SimpleTagSupport 
     implements SimpleTag
 {
-    /** Reference to the enclosing tag */
+    /** Reference to the enclosing tag. */
     private JspTag parentTag;
     
-    /** The JSP context for the upcoming tag invocation */
+    /** The JSP context for the upcoming tag invocation. */
     protected JspContext jspContext;
     
-    /** The body of the tag */
+    /** The body of the tag. */
     protected JspFragment jspBody;
     
     /** 
@@ -96,7 +98,7 @@
      * @see SimpleTag#doTag()
      */ 
     public void doTag() 
-        throws javax.servlet.jsp.JspException, java.io.IOException
+        throws JspException, IOException
     {
     }
     
@@ -151,7 +153,7 @@
     }
     
     /**
-     * Returns the body passed in by the container via setJspBody
+     * Returns the body passed in by the container via setJspBody.
      *
      * @return the fragment encapsulating the body of this tag, or
      *    null if this tag has a body content type of empty.
Index: src/share/javax/servlet/jsp/tagext/Tag.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java,v
retrieving revision 1.2
diff -u -r1.2 Tag.java
--- src/share/javax/servlet/jsp/tagext/Tag.java 19 Aug 2002 16:29:51 -0000      1.2
+++ src/share/javax/servlet/jsp/tagext/Tag.java 28 Oct 2002 23:58:29 -0000
@@ -243,9 +243,9 @@
      * implements BodyTag.
      *
      * <p>
-     * The JSP container will resynchronize
-     * any variable values that are indicated as so in TagExtraInfo after the
-     * invocation of doStartTag().
+     * The JSP container will resynchronize any variable values that are 
+     * indicated as so in TagExtraInfo or the TLD after the invocation of 
+     * doStartTag().
      *
      * @return EVAL_BODY_INCLUDE if the tag wants to process body, SKIP_BODY 
      *     if it does not want to process it.
@@ -263,7 +263,7 @@
      *
      * <p>
      * This method will be called after returning from doStartTag. The
-     * body of the action may or not have been evaluated, depending on
+     * body of the action may or may not have been evaluated, depending on
      * the return value of doStartTag.
      *
      * <p>
@@ -275,9 +275,9 @@
      * only the current page evaluation is stopped.
      *
      * <p>
-     * The JSP container will resynchronize
-     * any variable values that are indicated as so in TagExtraInfo after the
-     * invocation of doEndTag().
+     * The JSP container will resynchronize any variable values that are 
+     * indicated as so in TagExtraInfo or the TLD after the invocation of 
+     * doEndTag().
      *
      * @return indication of whether to continue evaluating the JSP page.
      * @throws JspException if an error occurred while processing this tag
Index: src/share/javax/servlet/jsp/tagext/TagAdapter.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java,v
retrieving revision 1.4
diff -u -r1.4 TagAdapter.java
--- src/share/javax/servlet/jsp/tagext/TagAdapter.java  5 Sep 2002 17:28:13 -0000      
 1.4
+++ src/share/javax/servlet/jsp/tagext/TagAdapter.java  28 Oct 2002 23:58:29 -0000
@@ -70,15 +70,15 @@
  * adapter is passed to setParent() instead.  A classic Tag Handler can
  * call getAdaptee() to retrieve the encapsulated SimpleTag instance.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public class TagAdapter 
     implements Tag
 {
-    /** The simple tag that's being adapted */
+    /** The simple tag that's being adapted. */
     private SimpleTag simpleTagAdaptee;
 
-    /** The parent, of this tag, converted (if necessary) to be of type Tag */
+    /** The parent, of this tag, converted (if necessary) to be of type Tag. */
     private Tag parent;
 
     // Flag indicating whether we have already determined the parent
Index: src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java,v
retrieving revision 1.2
diff -u -r1.2 TagAttributeInfo.java
--- src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java    19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java    28 Oct 2002 23:58:30 
+-0000
@@ -105,7 +105,7 @@
      * @param reqTime Whether this attribute holds a request-time Attribute.
      * @param fragment Whether this attribute is of type JspFragment
      *
-     * @since JSP2.0
+     * @since 2.0
      */
 
     public TagAttributeInfo(String name, boolean required,
@@ -172,11 +172,11 @@
     }
 
     /**
-     * Whether this attribute is of type JspFragment
+     * Whether this attribute is of type JspFragment.
      *
      * @return if the attribute is of type JspFragment
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     public boolean isFragment() {
        return fragment;
Index: src/share/javax/servlet/jsp/tagext/TagData.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java,v
retrieving revision 1.2
diff -u -r1.2 TagData.java
--- src/share/javax/servlet/jsp/tagext/TagData.java     19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/TagData.java     28 Oct 2002 23:58:31 -0000
@@ -119,9 +119,9 @@
     }
 
     /**
-     * The value of the id attribute, if available.
+     * The value of the jsp:id attribute.
      *
-     * @return the value of the id attribute or null
+     * @return the value of the jsp:id attribute.
      */
 
     public String getId() {
Index: src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java,v
retrieving revision 1.2
diff -u -r1.2 TagExtraInfo.java
--- src/share/javax/servlet/jsp/tagext/TagExtraInfo.java        19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/TagExtraInfo.java        28 Oct 2002 23:58:31 
+-0000
@@ -81,6 +81,12 @@
  * corresponds to the tag being translated. The call should happen before
  * any invocation on validate() and before any invocation on
  * getVariableInfo().
+ *
+ * <p>
+ * <tt>NOTE:</tt> It is a (translation time) error for a tag definition
+ * in a TLD with one or more variable subelements to have an associated
+ * TagExtraInfo implementation that returns a VariableInfo array with
+ * one or more elements from a call to getVariableInfo().
  */
 
 public abstract class TagExtraInfo {
@@ -91,10 +97,11 @@
      * Request-time attributes are indicated as such in the TagData parameter.
      *
      * @param data The TagData instance.
-     * @return An array of VariableInfo data.
+     * @return An array of VariableInfo data, or a zero length array
+     *         if no scripting variables are to be defined.
      */
     public VariableInfo[] getVariableInfo(TagData data) {
-       return new VariableInfo[0];
+       return ZERO_VARIABLE_INFO;
     }
 
     /**
@@ -127,7 +134,7 @@
      * @param data The TagData instance.
      * @return A null object, or zero length array if no errors, an 
      *     array of ValidationMessages otherwise.
-     * @since JSP2.0
+     * @since 2.0
      */
     public ValidationMessage[] validate( TagData data ) {
        ValidationMessage[] result = null;
@@ -160,5 +167,8 @@
     
     // private data
     private TagInfo tagInfo;
+
+    // zero length VariableInfo array
+    private static final VariableInfo[] ZERO_VARIABLE_INFO = { };
 }
 
Index: src/share/javax/servlet/jsp/tagext/TagFileInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java,v
retrieving revision 1.2
diff -u -r1.2 TagFileInfo.java
--- src/share/javax/servlet/jsp/tagext/TagFileInfo.java 19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/TagFileInfo.java 28 Oct 2002 23:58:31 -0000
@@ -60,7 +60,7 @@
  * This class is instantiated from the Tag Library Descriptor file (TLD)
  * and is available only at translation time.
  *
- * @since JSP2.0
+ * @since 2.0
  */
 public class TagFileInfo {
 
Index: src/share/javax/servlet/jsp/tagext/TagInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java,v
retrieving revision 1.2
diff -u -r1.2 TagInfo.java
--- src/share/javax/servlet/jsp/tagext/TagInfo.java     19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/TagInfo.java     28 Oct 2002 23:58:31 -0000
@@ -66,28 +66,28 @@
 public class TagInfo {
 
     /**
-     * static constant for getBodyContent() when it is JSP
+     * Static constant for getBodyContent() when it is JSP.
      */
 
     public static final String BODY_CONTENT_JSP = "JSP";
 
     /**
-     * static constant for getBodyContent() when it is Tag dependent
+     * Static constant for getBodyContent() when it is Tag dependent.
      */
 
     public static final String BODY_CONTENT_TAG_DEPENDENT = "TAGDEPENDENT";
 
 
     /**
-     * static constant for getBodyContent() when it is empty
+     * Static constant for getBodyContent() when it is empty.
      */
 
     public static final String BODY_CONTENT_EMPTY = "EMPTY";
     
     /**
-     * static constant for getBodyContent() when it is scriptless
+     * Static constant for getBodyContent() when it is scriptless.
      * 
-     * @since JSP2.0
+     * @since 2.0
      */ 
     public static final String BODY_CONTENT_SCRIPTLESS = "SCRIPTLESS";
 
@@ -207,7 +207,7 @@
      * @param tvi An array of a TagVariableInfo (or null)
      * @param dynamicAttributes True if supports dynamic attributes
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     public TagInfo(String tagName,
             String tagClassName,
@@ -241,7 +241,8 @@
     /**
      * The name of the Tag.
      *
-     * @return The (short) name of the tag.
+     * @return The (short) name of the tag, or null
+     *         if not defined.
      */
 
     public String getTagName() {
@@ -252,9 +253,9 @@
      * Attribute information (in the TLD) on this tag.
      * The return is an array describing the attributes of this tag, as
      * indicated in the TLD.
-     * A null return means no attributes.
      *
-     * @return The array of TagAttributeInfo for this tag.
+     * @return The array of TagAttributeInfo for this tag, or a
+     *         zero-length array if the tag has no attributes.
      */
 
    public TagAttributeInfo[] getAttributes() {
@@ -269,7 +270,9 @@
      * otherwise, {"id", Object}
      *
      * @param data TagData describing this action.
-     * @return Array of VariableInfo elements.
+     * @return Array of VariableInfo elements, or a zero length
+     *         array if the associated TagExtraInfo defines no scripting
+     *         variables.
      */
 
    public VariableInfo[] getVariableInfo(TagData data) {
@@ -302,7 +305,7 @@
      * @param data The translation-time TagData instance.
      * @return A null object, or zero length array if no errors, an
      *     array of ValidationMessages otherwise.
-     * @since JSP2.0
+     * @since 2.0
      */
     public ValidationMessage[] validate( TagData data ) {
        TagExtraInfo tei = getTagExtraInfo();
@@ -313,7 +316,7 @@
     }
 
     /**
-     * Set the instance for extra tag information
+     * Set the instance for extra tag information.
      * 
      * @param tei the TagExtraInfo instance
      */
@@ -323,7 +326,7 @@
 
 
     /**
-     * The instance (if any) for extra tag information
+     * The instance (if any) for extra tag information.
      * 
      * @return The TagExtraInfo instance, if any.
      */
@@ -345,6 +348,8 @@
 
     /**
      * The bodycontent information for this tag.
+     * If the bodycontent is not defined for this
+     * tag, the default of JSP will be returned.
      *
      * @return the body content string.
      */
@@ -357,7 +362,8 @@
     /**
      * The information string for the tag.
      *
-     * @return the info string
+     * @return the info string, or null if 
+     *         not defined
      */
 
     public String getInfoString() {
@@ -387,7 +393,7 @@
     /**
      * The instance of TabLibraryInfo we belong to.
      *
-     * @return the tab library instance we belong to.
+     * @return the tag library instance we belong to
      */
 
     public TagLibraryInfo getTagLibrary() {
@@ -399,9 +405,10 @@
 
 
     /**
-     * Get the displayName
+     * Get the displayName.
      *
-     * @return A short name to be displayed by tools
+     * @return A short name to be displayed by tools,
+     *         or null if not defined
      */
 
     public String getDisplayName() {
@@ -409,9 +416,10 @@
     }
 
     /**
-     * Get the path to the small icon
+     * Get the path to the small icon.
      *
-     * @return Path to a small icon to be displayed by tools
+     * @return Path to a small icon to be displayed by tools,
+     *         or null if not defined
      */
 
     public String getSmallIcon() {
@@ -419,9 +427,10 @@
     }
 
     /**
-     * Get the path to the large icon
+     * Get the path to the large icon.
      *
-     * @return Path to a large icon to be displayed by tools
+     * @return Path to a large icon to be displayed by tools,
+     *         or null if not defined
      */
 
     public String getLargeIcon() {
@@ -429,9 +438,11 @@
     }
 
     /**
-     * Get TagVariableInfo objects associated with this TagInfo
+     * Get TagVariableInfo objects associated with this TagInfo.
      *
-     * @return A TagVariableInfo object associated with this 
+     * @return Array of TagVariableInfo objects corresponding to
+     *         variables declared by this tag, or a zero length
+     *         array if no variables have been declared
      */
 
     public TagVariableInfo[] getTagVariableInfos() {
@@ -442,10 +453,10 @@
     // ============== JSP 2.0 TLD Information ========
 
     /**
-     * Get dynamicAttributes associated with this TagInfo
+     * Get dynamicAttributes associated with this TagInfo.
      *
      * @return True if tag handler supports dynamic attributes
-     * @since JSP2.0
+     * @since 2.0
      */
     public boolean hasDynamicAttributes() {
         return dynamicAttributes;
@@ -454,7 +465,6 @@
     /*
      * private fields for 1.1 info
      */
-
     private String             tagName; // the name of the tag
     private String             tagClassName;
     private String             bodyContent;
Index: src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java,v
retrieving revision 1.4
diff -u -r1.4 TagLibraryInfo.java
--- src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java      11 Oct 2002 20:35:26 
-0000      1.4
+++ src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java      28 Oct 2002 23:58:33 
+-0000
@@ -58,10 +58,6 @@
 import javax.servlet.jsp.tagext.TagInfo;
 import javax.servlet.jsp.tagext.TagFileInfo;
 
-import java.net.URL;
-
-import java.io.InputStream;
-
 /**
  * Translation-time information associated with a taglib directive, and its
  * underlying TLD file.
@@ -78,37 +74,16 @@
      * Constructor.
      *
      * This will invoke the constructors for TagInfo, and TagAttributeInfo
-     * after parsing the TLD file.  Sets tagdir to null.
+     * after parsing the TLD file.
      *
      * @param prefix the prefix actually used by the taglib directive
      * @param uri the URI actually used by the taglib directive
      */
     protected TagLibraryInfo(String prefix, String uri) {
-       this( prefix, uri, null );
-    }
-
-    /**
-     * JSP 2.0 Constructor.
-     *
-     * This will invoke the constructors for TagInfo, and TagAttributeInfo
-     * after parsing the TLD file.
-     *
-     * @param prefix the prefix actually used by the taglib directive
-     * @param uri the URI actually used by the taglib directive.  Either
-     *     uri or tagdir must be null.
-     * @param tagdir the directory of tag files, starting with /WEB-INF/tags/
-     *     if this directive is specifying the directory of an implicit 
-     *     tag library composed of tag files.  Either uri or tagdir 
-     *     must be null.
-     * @since JSP2.0
-     */
-    protected TagLibraryInfo(String prefix, String uri, String tagdir) {
        this.prefix = prefix;
        this.uri    = uri;
-       this.tagdir = tagdir;
     }
 
-
     // ==== methods accessing taglib information =======
 
     /**
@@ -123,17 +98,6 @@
     }
 
     /**
-     * The value of the tagdir attribute from the &lt;%@ taglib directive for
-     * this tag library.
-     *
-     * @return the value of the tagdir attribute
-     * @since JSP2.0
-     */
-    public String getTagdir() {
-       return tagdir;
-    }
-
-    /**
      * The prefix assigned to this taglib from the taglib directive
      *
      * @return the prefix assigned to this taglib from the taglib directive
@@ -194,7 +158,9 @@
     /**
      * An array describing the tags that are defined in this tag library.
      *
-     * @return the tags defined in this tag lib
+     * @return the TagInfo objects corresponding to the tags defined by this
+     *         tag library, or a zero length array if this tag library
+     *         defines no tags
      */
     public TagInfo[] getTags() {
         return tags;
@@ -203,8 +169,10 @@
     /**
      * An array describing the tag files that are defined in this tag library.
      *
-     * @return the tag files defined in this tag lib
-     * @since JSP2.0
+     * @return the TagFileInfo objects corresponding to the tag files defined
+     *         by this tag library, or a zero length array if this
+     *         tag library defines no tags files
+     * @since 2.0
      */
     public TagFileInfo[] getTagFiles() {
         return tagFiles;
@@ -213,10 +181,11 @@
 
     /**
      * Get the TagInfo for a given tag name, looking through all the
-     * tags in this tag library.  Returns null if no tag is found.
+     * tags in this tag library.
      *
      * @param shortname The short name (no prefix) of the tag
-     * @return the TagInfo for that tag. 
+     * @return the TagInfo for the tag with the specified short name, or
+     *         null if no such tag is found
      */
 
     public TagInfo getTag(String shortname) {
@@ -236,11 +205,12 @@
 
     /**
      * Get the TagFileInfo for a given tag name, looking through all the
-     * tag files in this tag library.  Returns null if no tag file is found.
+     * tag files in this tag library.
      *
      * @param shortname The short name (no prefix) of the tag
-     * @return the TagFileInfo for that tag file. 
-     * @since JSP2.0
+     * @return the TagFileInfo for the specified Tag file, or null
+     *         if no Tag file is found
+     * @since 2.0
      */
     public TagFileInfo getTagFile(String shortname) {
         TagFileInfo tagFiles[] = getTagFiles();
@@ -260,8 +230,9 @@
     /**
      * An array describing the functions that are defined in this tag library.
      *
-     * @return the functions defined in this tag lib
-     * @since JSP2.0
+     * @return the functions defined in this tag library, or a zero
+     *         length array if the tag library defines no functions.
+     * @since 2.0
      */
     public FunctionInfo[] getFunctions() {
         return functions;
@@ -273,8 +244,9 @@
      * functions in this tag library.
      *
      * @param name The name (no prefix) of the function
-     * @return the FunctionInfo for that function. 
-     * @since JSP2.0
+     * @return the FunctionInfo for the function with the given name, or null
+     *         if no such function exists
+     * @since 2.0
      */
     public FunctionInfo getFunction(String name) {
 
@@ -295,7 +267,7 @@
     // Protected fields
 
     /**
-     * The prefix assigned to this taglib from the taglib directive
+     * The prefix assigned to this taglib from the taglib directive.
      */
     protected String        prefix;
     
@@ -306,14 +278,6 @@
     protected String        uri;
     
     /**
-     * The value of the tagdir attribute from the &lt;%@ taglib directive for
-     * this tag library.
-     *
-     * @since JSP2.0
-     */
-    protected String        tagdir;
-
-    /**
      * An array describing the tags that are defined in this tag library.
      */
     protected TagInfo[]     tags;
@@ -321,26 +285,26 @@
     /**
      * An array describing the tag files that are defined in this tag library.
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     protected TagFileInfo[] tagFiles;
     
     /**
      * An array describing the functions that are defined in this tag library.
      *
-     * @since JSP2.0
+     * @since 2.0
      */
     protected FunctionInfo[] functions;
 
     // Tag Library Data
     
     /**
-     * The version of the tag library
+     * The version of the tag library.
      */
     protected String tlibversion; // required
     
     /**
-     * The version of the JSP specification this tag library is written to
+     * The version of the JSP specification this tag library is written to.
      */
     protected String jspversion;  // required
     
Index: src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java,v
retrieving revision 1.2
diff -u -r1.2 TagLibraryValidator.java
--- src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java 19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java 28 Oct 2002 23:58:36 
+-0000
@@ -146,7 +146,7 @@
     }
 
     /**
-     * Release any data kept by this instance for validation purposes
+     * Release any data kept by this instance for validation purposes.
      */
     public void release() {
        initParameters = null;
Index: src/share/javax/servlet/jsp/tagext/TagSupport.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java,v
retrieving revision 1.2
diff -u -r1.2 TagSupport.java
--- src/share/javax/servlet/jsp/tagext/TagSupport.java  19 Aug 2002 16:29:51 -0000     
 1.2
+++ src/share/javax/servlet/jsp/tagext/TagSupport.java  28 Oct 2002 23:58:36 -0000
@@ -179,7 +179,7 @@
 
 
     /**
-     * Default processing for a body
+     * Default processing for a body.
      *
      * @return SKIP_BODY
      * @throws JspException if an error occurs while processing this tag
@@ -323,7 +323,7 @@
     // protected fields
 
     /**
-     * The PageContext
+     * The PageContext.
      */
     protected PageContext pageContext;
 }
Index: src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java,v
retrieving revision 1.4
diff -u -r1.4 TagVariableInfo.java
--- src/share/javax/servlet/jsp/tagext/TagVariableInfo.java     28 Oct 2002 17:45:44 
-0000      1.4
+++ src/share/javax/servlet/jsp/tagext/TagVariableInfo.java     28 Oct 2002 23:58:36 
+-0000
@@ -68,7 +68,7 @@
 public class TagVariableInfo {
 
     /**
-     * Constructor for TagVariableInfo
+     * Constructor for TagVariableInfo.
      *
      * @param nameGiven value of &lt;name-given&gt;
      * @param nameFromAttribute value of &lt;name-from-attribute&gt;
@@ -90,7 +90,7 @@
     }
 
     /**
-     * The body of the &lt;name-given&gt; element
+     * The body of the &lt;name-given&gt; element.
      *
      * @return The variable name as a constant
      */
@@ -124,7 +124,7 @@
     }
 
     /**
-     * The body of the &lt;declare&gt; element
+     * The body of the &lt;declare&gt; element.
      *
      * @return Whether the variable is to be declared or not.
      *         If not defined in the TLD, 'true' will be returned.
@@ -135,7 +135,7 @@
     }
 
     /**
-     * The body of the &lt;scope&gt; element
+     * The body of the &lt;scope&gt; element.
      *
      * @return The scope to give the variable.  NESTED
      *         scope will be returned if not defined in 
Index: src/share/javax/servlet/jsp/tagext/VariableInfo.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java,v
retrieving revision 1.2
diff -u -r1.2 VariableInfo.java
--- src/share/javax/servlet/jsp/tagext/VariableInfo.java        19 Aug 2002 16:29:51 
-0000      1.2
+++ src/share/javax/servlet/jsp/tagext/VariableInfo.java        28 Oct 2002 23:58:37 
+-0000
@@ -140,10 +140,12 @@
  * <ul>
  * <li>
  * for NESTED, after doInitBody and doAfterBody for a tag handler implementing
- * BodyTag, and after doStartTag otherwise.
+ * BodyTag, after doAfterBody for a tag handler implementing IterationTag,
+ * and in all cases, after doStartTag.
  * <li>
- * for AT_BEGIN, after doInitBody, doAfterBody, and doEndTag
- * for a tag handler implementing BodyTag, and doStartTag and doEndTag otherwise.
+ * for AT_BEGIN, after doInitBody, doAfterBody for a tag handler implementing
+ * BodyTag, after doAfterBody for a tag handler implementing IterationTag, and
+ * in all cases after doStartTag and doEndTag.
  * <li>
  * for AT_END, after doEndTag method.
  * </ul>
@@ -158,17 +160,18 @@
 public class VariableInfo {
 
     /**
-     *Scope information that scripting variable is visible only within the start/end 
tags
+     * Scope information that scripting variable is visible only within the
+     * start/end tags.
      */
     public static final int NESTED = 0;
 
     /**
-     * Scope information that scripting variable is visible after start tag
+     * Scope information that scripting variable is visible after start tag.
      */
     public static final int AT_BEGIN = 1;
 
     /**
-     * Scope information that scripting variable is visible after end tag
+     * Scope information that scripting variable is visible after end tag.
      */
     public static final int AT_END = 2;
 
@@ -198,7 +201,7 @@
     // Accessor methods
     
     /**
-     * Returns the name of the scripting variable
+     * Returns the name of the scripting variable.
      *
      * @return the name of the scripting variable
      */
@@ -207,7 +210,7 @@
     }
     
     /**
-     * Returns the type of this variable
+     * Returns the type of this variable.
      *
      * @return the type of this variable
      */

--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>

Reply via email to