Package org.apache.jasper.runtime

## Class TagHandlerPool

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

-     public class TagHandlerPool
      extends java.lang.Object

  Pool of tag handlers that can be reused.
  Author:
    Jan Luehe

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected InstanceManager` | `instanceManager` |
    `static java.lang.String` | `OPTION_MAXSIZE` |
    `static java.lang.String` | `OPTION_TAGPOOL` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TagHandlerPool()` | Constructs a tag handler pool with the default capacity.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Tag` | `get​(java.lang.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 java.lang.String` | `getOption​(ServletConfig config, java.lang.String name, java.lang.String defaultV)` |
    `static TagHandlerPool` | `getTagHandlerPool​(ServletConfig config)` |
    `protected void` | `init​(ServletConfig config)` |
    `void` | `release()` | 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 java.lang.Object

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

- - ### Field Detail

    - #### OPTION_TAGPOOL

          public static final java.lang.String OPTION_TAGPOOL

      See Also:
        Constant Field Values

    - #### OPTION_MAXSIZE

          public static final java.lang.String OPTION_MAXSIZE

      See Also:
        Constant Field Values

    - #### instanceManager

          protected InstanceManager instanceManager

  - ### Constructor Detail

    - #### TagHandlerPool

          public TagHandlerPool()

      Constructs a tag handler pool with the default capacity.

  - ### Method Detail

    - #### getTagHandlerPool

          public static TagHandlerPool getTagHandlerPool​(ServletConfig config)

    - #### init

          protected void init​(ServletConfig config)

    - #### get

          public Tag get​(java.lang.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 java.lang.String getOption​(ServletConfig config,
                                                      java.lang.String name,
                                                      java.lang.String defaultV)