javax.servlet.jsp.tagext
Class TagInfo

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagInfo

public class TagInfo
extends java.lang.Object

Tag information for a tag in a Tag Library; This class is instantiated from the Tag Library Descriptor file (TLD) and is available only at translation time.


Field Summary
private  TagAttributeInfo[] attributeInfo
           
static java.lang.String BODY_CONTENT_EMPTY
          Static constant for getBodyContent() when it is empty.
static java.lang.String BODY_CONTENT_JSP
          Static constant for getBodyContent() when it is JSP.
static java.lang.String BODY_CONTENT_SCRIPTLESS
          Static constant for getBodyContent() when it is scriptless.
static java.lang.String BODY_CONTENT_TAG_DEPENDENT
          Static constant for getBodyContent() when it is Tag dependent.
private  java.lang.String bodyContent
           
private  java.lang.String displayName
           
private  boolean dynamicAttributes
           
private  java.lang.String infoString
           
private  java.lang.String largeIcon
           
private  java.lang.String smallIcon
           
private  java.lang.String tagClassName
           
private  TagExtraInfo tagExtraInfo
           
private  TagLibraryInfo tagLibrary
           
private  java.lang.String tagName
           
private  TagVariableInfo[] tagVariableInfo
           
 
Constructor Summary
TagInfo(java.lang.String tagName, java.lang.String tagClassName, java.lang.String bodycontent, java.lang.String infoString, TagLibraryInfo taglib, TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo)
          Constructor for TagInfo from data in the JSP 1.1 format for TLD.
TagInfo(java.lang.String tagName, java.lang.String tagClassName, java.lang.String bodycontent, java.lang.String infoString, TagLibraryInfo taglib, TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo, java.lang.String displayName, java.lang.String smallIcon, java.lang.String largeIcon, TagVariableInfo[] tvi)
          Constructor for TagInfo from data in the JSP 1.2 format for TLD.
TagInfo(java.lang.String tagName, java.lang.String tagClassName, java.lang.String bodycontent, java.lang.String infoString, TagLibraryInfo taglib, TagExtraInfo tagExtraInfo, TagAttributeInfo[] attributeInfo, java.lang.String displayName, java.lang.String smallIcon, java.lang.String largeIcon, TagVariableInfo[] tvi, boolean dynamicAttributes)
          Constructor for TagInfo from data in the JSP 2.0 format for TLD.
 
Method Summary
 TagAttributeInfo[] getAttributes()
          Attribute information (in the TLD) on this tag.
 java.lang.String getBodyContent()
          The bodycontent information for this tag.
 java.lang.String getDisplayName()
          Get the displayName.
 java.lang.String getInfoString()
          The information string for the tag.
 java.lang.String getLargeIcon()
          Get the path to the large icon.
 java.lang.String getSmallIcon()
          Get the path to the small icon.
 java.lang.String getTagClassName()
          Name of the class that provides the handler for this tag.
 TagExtraInfo getTagExtraInfo()
          The instance (if any) for extra tag information.
 TagLibraryInfo getTagLibrary()
          The instance of TabLibraryInfo we belong to.
 java.lang.String getTagName()
          The name of the Tag.
 TagVariableInfo[] getTagVariableInfos()
          Get TagVariableInfo objects associated with this TagInfo.
 VariableInfo[] getVariableInfo(TagData data)
          Information on the scripting objects created by this tag at runtime.
 boolean hasDynamicAttributes()
          Get dynamicAttributes associated with this TagInfo.
 boolean isValid(TagData data)
          Translation-time validation of the attributes.
 void setTagExtraInfo(TagExtraInfo tei)
          Set the instance for extra tag information.
 void setTagLibrary(TagLibraryInfo tl)
          Set the TagLibraryInfo property.
 ValidationMessage[] validate(TagData data)
          Translation-time validation of the attributes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BODY_CONTENT_JSP

public static final java.lang.String BODY_CONTENT_JSP
Static constant for getBodyContent() when it is JSP.

See Also:
Constant Field Values

BODY_CONTENT_TAG_DEPENDENT

public static final java.lang.String BODY_CONTENT_TAG_DEPENDENT
Static constant for getBodyContent() when it is Tag dependent.

