You are viewing a plain text version of this content. The canonical link for it is here.
Posted to servletapi-dev@jakarta.apache.org by ed...@apache.org on 2001/07/14 01:57:19 UTC
cvs commit: jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext BodyTag.java BodyTagSupport.java IterationTag.java Tag.java TagExtraInfo.java TagLibraryInfo.java TagSupport.java TagVariableInfo.java
eduardop 01/07/13 16:57:19
Modified: src/share/javax/servlet/jsp HttpJspPage.java JspPage.java
PageContext.java
src/share/javax/servlet/jsp/tagext BodyTag.java
BodyTagSupport.java IterationTag.java Tag.java
TagExtraInfo.java TagLibraryInfo.java
TagSupport.java TagVariableInfo.java
Log:
Changes corresponding to PFD3
Revision Changes Path
1.2 +1 -3 jakarta-servletapi-4/src/share/javax/servlet/jsp/HttpJspPage.java
Index: HttpJspPage.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/HttpJspPage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HttpJspPage.java 2001/01/09 03:24:20 1.1
+++ HttpJspPage.java 2001/07/13 23:57:18 1.2
@@ -63,9 +63,7 @@
* The HttpJspPage interface describes the interaction that a JSP Page
* Implementation Class must satisfy when using the HTTP protocol.
*
- * <p>HttpJspPage objects are obtained from the JspFactory class.
- *
-* <p>
+ * <p>
* The behaviour is identical to that of the JspPage, except for the signature
* of the _jspService method, which is now expressible in the Java type
* system and included explicitly in the interface.
1.2 +0 -2 jakarta-servletapi-4/src/share/javax/servlet/jsp/JspPage.java
Index: JspPage.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/JspPage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JspPage.java 2001/01/09 03:24:20 1.1
+++ JspPage.java 2001/07/13 23:57:18 1.2
@@ -62,8 +62,6 @@
* Implementation class must satisfy; pages that use the HTTP protocol
* are described by the HttpJspPage interface.
*
- * <p>JspPage objects are obtained from the JspFactory object.
- *
* <p><B>Two plus One Methods</B>
* <p>
* The interface defines a protocol with 3 methods; only two of
1.2 +4 -3 jakarta-servletapi-4/src/share/javax/servlet/jsp/PageContext.java
Index: PageContext.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/PageContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PageContext.java 2001/01/09 03:24:21 1.1
+++ PageContext.java 2001/07/13 23:57:18 1.2
@@ -73,9 +73,10 @@
/**
* <p>
- * A PageContext instance provides access to all the namespaces associated with
- * a JSP page, provides access to several page attributes, as well as a layer above the
- * implementation details.
+ * A PageContext instance provides access to all the namespaces associated
+ * with a JSP page, provides access to several page attributes, as well as
+ * a layer above the implementation details. Implicit objects are added
+ * the pageContext automatically.
*
* <p> The <code> PageContext </code> class is an abstract class, designed to be
* extended to provide implementation dependent implementations thereof, by
1.3 +8 -4 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/BodyTag.java
Index: BodyTag.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/BodyTag.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BodyTag.java 2001/04/25 00:10:01 1.2
+++ BodyTag.java 2001/07/13 23:57:18 1.3
@@ -115,20 +115,24 @@
* <IMG src="doc-files/BodyTagProtocol.gif"/>
* <p><B>Empty and Non-Empty Action</B>
- * <p> If the action is an <b>empty action</b>, the doStartTag() method must
- * return SKIP_BODY.
+ * <p> If the TagLibraryDescriptor file indicates that the action must
+ * always have an empty action, by an <body-content> entry of "empty",
+ * then the doStartTag() method must return SKIP_BODY.
*
- * <p> If the action is a <b>non-empty action</b>, the doStartTag() method
- * may return SKIP_BODY, EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
+ * Otherwise, the doStartTag() method may return SKIP_BODY,
+ * EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
*
+ * <p>
* If SKIP_BODY is returned the body is not evaluated, and doEndTag() is
* invoked.
*
+ * <p>
* If EVAL_BODY_INCLUDE is returned, setBodyContent() is not invoked,
* doInitBody() is not invoked, the body is evaluated and
* "passed through" to the current out, doAfterBody() is invoked
* and then, after zero or more iterations, doEndTag() is invoked.
*
+ * <p>
* If EVAL_BODY_BUFFERED is returned, setBodyContent() is invoked,
* doInitBody() is invoked, the body is evaluated, doAfterBody() is
* invoked, and then, after zero or more iterations, doEndTag() is invoked.
1.2 +2 -1 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
Index: BodyTagSupport.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BodyTagSupport.java 2001/01/09 03:24:21 1.1
+++ BodyTagSupport.java 2001/07/13 23:57:18 1.2
@@ -72,7 +72,8 @@
* bodyContent property and methods to get at the previous out JspWriter.
*
* <p>
- * Many tag handlers will extend TagSupport and only redefine a few methods.
+ * Many tag handlers will extend BodyTagSupport and only redefine a
+ * few methods.
*/
public class BodyTagSupport extends TagSupport implements BodyTag {
1.3 +7 -4 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/IterationTag.java
Index: IterationTag.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/IterationTag.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- IterationTag.java 2001/04/25 00:10:01 1.2
+++ IterationTag.java 2001/07/13 23:57:18 1.3
@@ -89,15 +89,18 @@
* <IMG src="doc-files/IterationTagProtocol.gif"/>
*
* <p><B>Empty and Non-Empty Action</B>
- * <p> If the action is an <b>empty action</b>, the doStartTag() method must
- * return SKIP_BODY.
+ * <p> If the TagLibraryDescriptor file indicates that the action must
+ * always have an empty action, by an <body-content> entry of "empty",
+ * then the doStartTag() method must return SKIP_BODY.
*
- * <p> If the action is a <b>non-empty action</b>, the doStartTag() method
- * may return SKIP_BODY or EVAL_BODY_INCLUDE.
+ * Otherwise, the doStartTag() method may return SKIP_BODY or
+ * EVAL_BODY_INCLUDE.
*
+ * <p>
* If SKIP_BODY is returned the body is not evaluated, and then doEndTag()
* is invoked.
*
+ * <p>
* If EVAL_BODY_INCLUDE is returned, the body is evaluated and
* "passed through" to the current out, then doAfterBody() is invoked
* and, after zero or more iterations, doEndTag() is invoked.
1.3 +29 -9 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/Tag.java
Index: Tag.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/Tag.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Tag.java 2001/04/25 00:10:01 1.2
+++ Tag.java 2001/07/13 23:57:18 1.3
@@ -112,14 +112,17 @@
* handler before the handler is released to the GC.
*
* <p><B>Empty and Non-Empty Action</B>
- * <p> If the action is an <b>empty action</b>, the doStartTag() method must
- * return SKIP_BODY.
+ * <p> If the TagLibraryDescriptor file indicates that the action must
+ * always have an empty action, by an <body-content> entry of "empty",
+ * then the doStartTag() method must return SKIP_BODY.
*
- * <p> If the action is a <b>non-empty action</b>, the doStartTag() method
- * may return SKIP_BODY or EVAL_BODY_INCLUDE.
+ * Otherwise, the doStartTag() method may return SKIP_BODY or
+ * EVAL_BODY_INCLUDE.
*
- * If SKIP_BODY is returned the body is not evaluated.
+ * <p>
+ * If SKIP_BODY is returned the body, if present, is not evaluated.
*
+ * <p>
* If EVAL_BODY_INCLUDE is returned, the body is evaluated and
* "passed through" to the current out.
*/
@@ -187,9 +190,26 @@
/**
* Get the parent (closest enclosing tag handler) for this tag handler.
- * This method is used by the findAncestorWithClass() method in
- * TagSupport.
*
+ * <p>
+ * The getParent() method can be used to navigate the nested tag
+ * handler structure at runtime for cooperation among custom actions;
+ * for example, the findAncestorWithClass() method in TagSupport
+ * provides a convenient way of doing this.
+ *
+ * <p>
+ * The current version of the specification only provides one formal
+ * way of indicating the observable type of a tag handler: its
+ * tag handler implementation class, described in the tag-class
+ * subelement of the tag element. This is extended in an
+ * informal manner by allowing the tag library author to
+ * indicate in the description subelement an observable type.
+ * The type should be a subtype of the tag handler implementation
+ * class or void.
+ * This addititional constraint can be exploited by a
+ * specialized container that knows about that specific tag library,
+ * as in the case of the JSP standard tag library.
+ *
* @returns the current parent, or null if none.
* @seealso TagSupport.findAncestorWithClass().
*/
@@ -228,7 +248,7 @@
* <p>
* The JSP container will resynchronize
* any variable values that are indicated as so in TagExtraInfo after the
- * invocation of doStartBody().
+ * invocation of doStartTag().
*
* @returns EVAL_BODY_INCLUDE if the tag wants to process body, SKIP_BODY if it
* does not want to process it.
@@ -259,7 +279,7 @@
* <p>
* The JSP container will resynchronize
* any variable values that are indicated as so in TagExtraInfo after the
- * invocation of doEndBody().
+ * invocation of doEndTag().
*
* @returns indication of whether to continue evaluating the JSP page.
* @throws JspException.
1.2 +3 -4 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
Index: TagExtraInfo.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TagExtraInfo.java 2001/01/09 03:24:22 1.1
+++ TagExtraInfo.java 2001/07/13 23:57:18 1.2
@@ -61,11 +61,10 @@
* The TagExtraInfo class is mentioned in the Tag Library Descriptor file (TLD).
*
* <p>
- * This class must be used:
+ * This class can be used:
* <ul>
- * <li> if the tag defines any scripting variables
- * <li> if the tag wants to provide translation-time validation of the tag
- * attributes.
+ * <li> to indicate that the tag defines scripting variables
+ * <li> to perform translation-time validation of the tag attributes.
* </ul>
*
* <p>
1.2 +3 -2 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
Index: TagLibraryInfo.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TagLibraryInfo.java 2001/01/09 03:24:22 1.1
+++ TagLibraryInfo.java 2001/07/13 23:57:18 1.2
@@ -126,8 +126,9 @@
/**
* The "reliable" URN indicated in the TLD.
- * This may be used by authoring tools as a global identifier (the uri attribute)
- * to use when creating an include directive for this library.
+ * This may be used by authoring tools as a global identifier
+ * (the uri attribute) to use when creating a taglib directive
+ * for this library.
*
* @returns a reliable URN to a TLD like this
*/
1.2 +21 -0 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagSupport.java
Index: TagSupport.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagSupport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TagSupport.java 2001/01/09 03:24:22 1.1
+++ TagSupport.java 2001/07/13 23:57:18 1.2
@@ -88,6 +88,27 @@
* interface.
* This method is used for coordination among cooperating tags.
*
+ * <p>
+ * The current version of the specification only provides one formal
+ * way of indicating the observable type of a tag handler: its
+ * tag handler implementation class, described in the tag-class
+ * subelement of the tag element. This is extended in an
+ * informal manner by allowing the tag library author to
+ * indicate in the description subelement an observable type.
+ * The type should be a subtype of the tag handler implementation
+ * class or void.
+ * This addititional constraint can be exploited by a
+ * specialized container that knows about that specific tag library,
+ * as in the case of the JSP standard tag library.
+ *
+ * <p>
+ * When a tag library author provides information on the
+ * observable type of a tag handler, client programmatic code
+ * should adhere to that constraint. Specifically, the Class
+ * passed to findAncestorWithClass should be a subtype of the
+ * observable type.
+ *
+ *
* @param from The instance from where to start looking.
* @param klass The subclass of Tag or interface to be matched
* @returns the nearest ancestor that implements the interface
1.2 +0 -3 jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
Index: TagVariableInfo.java
===================================================================
RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TagVariableInfo.java 2001/01/09 03:24:22 1.1
+++ TagVariableInfo.java 2001/07/13 23:57:18 1.2
@@ -62,9 +62,6 @@
*
* This object should be immutable.
*
- * I don't see a reason not to just reuse the VariableInfo class; need
- * to check with expert group.
- *
* This information is only available in JSP 1.2 format
*/