JavaTM 2 Platform
Ent. Ed. v1.4

javax.servlet.jsp.tagext
Class TagSupport

java.lang.Object
  extended byjavax.servlet.jsp.tagext.TagSupport
All Implemented Interfaces:
IterationTag, JspTag, Serializable, Tag
Direct Known Subclasses:
BodyTagSupport

public class TagSupport
extends Object
implements IterationTag, Serializable

A base class for defining new tag handlers implementing Tag.

The TagSupport class is a utility class intended to be used as the base class for new tag handlers. The TagSupport class implements the Tag and IterationTag interfaces and adds additional convenience methods including getter methods for the properties in Tag. TagSupport has one static method that is included to facilitate coordination among cooperating tags.

Many tag handlers will extend TagSupport and only redefine a few methods.

See Also:
Serialized Form

Field Summary
protected  String id
          The value of the id attribute of this tag; or null.
protected  PageContext pageContext
          The PageContext.
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
TagSupport()
          Default constructor, all subclasses are required to define only a public constructor with the same signature, and to call the superclass constructor.
 
Method Summary
 int doAfterBody()
          Default processing for a body.
 int doEndTag()
          Default processing of the end tag returning EVAL_PAGE.
 int doStartTag()
          Default processing of the start tag, returning SKIP_BODY.
static Tag findAncestorWithClass(Tag from, Class klass)
          Find the instance of a given class type that is closest to a given instance.
 String getId()
          The value of the id attribute of this tag; or null.
 Tag getParent()
          The Tag instance most closely enclosing this tag instance.
 Object getValue(String k)
          Get a the value associated with a key.
 Enumeration getValues()
          Enumerate the keys for the values kept by this tag handler.
 void release()
          Release state.
 void removeValue(String k)
          Remove a value associated with a key.
 void setId(String id)
          Set the id attribute for this tag.
 void setPageContext(PageContext pageContext)
          Set the page context.
 void setParent(Tag t)
          Set the nesting tag of this tag.
 void setValue(String k, Object o)
          Associate a value with a String key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

id

protected String id
The value of the id attribute of this tag; or null.


pageContext

protected PageContext pageContext
The PageContext.

Constructor Detail

TagSupport

public TagSupport()
Default constructor, all subclasses are required to define only a public constructor with the same signature, and to call the superclass constructor. This constructor is called by the code generated by the JSP translator.

Method Detail

findAncestorWithClass

public static final Tag findAncestorWithClass(Tag from,
                                              Class klass)
Find the instance of a given class type that is closest to a given instance. This method uses the getParent method from the Tag interface. This method is used for coordination among cooperating tags.

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.

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.

Parameters:
from - The instance from where to start looking.
klass - The subclass of Tag or interface to be matched
Returns:
the nearest ancestor that implements the interface or is an instance of the class specified

doStartTag

public int doStartTag()
               throws JspException
Default processing of the start tag, returning SKIP_BODY.

Specified by:
doStartTag in interface Tag
Returns:
SKIP_BODY
Throws:
JspException - if an error occurs while processing this tag
See Also:
Tag.doStartTag()

doEndTag

public int doEndTag()
             throws JspException
Default processing of the end tag returning EVAL_PAGE.

Specified by:
doEndTag in interface Tag
Returns:
EVAL_PAGE
Throws:
JspException - if an error occurs while processing this tag
See Also:
Tag.doEndTag()

doAfterBody

public int doAfterBody()
                throws JspException
Default processing for a body.

Specified by:
doAfterBody in interface IterationTag
Returns:
SKIP_BODY
Throws:
JspException - if an error occurs while processing this tag
See Also:
IterationTag.doAfterBody()

release

public void release()
Release state.

Specified by:
release in interface Tag
See Also:
Tag.release()

setParent

public void setParent(Tag t)
Set the nesting tag of this tag.

Specified by:
setParent in interface Tag
Parameters:
t - The parent Tag.
See Also:
Tag.setParent(Tag)

getParent

public Tag getParent()
The Tag instance most closely enclosing this tag instance.

Specified by:
getParent in interface Tag
Returns:
the parent tag instance or null
See Also:
Tag.getParent()

setId

public void setId(String id)
Set the id attribute for this tag.

Parameters:
id - The String for the id.

getId

public String getId()
The value of the id attribute of this tag; or null.

Returns:
the value of the id attribute, or null

setPageContext

public void setPageContext(PageContext pageContext)
Set the page context.

Specified by:
setPageContext in interface Tag
Parameters:
pageContext - The PageContext.
See Also:
Tag.setPageContext(javax.servlet.jsp.PageContext)

setValue

public void setValue(String k,
                     Object o)
Associate a value with a String key.

Parameters:
k - The key String.
o - The value to associate.

getValue

public Object getValue(String k)
Get a the value associated with a key.

Parameters:
k - The string key.
Returns:
The value associated with the key, or null.

removeValue

public void removeValue(String k)
Remove a value associated with a key.

Parameters:
k - The string key.

getValues

public Enumeration getValues()
Enumerate the keys for the values kept by this tag handler.

Returns:
An enumeration of all the keys for the values set, or null or an empty Enumeration if no values have been set.

JavaTM 2 Platform
Ent. Ed. v1.4

Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.