Class TagAttribute

java.lang.Object
jakarta.faces.view.facelets.TagAttribute
Direct Known Subclasses:
TagAttributeImpl

public abstract class TagAttribute extends Object

Representation of an XML attribute name=value pair on an XML element in a Facelet file.

Since:
2.0
  • Constructor Details

    • TagAttribute

      public TagAttribute()
  • Method Details

    • getBoolean

      public abstract boolean getBoolean(FaceletContext ctx)

      If literal,return Boolean.valueOf(java.lang.String) passing our value, otherwise call getObject(FaceletContext, Class).

      Parameters:
      ctx - FaceletContext to use
      Returns:
      boolean value
      See Also:
    • getInt

      public abstract int getInt(FaceletContext ctx)
      Parameters:
      ctx - FaceletContext to use
      Returns:
      int value
      See Also:
    • getLocalName

      public abstract String getLocalName()
      Local name of this attribute
      Returns:
      local name of this attribute
    • getLocation

      public abstract Location getLocation()
      The location of this attribute in the FaceletContext
      Returns:
      the TagAttribute's location
    • getMethodExpression

      public abstract jakarta.el.MethodExpression getMethodExpression(FaceletContext ctx, Class type, Class[] paramTypes)
      Create a MethodExpression, using this attribute's value as the expression String.
      Parameters:
      ctx - FaceletContext to use
      type - expected return type
      paramTypes - parameter type
      Returns:
      a MethodExpression instance
      See Also:
      • ExpressionFactory.createMethodExpression(jakarta.el.ELContext, java.lang.String, java.lang.Class, java.lang.Class[])
      • MethodExpression
    • getNamespace

      public abstract String getNamespace()
      The resolved Namespace for this attribute
      Returns:
      resolved Namespace
    • getObject

      public abstract Object getObject(FaceletContext ctx)
      Delegates to getObject with Object.class as a param
      Parameters:
      ctx - FaceletContext to use
      Returns:
      Object representation of this attribute's value
      See Also:
    • getQName

      public abstract String getQName()
      The qualified name for this attribute
      Returns:
      the qualified name for this attribute
    • getValue

      public abstract String getValue()
      Return the literal value of this attribute
      Returns:
      literal value
    • getValue

      public abstract String getValue(FaceletContext ctx)
      If literal, then return our value, otherwise delegate to getObject, passing String.class.
      Parameters:
      ctx - FaceletContext to use
      Returns:
      String value of this attribute
      See Also:
    • getObject

      public abstract Object getObject(FaceletContext ctx, Class type)
      If literal, simply coerce our String literal value using an ExpressionFactory, otherwise create a ValueExpression and evaluate it.
      Parameters:
      ctx - FaceletContext to use
      type - expected return type
      Returns:
      Object value of this attribute
      See Also:
      • ExpressionFactory.coerceToType(java.lang.Object, java.lang.Class)
      • ExpressionFactory.createValueExpression(jakarta.el.ELContext, java.lang.String, java.lang.Class)
      • ValueExpression
    • getValueExpression

      public abstract jakarta.el.ValueExpression getValueExpression(FaceletContext ctx, Class type)
      Create a ValueExpression, using this attribute's literal value and the passed expected type.
      Parameters:
      ctx - FaceletContext to use.
      type - expected return type.
      Returns:
      the ValueExpression.
      See Also:
      • ExpressionFactory.createValueExpression(jakarta.el.ELContext, java.lang.String, java.lang.Class)
      • ValueExpression
    • isLiteral

      public abstract boolean isLiteral()
      If this TagAttribute is literal (not #{..} or ${..})
      Returns:
      true if this attribute is literal.
    • getTag

      public Tag getTag()

      A reference to the Tag for which this class represents the attributes. For compatibility with previous implementations, an implementation is provided that returns null.

      Returns:
      the Tag for which this class represents the attributes.
      Since:
      2.2
    • setTag

      public void setTag(Tag tag)

      Set a reference to the Tag for which this class represents the attributes. The VDL runtime must ensure that this method is called before any FaceletHandlers for this element are instantiated. For compatibility with previous implementations, a no-op implementation is provided.

      Parameters:
      tag - the tag we represent.
      Since:
      2.2