Package org.apache.jasper.runtime

## Class TagHandlerPool

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

    public class TagHandlerPool
    extends Object

Pool of tag handlers that can be reused.

Author:
  Jan Luehe

### Field Summary

Fields
`protected InstanceManager` `instanceManager`
`static String` `OPTION_MAXSIZE`
`static String` `OPTION_TAGPOOL`
`static String` `OPTION_USEIMFORTAGS`
`protected boolean` `useInstanceManagerForTags`

### Constructor Summary

Constructors
`TagHandlerPool()` Constructs a tag handler pool with the default capacity.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Tag` `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)`
`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 String OPTION_TAGPOOL

See Also:
  Constant Field Values

#### OPTION_MAXSIZE

    public static final String OPTION_MAXSIZE

See Also:
  Constant Field Values

#### OPTION_USEIMFORTAGS

    public static final String OPTION_USEIMFORTAGS

See Also:
  Constant Field Values

#### instanceManager

    protected InstanceManager instanceManager

#### useInstanceManagerForTags

    protected boolean useInstanceManagerForTags

### 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​(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)