See Also:
Constant Field Values

BODY_CONTENT_EMPTY

public static final java.lang.String BODY_CONTENT_EMPTY
Static constant for getBodyContent() when it is empty.

See Also:
Constant Field Values

BODY_CONTENT_SCRIPTLESS

public static final java.lang.String BODY_CONTENT_SCRIPTLESS
Static constant for getBodyContent() when it is scriptless.

Since:
JSP 2.0
See Also:
Constant Field Values

tagName

private java.lang.String tagName

tagClassName

private java.lang.String tagClassName

bodyContent

private java.lang.String bodyContent

infoString

private java.lang.String infoString

tagLibrary

private TagLibraryInfo tagLibrary

tagExtraInfo

private TagExtraInfo tagExtraInfo

attributeInfo

private TagAttributeInfo[] attributeInfo

displayName

private java.lang.String displayName

smallIcon

private java.lang.String smallIcon

largeIcon

private java.lang.String largeIcon

tagVariableInfo

private TagVariableInfo[] tagVariableInfo

dynamicAttributes

private boolean dynamicAttributes
Constructor Detail

TagInfo

public TagInfo(java.lang.String tagName,
               java.lang.String tagClassName,
               java.lang.String bodycontent,
               java.lang.String infoString,
               TagLibraryInfo taglib,
               TagExtraInfo tagExtraInfo,
               TagAttributeInfo[] attributeInfo)
Constructor for TagInfo from data in the JSP 1.1 format for TLD. This class is to be instantiated only from the TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since TagLibibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on a taglib directive. This is probably a design error, which may be fixed in the future.

Parameters:
tagName - The name of this tag
tagClassName - The name of the tag handler class
bodycontent - Information on the body content of these tags
infoString - The (optional) string information for this tag
taglib - The instance of the tag library that contains us.
tagExtraInfo - The instance providing extra Tag info. May be null
attributeInfo - An array of AttributeInfo data from descriptor. May be null;

TagInfo

public TagInfo(java.lang.String tagName,
               java.lang.String tagClassName,
               java.lang.String bodycontent,
               java.lang.String infoString,
               TagLibraryInfo taglib,
               TagExtraInfo tagExtraInfo,
               TagAttributeInfo[] attributeInfo,
               java.lang.String displayName,
               java.lang.String smallIcon,
               java.lang.String largeIcon,
               TagVariableInfo[] tvi)
Constructor for TagInfo from data in the JSP 1.2 format for TLD. This class is to be instantiated only from the TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since TagLibibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on a taglib directive. This is probably a design error, which may be fixed in the future.

Parameters:
tagName - The name of this tag
tagClassName - The name of the tag handler class
bodycontent - Information on the body content of these tags
infoString - The (optional) string information for this tag
taglib - The instance of the tag library that contains us.
tagExtraInfo - The instance providing extra Tag info. May be null
attributeInfo - An array of AttributeInfo data from descriptor. May be null;
displayName - A short name to be displayed by tools
smallIcon - Path to a small icon to be displayed by tools
largeIcon - Path to a large icon to be displayed by tools
tvi - An array of a TagVariableInfo (or null)

TagInfo

public TagInfo(java.lang.String tagName,
               java.lang.String tagClassName,
               java.lang.String bodycontent,
               java.lang.String infoString,
               TagLibraryInfo taglib,
               TagExtraInfo tagExtraInfo,
               TagAttributeInfo[] attributeInfo,
               java.lang.String displayName,
               java.lang.String smallIcon,
               java.lang.String largeIcon,
               TagVariableInfo[] tvi,
               boolean dynamicAttributes)
Constructor for TagInfo from data in the JSP 2.0 format for TLD. This class is to be instantiated only from the TagLibrary code under request from some JSP code that is parsing a TLD (Tag Library Descriptor). Note that, since TagLibibraryInfo reflects both TLD information and taglib directive information, a TagInfo instance is dependent on a taglib directive. This is probably a design error, which may be fixed in the future.

