Package org.apache.commons.configuration2.builder

# Class EventListenerParameters

java.lang.Object
org.apache.commons.configuration2.builder.EventListenerParameters

All Implemented Interfaces:
  `BuilderParameters`, `EventListenerProvider`

public class EventListenerParameters extends Object implements BuilderParameters, EventListenerProvider

A specialized parameters implementation for `BasicConfigurationBuilder` which allows for a convenient event listener initialization.

This class offers a fluent interface for registering event listeners. A fully initialized instance can be passed to the `BasicConfigurationBuilder.configure(BuilderParameters...)` method. All event listeners which have been registered at the instance are then copied over to the configuration builder.

The code fragment below shows a typical usage scenario:

     BasicConfigurationBuilder<Configuration> builder = new BasicConfigurationBuilder<Configuration>(PropertiesConfiguration.class)
         .configure(new EventListenerParameters().addEventListener(ConfigurationEvent.ANY, myListener));

In order to support a configuration builder's `configure()` method, this class implements the `BuilderParameters` interface. However, this is just a dummy implementation; no parameters are propagated to the builder.

Since:
  2.0

- ## Field Summary

  ### Fields inherited from interface org.apache.commons.configuration2.builder.BuilderParameters

  `RESERVED_PARAMETER_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EventListenerParameters()`
  Creates a new instance of `EventListenerParameters`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T extends Event>
  EventListenerParameters`
  `addEventListener(EventListenerRegistrationData<T> registrationData)`
  Adds the specified `EventListenerRegistrationData` instance to this object.
  `<T extends Event>
  EventListenerParameters`
  `addEventListener(EventType<T> eventType, EventListener<? super T> listener)`
  Adds an event listener of the specified event type to this object.
  `EventListenerList`
  `getListeners()`
  Gets an `EventListenerList` object with information about event listener registrations.
  `Map<String,Object>`
  `getParameters()`
  Gets a map with all parameters defined by this objects.

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

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

- ## Constructor Details

  - ### EventListenerParameters

    public EventListenerParameters()
    Creates a new instance of `EventListenerParameters`.

- ## Method Details

  - ### addEventListener

    public <T extends Event> EventListenerParameters addEventListener(EventListenerRegistrationData<T> registrationData)
    Adds the specified `EventListenerRegistrationData` instance to this object.
    Type Parameters:
      `T` - the event type of the contained event listener
    Parameters:
      `registrationData` - the registration object to be added
    Returns:
      a reference to this object for method chaining

  - ### addEventListener

    public <T extends Event> EventListenerParameters addEventListener(EventType<T> eventType, EventListener<? super T> listener)
    Adds an event listener of the specified event type to this object.
    Type Parameters:
      `T` - the event type
    Parameters:
      `eventType` - the event type object
      `listener` - the event listener
    Returns:
      a reference to this object for method chaining

  - ### getListeners

    public EventListenerList getListeners()
    Description copied from interface: `EventListenerProvider`
    Gets an `EventListenerList` object with information about event listener registrations. All listeners contained in this object are added to the processing `ConfigurationBuilder`.
    Specified by:
      `getListeners` in interface `EventListenerProvider`
    Returns:
      the `EventListenerList` with event listener registrations (must not be null)

  - ### getParameters

    public Map<String,Object> getParameters()
    Gets a map with all parameters defined by this objects. The keys of the map correspond to concrete properties supported by the `Configuration` implementation class the builder produces. The values are the corresponding property values. The return value must not be null. This implementation returns an empty map.
    Specified by:
      `getParameters` in interface `BuilderParameters`
    Returns:
      a map with builder parameters