javax.servlet.jsp.tagext
Class TagAttributeInfo

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

public class TagAttributeInfo
extends java.lang.Object

Information on the attributes of a Tag, available at translation time. This class is instantiated from the Tag Library Descriptor file (TLD).

Only the information needed to generate code is included here. Other information like SCHEMA for validation belongs elsewhere.

Note from the Expert Group:
This should have been designed as an interface. Every time we change the TLD, we need to add a new constructor to this class (not good). This class should only be instantiated by container implementations (not by JSP developers).


Field Summary
private  boolean deferredMethod
           
private  boolean deferredValue
           
private  java.lang.String description
           
private  java.lang.String expectedTypeName
           
private  boolean fragment
           
static java.lang.String ID
          "id" is wired in to be ID.
private  java.lang.String methodSignature
           
private  java.lang.String name
           
private  boolean reqTime
           
private  boolean required
           
private  java.lang.String type
           
 
Constructor Summary
TagAttributeInfo(java.lang.String name, boolean required, java.lang.String type, boolean reqTime)
          Constructor for TagAttributeInfo.
TagAttributeInfo(java.lang.String name, boolean required, java.lang.String type, boolean reqTime, boolean fragment)
          JSP 2.0 Constructor for TagAttributeInfo.
TagAttributeInfo(java.lang.String name, boolean required, java.lang.String type, boolean reqTime, boolean fragment, java.lang.String description, boolean deferredValue, boolean deferredMethod, java.lang.String expectedTypeName, java.lang.String methodSignature)
          JSP 2.1 Constructor for TagAttributeInfo.
 
Method Summary
 boolean canBeRequestTime()
          Whether this attribute has been specified in the TLD as rtexprvalue.
 java.lang.String getDescription()
          Gets the description string of this tag attribute.
 java.lang.String getExpectedTypeName()
          Returns the name of the expected type (as a String) of this deferred value attribute.
static TagAttributeInfo getIdAttribute(TagAttributeInfo[] a)
          Convenience static method that goes through an array of TagAttributeInfo objects and looks for "id".
 java.lang.String getMethodSignature()
          Returns the expected method signature of this deferred method attribute.
 java.lang.String getName()
          The name of this attribute.
 java.lang.String getTypeName()
          The type (as a String) of this attribute.
 boolean isDeferredMethod()
          Returns true if this attribute is to be passed a MethodExpression so that expression evaluation can be deferred.
 boolean isDeferredValue()
          Returns true if this attribute is to be passed a ValueExpression so that expression evaluation can be deferred.
 boolean isFragment()
          Whether this attribute is of type JspFragment.
 boolean isRequired()
          Whether this attribute is required.
 java.lang.String toString()
          Returns a String representation of this TagAttributeInfo, suitable for debugging purposes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ID

public static final java.lang.String ID
"id" is wired in to be ID. There is no real benefit in having it be something else IDREFs are not handled any differently.

See Also:
Constant Field Values

name

private java.lang.String name

type

private java.lang.String type

reqTime

private boolean reqTime

required

private boolean required

fragment

private boolean fragment

deferredValue

private boolean deferredValue

deferredMethod

private boolean deferredMethod

expectedTypeName

private java.lang.String expectedTypeName

methodSignature

private java.lang.String methodSignature

description

private java.lang.String description
Constructor Detail

TagAttributeInfo

public TagAttributeInfo(java.lang.String name,
                        boolean required,
                        java.lang.String type,
                        boolean reqTime)
Constructor for TagAttributeInfo. 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).

Parameters:
name - The name of the attribute.
required - If this attribute is required in tag instances.
type - The name of the type of the attribute.
reqTime - Whether this attribute holds a request-time Attribute.

TagAttributeInfo

public TagAttributeInfo(java.lang.String name,
                        boolean required,
                        java.lang.String type,
                        boolean reqTime,
                        boolean fragment)
JSP 2.0 Constructor for TagAttributeInfo. 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).

