EventListenerProxy (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.util, class: EventListenerProxy
Keywords: java.util.EventListenerProxy class

# Class EventListenerProxy<T extends EventListener>

java.lang.Object
java.util.EventListenerProxy<T>

Type Parameters:
  `T` - the type of `EventListener` being wrapped

All Implemented Interfaces:
  `EventListener`

Direct Known Subclasses:
  `AWTEventListenerProxy, PropertyChangeListenerProxy, VetoableChangeListenerProxy`

public abstract class EventListenerProxy<T extends EventListener> extends Object implements EventListener
An abstract wrapper class for an `EventListener` class which associates a set of additional parameters with the listener. Subclasses must provide the storage and accessor methods for the additional arguments or parameters.

For example, a bean which supports named properties would have a two argument method signature for adding a `PropertyChangeListener` for a property:

    public void addPropertyChangeListener(String propertyName,
                                          PropertyChangeListener listener)

If the bean also implemented the zero argument get listener method:

    public PropertyChangeListener[] getPropertyChangeListeners()

then the array may contain inner `PropertyChangeListeners` which are also `PropertyChangeListenerProxy` objects.

If the calling method is interested in retrieving the named property then it would have to test the element to see if it is a proxy class.

Since:
  1.4

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EventListenerProxy(T listener)`
  Creates a proxy for the specified listener.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `getListener()`
  Returns the listener associated with the proxy.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### EventListenerProxy

    public EventListenerProxy(T listener)
    Creates a proxy for the specified listener.
    Parameters:
      `listener` - the listener object

- ## Method Details

  - ### getListener

    public T getListener()
    Returns the listener associated with the proxy.
    Returns:
      the listener associated with the proxy