Node.JspAttribute (Apache Tomcat 11.0.24 API Documentation)
Description: declaration: package: org.apache.jasper.compiler, class: Node, class: JspAttribute

# Class Node.JspAttribute

java.lang.Object
org.apache.jasper.compiler.Node.JspAttribute

Enclosing class:
  `Node`

public static class Node.JspAttribute extends Object
Represents attributes that can be request time expressions. Can either be a plain attribute, an attribute that represents a request time expression value, or a named attribute (specified using the jsp:attribute standard action).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ELNode.Nodes`
  `getEL()`
  Returns the EL expression nodes for this attribute.
  `String`
  `getExpectedTypeName()`
  Returns the expected type name for this attribute.
  `String`
  `getLocalName()`
  Returns the local name of the attribute.
  `String`
  `getName()`
  Returns the name of the attribute.
  `Node.NamedAttribute`
  `getNamedAttributeNode()`
  Returns the named attribute node.
  `String[]`
  `getParameterTypeNames()`
  Returns the parameter type names for a deferred method expression.
  `TagAttributeInfo`
  `getTagAttributeInfo()`
  Returns the TagAttributeInfo for this attribute.
  `String`
  `getURI()`
  Returns the namespace of the attribute.
  `String`
  `getValue()`
  Returns the value for the attribute.
  `boolean`
  `isDeferredInput()`
  Returns whether this is a deferred value expression input.
  `boolean`
  `isDeferredMethodInput()`
  Returns whether this is a deferred method expression input.
  `boolean`
  `isDynamic()`
  Returns whether the attribute is a "dynamic" attribute of a custom tag that implements DynamicAttributes interface.
  `boolean`
  `isELInterpreterInput()`
  Returns whether the value represents an expression that should be fed to the expression interpreter.
  `boolean`
  `isExpression()`
  Returns whether the value represents a traditional rtexprvalue.
  `boolean`
  `isLiteral()`
  Returns whether the value is a string literal known at translation time.
  `boolean`
  `isNamedAttribute()`
  Returns whether the value represents a NamedAttribute value.
  `void`
  `validateEL(ExpressionFactory ef, ELContext ctx)`
  Allow node to validate itself.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### validateEL

    public void validateEL(ExpressionFactory ef, ELContext ctx) throws ELException
    Allow node to validate itself.
    Parameters:
      `ef` - The expression factory to use to evaluate any EL
      `ctx` - The context to use to evaluate any EL
    Throws:
      `ELException` - If validation fails

  - ### getName

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

  - ### getLocalName

    public String getLocalName()
    Returns the local name of the attribute.
    Returns:
      The local name of the attribute

  - ### getURI

    public String getURI()
    Returns the namespace of the attribute.
    Returns:
      The namespace of the attribute, or `null` if in the default namespace

  - ### getTagAttributeInfo

    public TagAttributeInfo getTagAttributeInfo()
    Returns the TagAttributeInfo for this attribute.
    Returns:
      The TagAttributeInfo, or `null` if not available

  - ### isDeferredInput

    public boolean isDeferredInput()
    Returns whether this is a deferred value expression input.
    Returns:
      `true` if there's TagAttributeInfo meaning we need to assign a ValueExpression

  - ### isDeferredMethodInput

    public boolean isDeferredMethodInput()
    Returns whether this is a deferred method expression input.
    Returns:
      `true` if there's TagAttributeInfo meaning we need to assign a MethodExpression

  - ### getExpectedTypeName

    public String getExpectedTypeName()
    Returns the expected type name for this attribute.
    Returns:
      The expected type name, or "java.lang.Object" as default

  - ### getParameterTypeNames

    public String[] getParameterTypeNames()
    Returns the parameter type names for a deferred method expression.
    Returns:
      Array of parameter type names, or empty array if not applicable

  - ### getValue

    public String getValue()
    Returns the value for the attribute. Only makes sense if namedAttribute is false.
    Returns:
      The value for the attribute, or the expression string (stripped of "<%=", "%>", "%=", or "%" but containing "${" and "}" for EL expressions)

  - ### getNamedAttributeNode

    public Node.NamedAttribute getNamedAttributeNode()
    Returns the named attribute node. Only makes sense if namedAttribute is true.
    Returns:
      The nodes that evaluate to the body of this attribute

  - ### isExpression

    public boolean isExpression()
    Returns whether the value represents a traditional rtexprvalue.
    Returns:
      `true` if the value represents a traditional rtexprvalue

  - ### isNamedAttribute

    public boolean isNamedAttribute()
    Returns whether the value represents a NamedAttribute value.
    Returns:
      `true` if the value represents a NamedAttribute value

  - ### isELInterpreterInput

    public boolean isELInterpreterInput()
    Returns whether the value represents an expression that should be fed to the expression interpreter.
    Returns:
      `true` if the value should be fed to the expression interpreter; `false` for string literals or rtexprvalues that should not be interpreted or reevaluated

  - ### isLiteral

    public boolean isLiteral()
    Returns whether the value is a string literal known at translation time.
    Returns:
      `true` if the value is a string literal known at translation time

  - ### isDynamic

    public boolean isDynamic()
    Returns whether the attribute is a "dynamic" attribute of a custom tag that implements DynamicAttributes interface.
    Returns:
      `true` if the attribute is a "dynamic" attribute of a custom tag that implements DynamicAttributes interface. That is, a random extra attribute that is not declared by the tag

  - ### getEL

    public ELNode.Nodes getEL()
    Returns the EL expression nodes for this attribute.
    Returns:
      The EL nodes, or `null` if not an EL expression