# Class TagAttributeInfo

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

public class TagAttributeInfo extends 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.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ID`
  "id" is wired in to be ID.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TagAttributeInfo(String name, boolean required, String type, boolean reqTime)`
  Constructor for TagAttributeInfo.
  `TagAttributeInfo(String name, boolean required, String type, boolean reqTime, boolean fragment)`
  JSP 2.0 Constructor for TagAttributeInfo.
  `TagAttributeInfo(String name, boolean required, String type, boolean reqTime, boolean fragment, String description, boolean deferredValue, boolean deferredMethod, String expectedTypeName, String methodSignature)`
  JSP 2.1 Constructor for TagAttributeInfo.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canBeRequestTime()`
  Whether this attribute can hold a request-time value.
  `String`
  `getDescription()`
  Obtain the description for the attribute,
  `String`
  `getExpectedTypeName()`
  Obtain the type name, as a string, expected by this attribute.
  `static TagAttributeInfo`
  `getIdAttribute(TagAttributeInfo[] tagAttributeInfos)`
  Convenience static method that goes through an array of TagAttributeInfo objects and looks for "id".
  `String`
  `getMethodSignature()`
  If this is a deferred method attribute, obtain the expected method signature.
  `String`
  `getName()`
  The name of this attribute.
  `String`
  `getTypeName()`
  The type (as a String) of this attribute.
  `boolean`
  `isDeferredMethod()`
  Does the attribute expect to be passed a deferred method?
  `boolean`
  `isDeferredValue()`
  Does the attribute expect to be passed a deferred value?
  `boolean`
  `isFragment()`
  Whether this attribute is of type JspFragment.
  `boolean`
  `isRequired()`
  Whether this attribute is required.
  `String`
  `toString()`
  Returns a String representation of this TagAttributeInfo, suitable for debugging purposes.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### ID

    public static final 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

- ## Constructor Details

  - ### TagAttributeInfo

    public TagAttributeInfo(String name, boolean required, 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(String name, boolean required, 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(String name, boolean required, String type, boolean reqTime, boolean fragment, String description, boolean deferredValue, boolean deferredMethod, String expectedTypeName, 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` - Description of this attribute
      `deferredValue` - Does this attribute accept value expressions (written as Strings) as attribute values the evaluation of which is deferred until calculated by the tag
      `deferredMethod` - Does this attribute accept method expressions (written as Strings) as attribute values the evaluation of which is deferred until calculated by the tag
      `expectedTypeName` - The expected type when the deferred value is evaluated
      `methodSignature` - The expected method signature if a deferred method
    Since:
      JSP 2.1

- ## Method Details

  - ### getName

    public String getName()
    The name of this attribute.
    Returns:
      the name of the attribute

  - ### getTypeName

    public String getTypeName()
    The type (as a String) of this attribute.
    Returns:
      the type of the attribute

  - ### canBeRequestTime

    public boolean canBeRequestTime()
    Whether this attribute can hold a request-time value.
    Returns:
      if the attribute can hold a request-time value.

  - ### isRequired

    public boolean isRequired()
    Whether this attribute is required.
    Returns:
      if the attribute is required.

  - ### getIdAttribute

    public static TagAttributeInfo getIdAttribute(TagAttributeInfo[] tagAttributeInfos)
    Convenience static method that goes through an array of TagAttributeInfo objects and looks for "id".
    Parameters:
      `tagAttributeInfos` - 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

  - ### toString

    public String toString()
    Returns a String representation of this TagAttributeInfo, suitable for debugging purposes.
    Overrides:
      `toString` in class `Object`
    Returns:
      a String representation of this TagAttributeInfo

  - ### isDeferredMethod

    public boolean isDeferredMethod()
    Does the attribute expect to be passed a deferred method?
    Returns:
      `true` if a deferred method expression is expected, otherwise `false`

  - ### isDeferredValue

    public boolean isDeferredValue()
    Does the attribute expect to be passed a deferred value?
    Returns:
      `true` if a deferred value expression is expected, otherwise `false`

  - ### getDescription

    public String getDescription()
    Obtain the description for the attribute,
    Returns:
      the description

  - ### getExpectedTypeName

    public String getExpectedTypeName()
    Obtain the type name, as a string, expected by this attribute.
    Returns:
      the type name, as a string

  - ### getMethodSignature

    public String getMethodSignature()
    If this is a deferred method attribute, obtain the expected method signature.
    Returns:
      The expected method signature or `null` if this attribute is not a deferred method attribute