## org.apache.jasper.runtime
Class PerThreadTagHandlerPool

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

    public class PerThreadTagHandlerPool

extends TagHandlerPool

Thread-local based pool of tag handlers that can be reused.

Author:
  Jan Luehe, Costin Manolache

Field Summary

Fields inherited from class org.apache.jasper.runtime.TagHandlerPool
`OPTION_MAXSIZE, OPTION_TAGPOOL`

Constructor Summary
`PerThreadTagHandlerPool()` Constructs a tag handler pool with the default capacity.

Method Summary
`Tag` `get(Class handlerClass)` Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.
`protected void` `init(ServletConfig config)`
`void` `release()` Calls the release() method of all 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 org.apache.jasper.runtime.TagHandlerPool
`getOption, getTagHandlerPool`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PerThreadTagHandlerPool

    public PerThreadTagHandlerPool()

  Constructs a tag handler pool with the default capacity.

Method Detail

### init

    protected void init(ServletConfig config)

  Overrides:
    `init` in class `TagHandlerPool`

### get

    public Tag get(Class handlerClass)
            throws JspException

  Gets the next available tag handler from this tag handler pool, instantiating one if this tag handler pool is empty.

  Overrides:
    `get` in class `TagHandlerPool`
  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.

  Overrides:
    `reuse` in class `TagHandlerPool`
  Parameters:
    `handler` - Tag handler to add to this tag handler pool

### release

    public void release()

  Calls the release() method of all tag handlers in this tag handler pool.

  Overrides:
    `release` in class `TagHandlerPool`

Copyright © 2008 Mort Bay Consulting. All Rights Reserved.