Parameters:
name - The name of the attribute.
required - If this attribute is required in tag instances.
type - The name of the type of the attribute.
reqTime - Whether this attribute holds a request-time Attribute.
fragment - Whether this attribute is of type JspFragment
Since:
JSP 2.0

TagAttributeInfo

public TagAttributeInfo(java.lang.String name,
                        boolean required,
                        java.lang.String type,
                        boolean reqTime,
                        boolean fragment,
                        java.lang.String description,
                        boolean deferredValue,
                        boolean deferredMethod,
                        java.lang.String expectedTypeName,
                        java.lang.String methodSignature)
JSP 2.1 Constructor for TagAttributeInfo. 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).

Parameters:
name - The name of the attribute.
required - If this attribute is required in tag instances.
type - The name of the type of the attribute.
reqTime - Whether this attribute holds a request-time Attribute.
fragment - Whether this attribute is of type JspFragment
description - The description of the attribute.
deferredValue - Whether this attribute is a deferred value.
deferredMethod - Whether this attribute is a deferred method. rtexpr or deferred value.
expectedTypeName - The name of the expected type of this deferred value (or null if this is not a deferred value).
methodSignature - The expected method signature of this deferred method (or null if this is not a deferred method).
Since:
JSP 2.1
Method Detail

getName

public java.lang.String getName()
The name of this attribute.

Returns:
the name of the attribute

getTypeName

public java.lang.String getTypeName()
The type (as a String) of this attribute.

This method must return "javax.el.ValueExpression" if isDeferredValue() returns true and canBeRequestTime() returns false. It must return "javax.el.MethodExpression" if isDeferredMethod() returns true. It must return "java.lang.Object" if isDeferredValue() returns true and canBeRequestTime() returns true.

Returns:
the type of the attribute

canBeRequestTime

public boolean canBeRequestTime()
Whether this attribute has been specified in the TLD as rtexprvalue. If true, this means the attribute can hold a request-time value.

Returns:
true if the attribute has been specified in the TLD as rtexprvalue

isRequired

public boolean isRequired()
Whether this attribute is required.

Returns:
if the attribute is required.

getIdAttribute

public static TagAttributeInfo getIdAttribute(TagAttributeInfo[] a)
Convenience static method that goes through an array of TagAttributeInfo objects and looks for "id".

Parameters:
a - An array of TagAttributeInfo
Returns:
The TagAttributeInfo reference with name "id"

isFragment

public boolean isFragment()
Whether this attribute is of type JspFragment.

Returns:
if the attribute is of type JspFragment
Since:
JSP 2.0

getDescription

public java.lang.String getDescription()
Gets the description string of this tag attribute.

Returns:
the description string of this tag attribute

isDeferredValue

public boolean isDeferredValue()
Returns true if this attribute is to be passed a ValueExpression so that expression evaluation can be deferred.

If this method returns true, then getTypeName() must return "javax.el.ValueExpression".

The getExpectedType() method can be used to retrieve the expected type this value expression will be constructed with.

Returns:
true if this attribute accepts a deferred value; false otherwise.
Since:
JSP 2.1

isDeferredMethod

public boolean isDeferredMethod()
Returns true if this attribute is to be passed a MethodExpression so that expression evaluation can be deferred.

If this method returns true, then getTypeName() must return "javax.el.MethodExpression".

The getMethodSignature() method can be used to retrieve the expected method signature this method expression will be constructed with.

Returns:
true if this attribute accepts a deferred method; false otherwise.
Since:
JSP 2.1

getExpectedTypeName

public java.lang.String getExpectedTypeName()
Returns the name of the expected type (as a String) of this deferred value attribute.

This method returns null if isDeferredValue() returns false.

Returns:
the name of the expected type
Since:
JSP 2.1

getMethodSignature

public java.lang.String getMethodSignature()
Returns the expected method signature of this deferred method attribute.

This method returns null if isDeferredMethod() returns false.

Returns:
the method signature
Since:
JSP 2.1

toString

public java.lang.String toString()
Returns a String representation of this TagAttributeInfo, suitable for debugging purposes.

Overrides:
toString in class java.lang.Object
Returns:
a String representation of this TagAttributeInfo


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