# 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()`
  `String`
  `getExpectedTypeName()`
  `String`
  `getLocalName()`
  `String`
  `getName()`
  `Node.NamedAttribute`
  `getNamedAttributeNode()`
  Only makes sense if namedAttribute is true.
  `String[]`
  `getParameterTypeNames()`
  `TagAttributeInfo`
  `getTagAttributeInfo()`
  `String`
  `getURI()`
  `String`
  `getValue()`
  Only makes sense if namedAttribute is false.
  `boolean`
  `isDeferredInput()`
  `boolean`
  `isDeferredMethodInput()`
  `boolean`
  `isDynamic()`
  `boolean`
  `isELInterpreterInput()`
  `boolean`
  `isExpression()`
  `boolean`
  `isLiteral()`
  `boolean`
  `isNamedAttribute()`
  `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

  - ### getLocalName

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

  - ### getURI

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

  - ### getTagAttributeInfo

    public TagAttributeInfo getTagAttributeInfo()

  - ### isDeferredInput

    public boolean isDeferredInput()
    Returns:
      return true if there's TagAttributeInfo meaning we need to assign a ValueExpression

  - ### isDeferredMethodInput

    public boolean isDeferredMethodInput()
    Returns:
      return true if there's TagAttributeInfo meaning we need to assign a MethodExpression

  - ### getExpectedTypeName

    public String getExpectedTypeName()

  - ### getParameterTypeNames

    public String[] getParameterTypeNames()

  - ### getValue

    public String getValue()
    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()
    Only makes sense if namedAttribute is true.
    Returns:
      the nodes that evaluate to the body of this attribute.

  - ### isExpression

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

  - ### isNamedAttribute

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

  - ### isELInterpreterInput

    public boolean isELInterpreterInput()
    Returns:
      true if the value represents an expression that 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:
      true if the value is a string literal known at translation time.

  - ### isDynamic

    public boolean isDynamic()
    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()