Parameters:
tagName - The name of this tag
tagClassName - The name of the tag handler class
bodycontent - Information on the body content of these tags
infoString - The (optional) string information for this tag
taglib - The instance of the tag library that contains us.
tagExtraInfo - The instance providing extra Tag info. May be null
attributeInfo - An array of AttributeInfo data from descriptor. May be null;
displayName - A short name to be displayed by tools
smallIcon - Path to a small icon to be displayed by tools
largeIcon - Path to a large icon to be displayed by tools
tvi - An array of a TagVariableInfo (or null)
dynamicAttributes - True if supports dynamic attributes
Since:
JSP 2.0
Method Detail

getTagName

public java.lang.String getTagName()
The name of the Tag.

Returns:
The (short) name of the tag.

getAttributes

public TagAttributeInfo[] getAttributes()
Attribute information (in the TLD) on this tag. The return is an array describing the attributes of this tag, as indicated in the TLD.

Returns:
The array of TagAttributeInfo for this tag, or a zero-length array if the tag has no attributes.

getVariableInfo

public VariableInfo[] getVariableInfo(TagData data)
Information on the scripting objects created by this tag at runtime. This is a convenience method on the associated TagExtraInfo class.

Parameters:
data - TagData describing this action.
Returns:
if a TagExtraInfo object is associated with this TagInfo, the result of getTagExtraInfo().getVariableInfo( data ), otherwise null.

isValid

public boolean isValid(TagData data)
Translation-time validation of the attributes. This is a convenience method on the associated TagExtraInfo class.

Parameters:
data - The translation-time TagData instance.
Returns:
Whether the data is valid.

validate

public ValidationMessage[] validate(TagData data)
Translation-time validation of the attributes. This is a convenience method on the associated TagExtraInfo class.

Parameters:
data - The translation-time TagData instance.
Returns:
A null object, or zero length array if no errors, an array of ValidationMessages otherwise.
Since:
JSP 2.0

setTagExtraInfo

public void setTagExtraInfo(TagExtraInfo tei)
Set the instance for extra tag information.

Parameters:
tei - the TagExtraInfo instance

getTagExtraInfo

public TagExtraInfo getTagExtraInfo()
The instance (if any) for extra tag information.

Returns:
The TagExtraInfo instance, if any.

getTagClassName

public java.lang.String getTagClassName()
Name of the class that provides the handler for this tag.

Returns:
The name of the tag handler class.

getBodyContent

public java.lang.String getBodyContent()
The bodycontent information for this tag. If the bodycontent is not defined for this tag, the default of JSP will be returned.

Returns:
the body content string.

getInfoString

public java.lang.String getInfoString()
The information string for the tag.

Returns:
the info string, or null if not defined

setTagLibrary

public void setTagLibrary(TagLibraryInfo tl)
Set the TagLibraryInfo property. Note that a TagLibraryInfo element is dependent not just on the TLD information but also on the specific taglib instance used. This means that a fair amount of work needs to be done to construct and initialize TagLib objects. If used carefully, this setter can be used to avoid having to create new TagInfo elements for each taglib directive.

Parameters:
tl - the TagLibraryInfo to assign

getTagLibrary

public TagLibraryInfo getTagLibrary()
The instance of TabLibraryInfo we belong to.

Returns:
the tag library instance we belong to

getDisplayName

public java.lang.String getDisplayName()
Get the displayName.

Returns:
A short name to be displayed by tools, or null if not defined

getSmallIcon

public java.lang.String getSmallIcon()
Get the path to the small icon.

Returns:
Path to a small icon to be displayed by tools, or null if not defined

getLargeIcon

public java.lang.String getLargeIcon()
Get the path to the large icon.

Returns:
Path to a large icon to be displayed by tools, or null if not defined

getTagVariableInfos

public TagVariableInfo[] getTagVariableInfos()
Get TagVariableInfo objects associated with this TagInfo.

Returns:
Array of TagVariableInfo objects corresponding to variables declared by this tag, or a zero length array if no variables have been declared

hasDynamicAttributes

public boolean hasDynamicAttributes()
Get dynamicAttributes associated with this TagInfo.

Returns:
True if tag handler supports dynamic attributes
Since:
JSP 2.0


Portions Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved. Portions Copyright © 2005 Sun Microsystems Inc. All Rights Reserved