org.apache.catalina.util

## Class InstanceSupport

- java.lang.Object
- - org.apache.catalina.util.InstanceSupport

    public final class InstanceSupport
    extends Object

Support class to assist in firing InstanceEvent notifications to registered InstanceListeners.

Author:
  Craig R. McClanahan

### Constructor Summary

Constructors
Constructor and Description
`InstanceSupport(Wrapper wrapper)` Construct a new InstanceSupport object associated with the specified Instance component.

### Method Summary

Methods
`void` `addInstanceListener(InstanceListener listener)` Add a lifecycle event listener to this component.
`void` `fireInstanceEvent(String type, Filter filter)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Filter filter, ServletRequest request, ServletResponse response)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Filter filter, ServletRequest request, ServletResponse response, Throwable exception)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Filter filter, Throwable exception)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Servlet servlet)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Servlet servlet, ServletRequest request, ServletResponse response)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Servlet servlet, ServletRequest request, ServletResponse response, Throwable exception)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `fireInstanceEvent(String type, Servlet servlet, Throwable exception)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`Wrapper` `getWrapper()` Return the Wrapper with which we are associated.
`void` `removeInstanceListener(InstanceListener listener)` Remove a lifecycle event listener from this component.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### InstanceSupport

    public InstanceSupport(Wrapper wrapper)

Construct a new InstanceSupport object associated with the specified Instance component.

Parameters:
  `wrapper` - The component that will be the source of events that we fire

### Method Detail

#### getWrapper

    public Wrapper getWrapper()

Return the Wrapper with which we are associated.

#### addInstanceListener

    public void addInstanceListener(InstanceListener listener)

Add a lifecycle event listener to this component.

Parameters:
  `listener` - The listener to add

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Filter filter)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `filter` - The relevant Filter for this event

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Filter filter,
                         Throwable exception)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `filter` - The relevant Filter for this event
  `exception` - Exception that occurred

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Filter filter,
                         ServletRequest request,
                         ServletResponse response)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `filter` - The relevant Filter for this event
  `request` - The servlet request we are processing
  `response` - The servlet response we are processing

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Filter filter,
                         ServletRequest request,
                         ServletResponse response,
                         Throwable exception)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `filter` - The relevant Filter for this event
  `request` - The servlet request we are processing
  `response` - The servlet response we are processing
  `exception` - Exception that occurred

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Servlet servlet)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `servlet` - The relevant Servlet for this event

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Servlet servlet,
                         Throwable exception)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `servlet` - The relevant Servlet for this event
  `exception` - Exception that occurred

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Servlet servlet,
                         ServletRequest request,
                         ServletResponse response)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `servlet` - The relevant Servlet for this event
  `request` - The servlet request we are processing
  `response` - The servlet response we are processing

#### fireInstanceEvent

    public void fireInstanceEvent(String type,
                         Servlet servlet,
                         ServletRequest request,
                         ServletResponse response,
                         Throwable exception)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `servlet` - The relevant Servlet for this event
  `request` - The servlet request we are processing
  `response` - The servlet response we are processing
  `exception` - Exception that occurred

#### removeInstanceListener

    public void removeInstanceListener(InstanceListener listener)

Remove a lifecycle event listener from this component.

Parameters:
  `listener` - The listener to remove