Class TagHandlerPool

java.lang.Object
org.apache.jasper.runtime.TagHandlerPool

public class TagHandlerPool extends Object
Pool of tag handlers that can be reused.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected InstanceManager
    The instance manager used for tag handler creation.
    static final String
    Option name for the maximum pool size.
    static final String
    Option name for the tag pool class name.
    static final String
    Option name for using InstanceManager for tag creation.
    protected boolean
    Whether to use the instance manager for tag handler creation.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a tag handler pool with the default capacity.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(Class<? extends Tag> handlerClass)
    Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
    protected static String
    getOption(ServletConfig config, String name, String defaultV)
    Retrieves a configuration option from the given servlet config, falling back to the servlet context init parameter, then to the default value.
    Creates or retrieves a TagHandlerPool for the given servlet configuration.
    protected void
    Initializes this pool with settings from the given servlet configuration.
    void
    Calls the release() method of all available tag handlers in this tag handler pool.
    void
    reuse(Tag handler)
    Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OPTION_TAGPOOL

      public static final String OPTION_TAGPOOL
      Option name for the tag pool class name.
      See Also:
    • OPTION_MAXSIZE

      public static final String OPTION_MAXSIZE
      Option name for the maximum pool size.
      See Also:
    • OPTION_USEIMFORTAGS

      public static final String OPTION_USEIMFORTAGS
      Option name for using InstanceManager for tag creation.
      See Also:
    • instanceManager

      protected InstanceManager instanceManager
      The instance manager used for tag handler creation.
    • useInstanceManagerForTags

      protected boolean useInstanceManagerForTags
      Whether to use the instance manager for tag handler creation.
  • Constructor Details

    • TagHandlerPool

      public TagHandlerPool()
      Constructs a tag handler pool with the default capacity.
  • Method Details

    • getTagHandlerPool

      public static TagHandlerPool getTagHandlerPool(ServletConfig config)
      Creates or retrieves a TagHandlerPool for the given servlet configuration.
      Parameters:
      config - the servlet configuration
      Returns:
      the tag handler pool instance
    • init

      protected void init(ServletConfig config)
      Initializes this pool with settings from the given servlet configuration.
      Parameters:
      config - the servlet configuration
    • get

      public Tag get(Class<? extends Tag> handlerClass) throws JspException
      Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
      Parameters:
      handlerClass - Tag handler class
      Returns:
      Reused or newly instantiated tag handler
      Throws:
      JspException - if a tag handler cannot be instantiated
    • reuse

      public void reuse(Tag handler)
      Adds the given tag handler to this tag handler pool, unless this tag handler pool has already reached its capacity, in which case the tag handler's release() method is called.
      Parameters:
      handler - Tag handler to add to this tag handler pool
    • release

      public void release()
      Calls the release() method of all available tag handlers in this tag handler pool.
    • getOption

      protected static String getOption(ServletConfig config, String name, String defaultV)
      Retrieves a configuration option from the given servlet config, falling back to the servlet context init parameter, then to the default value.
      Parameters:
      config - the servlet configuration
      name - the option name
      defaultV - the default value if not found
      Returns:
      the option value or the default