Class Node.CustomTag

All Implemented Interfaces:
TagConstants
Enclosing class:
Node

public static class Node.CustomTag extends Node.ChildInfoBase
Represents a custom tag
  • Method Details

    • accept

      public void accept(Node.Visitor v) throws JasperException
      Throws:
      JasperException
    • getURI

      public String getURI()
      Returns the URI namespace that this custom action belongs to.
      Returns:
      The URI namespace
    • getPrefix

      public String getPrefix()
      Returns the tag prefix.
      Returns:
      The tag prefix
    • setJspAttributes

      public void setJspAttributes(Node.JspAttribute[] jspAttrs)
      Sets the JSP attributes for this custom tag.
      Parameters:
      jspAttrs - The JSP attributes
    • getJspAttributes

      public Node.JspAttribute[] getJspAttributes()
      Returns the JSP attributes for this custom tag.
      Returns:
      The JSP attributes
    • setTagData

      public void setTagData(TagData tagData)
      Sets the tag data for this custom tag.
      Parameters:
      tagData - The tag data
    • getTagData

      public TagData getTagData()
      Returns the tag data for this custom tag.
      Returns:
      The tag data
    • setTagHandlerPoolName

      public void setTagHandlerPoolName(String s)
      Sets the tag handler pool name.
      Parameters:
      s - The tag handler pool name
    • getTagHandlerPoolName

      public String getTagHandlerPoolName()
      Returns the tag handler pool name.
      Returns:
      The tag handler pool name
    • getTagInfo

      public TagInfo getTagInfo()
      Returns the tag information for this custom tag.
      Returns:
      The tag info
    • getTagFileInfo

      public TagFileInfo getTagFileInfo()
      Returns the tag file information for this custom tag.
      Returns:
      The tag file info, or null if not a tag file
    • isTagFile

      public boolean isTagFile()
      Returns whether this custom action is supported by a tag file.
      Returns:
      true if this custom action is supported by a tag file, false otherwise
    • getTagHandlerClass

      public Class<?> getTagHandlerClass()
      Returns the tag handler class.
      Returns:
      The tag handler class
    • setTagHandlerClass

      public void setTagHandlerClass(Class<?> hc)
      Sets the tag handler class.
      Parameters:
      hc - The tag handler class
    • implementsIterationTag

      public boolean implementsIterationTag()
      Returns whether the tag handler implements IterationTag.
      Returns:
      true if the tag handler implements IterationTag
    • implementsBodyTag

      public boolean implementsBodyTag()
      Returns whether the tag handler implements BodyTag.
      Returns:
      true if the tag handler implements BodyTag
    • implementsTryCatchFinally

      public boolean implementsTryCatchFinally()
      Returns whether the tag handler implements TryCatchFinally.
      Returns:
      true if the tag handler implements TryCatchFinally
    • implementsJspIdConsumer

      public boolean implementsJspIdConsumer()
      Returns whether the tag handler implements JspIdConsumer.
      Returns:
      true if the tag handler implements JspIdConsumer
    • implementsSimpleTag

      public boolean implementsSimpleTag()
      Returns whether the tag handler implements SimpleTag.
      Returns:
      true if the tag handler implements SimpleTag
    • implementsDynamicAttributes

      public boolean implementsDynamicAttributes()
      Returns whether the tag handler implements DynamicAttributes.
      Returns:
      true if the tag handler implements DynamicAttributes
    • getTagVariableInfos

      public TagVariableInfo[] getTagVariableInfos()
      Returns the tag variable information from the tag info.
      Returns:
      The tag variable info array
    • getVariableInfos

      public VariableInfo[] getVariableInfos()
      Returns the variable information computed from the tag data.
      Returns:
      The variable info array
    • setCustomTagParent

      public void setCustomTagParent(Node.CustomTag n)
      Sets the parent custom tag.
      Parameters:
      n - The parent custom tag
    • getCustomTagParent

      public Node.CustomTag getCustomTagParent()
      Returns the parent custom tag.
      Returns:
      The parent custom tag
    • setNumCount

      public void setNumCount(Integer count)
      Sets the number count for this custom tag.
      Parameters:
      count - The number count
    • getNumCount

      public Integer getNumCount()
      Returns the number count for this custom tag.
      Returns:
      The number count
    • setScriptingVars

      public void setScriptingVars(List<Object> vec, int scope)
      Sets the scripting variables for the given scope.
      Parameters:
      vec - The list of scripting variables
      scope - The variable scope (AT_BEGIN, AT_END, or NESTED)
      Throws:
      IllegalArgumentException - if the scope is invalid
    • getScriptingVars

      public List<Object> getScriptingVars(int scope)
      Gets the scripting variables for the given scope that need to be declared.
      Parameters:
      scope - The variable scope (AT_BEGIN, AT_END, or NESTED)
      Returns:
      The list of scripting variables for the given scope
      Throws:
      IllegalArgumentException - if the scope is invalid
    • getCustomNestingLevel

      public int getCustomNestingLevel()
      Gets this custom tag's custom nesting level, which is given as the number of times this custom tag is nested inside itself.
      Returns:
      The custom nesting level
    • checkIfAttributeIsJspFragment

      public boolean checkIfAttributeIsJspFragment(String name)
      Checks to see if the attribute of the given name is of type JspFragment.
      Parameters:
      name - The attribute to check
      Returns:
      true if it is a JspFragment
    • setUseTagPlugin

      public void setUseTagPlugin(boolean use)
      Sets whether to use a tag plugin for this custom tag.
      Parameters:
      use - true to use a tag plugin
    • useTagPlugin

      public boolean useTagPlugin()
      Returns whether a tag plugin is used for this custom tag.
      Returns:
      true if a tag plugin is used
    • setTagPluginContext

      public void setTagPluginContext(TagPluginContext tagPluginContext)
      Sets the tag plugin context for this custom tag.
      Parameters:
      tagPluginContext - The tag plugin context
    • getTagPluginContext

      public TagPluginContext getTagPluginContext()
      Returns the tag plugin context for this custom tag.
      Returns:
      The tag plugin context
    • setAtSTag

      public void setAtSTag(Node.Nodes sTag)
      Sets the nodes generated at the start tag by a tag plugin.
      Parameters:
      sTag - The start tag nodes
    • getAtSTag

      public Node.Nodes getAtSTag()
      Returns the nodes generated at the start tag by a tag plugin.
      Returns:
      The start tag nodes
    • setAtETag

      public void setAtETag(Node.Nodes eTag)
      Sets the nodes generated at the end tag by a tag plugin.
      Parameters:
      eTag - The end tag nodes
    • getAtETag

      public Node.Nodes getAtETag()
      Returns the nodes generated at the end tag by a tag plugin.
      Returns:
      The end tag nodes
    • hasEmptyBody

      public boolean hasEmptyBody()
      A custom action is considered to have an empty body if any of the following hold true:
      • getBody() returns null
      • all immediate children are jsp:attribute actions
      • the action's jsp:body is empty
      Returns:
      true if this custom action has an empty body, and false otherwise.