Module java.desktop
Package java.beans

## Class EventSetDescriptor

- java.lang.Object
- - java.beans.FeatureDescriptor
  - - java.beans.EventSetDescriptor

-     public class EventSetDescriptor
      extends FeatureDescriptor

  An EventSetDescriptor describes a group of events that a given Java bean fires.

  The given group of events are all delivered as method calls on a single event listener interface, and an event listener object can be registered via a call on a registration method supplied by the event source.

  Since:
    1.1

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EventSetDescriptor​(Class<?> sourceClass, String eventSetName, Class<?> listenerType, String listenerMethodName)` | Creates an `EventSetDescriptor` assuming that you are following the most simple standard design pattern where a named event "fred" is (1) delivered as a call on the single method of interface FredListener, (2) has a single argument of type FredEvent, and (3) where the FredListener may be registered with a call on an addFredListener method of the source component and removed with a call on a removeFredListener method.
    `EventSetDescriptor​(Class<?> sourceClass, String eventSetName, Class<?> listenerType, String[] listenerMethodNames, String addListenerMethodName, String removeListenerMethodName)` | Creates an `EventSetDescriptor` from scratch using string names.
    `EventSetDescriptor​(Class<?> sourceClass, String eventSetName, Class<?> listenerType, String[] listenerMethodNames, String addListenerMethodName, String removeListenerMethodName, String getListenerMethodName)` | This constructor creates an EventSetDescriptor from scratch using string names.
    `EventSetDescriptor​(String eventSetName, Class<?> listenerType, MethodDescriptor[] listenerMethodDescriptors, Method addListenerMethod, Method removeListenerMethod)` | Creates an `EventSetDescriptor` from scratch using `java.lang.reflect.MethodDescriptor` and `java.lang.Class` objects.
    `EventSetDescriptor​(String eventSetName, Class<?> listenerType, Method[] listenerMethods, Method addListenerMethod, Method removeListenerMethod)` | Creates an `EventSetDescriptor` from scratch using `java.lang.reflect.Method` and `java.lang.Class` objects.
    `EventSetDescriptor​(String eventSetName, Class<?> listenerType, Method[] listenerMethods, Method addListenerMethod, Method removeListenerMethod, Method getListenerMethod)` | This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.Method and java.lang.Class objects.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Method` | `getAddListenerMethod()` | Gets the method used to add event listeners.
    `Method` | `getGetListenerMethod()` | Gets the method used to access the registered event listeners.
    `MethodDescriptor[]` | `getListenerMethodDescriptors()` | Gets the `MethodDescriptor`s of the target listener interface.
    `Method[]` | `getListenerMethods()` | Gets the methods of the target listener interface.
    `Class<?>` | `getListenerType()` | Gets the `Class` object for the target interface.
    `Method` | `getRemoveListenerMethod()` | Gets the method used to remove event listeners.
    `boolean` | `isInDefaultEventSet()` | Reports if an event set is in the "default" set.
    `boolean` | `isUnicast()` | Normally event sources are multicast.
    `void` | `setInDefaultEventSet​(boolean inDefaultEventSet)` | Marks an event set as being in the "default" set (or not).
    `void` | `setUnicast​(boolean unicast)` | Mark an event set as unicast (or not).

    - ### Methods declared in class java.beans.FeatureDescriptor

      `attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue, toString`

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### EventSetDescriptor

          public EventSetDescriptor​(Class<?> sourceClass,
                                    String eventSetName,
                                    Class<?> listenerType,
                                    String listenerMethodName)
                             throws IntrospectionException

      Creates an `EventSetDescriptor` assuming that you are following the most simple standard design pattern where a named event "fred" is (1) delivered as a call on the single method of interface FredListener, (2) has a single argument of type FredEvent, and (3) where the FredListener may be registered with a call on an addFredListener method of the source component and removed with a call on a removeFredListener method.
      Parameters:
        `sourceClass` - The class firing the event.
        `eventSetName` - The programmatic name of the event. E.g. "fred". Note that this should normally start with a lower-case character.
        `listenerType` - The target interface that events will get delivered to.
        `listenerMethodName` - The method that will get called when the event gets delivered to its target listener interface.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.

    - #### EventSetDescriptor

          public EventSetDescriptor​(Class<?> sourceClass,
                                    String eventSetName,
                                    Class<?> listenerType,
                                    String[] listenerMethodNames,
                                    String addListenerMethodName,
                                    String removeListenerMethodName)
                             throws IntrospectionException

      Creates an `EventSetDescriptor` from scratch using string names.
      Parameters:
        `sourceClass` - The class firing the event.
        `eventSetName` - The programmatic name of the event set. Note that this should normally start with a lower-case character.
        `listenerType` - The Class of the target interface that events will get delivered to.
        `listenerMethodNames` - The names of the methods that will get called when the event gets delivered to its target listener interface.
        `addListenerMethodName` - The name of the method on the event source that can be used to register an event listener object.
        `removeListenerMethodName` - The name of the method on the event source that can be used to de-register an event listener object.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.

    - #### EventSetDescriptor

          public EventSetDescriptor​(Class<?> sourceClass,
                                    String eventSetName,
                                    Class<?> listenerType,
                                    String[] listenerMethodNames,
                                    String addListenerMethodName,
                                    String removeListenerMethodName,
                                    String getListenerMethodName)
                             throws IntrospectionException

      This constructor creates an EventSetDescriptor from scratch using string names.
      Parameters:
        `sourceClass` - The class firing the event.
        `eventSetName` - The programmatic name of the event set. Note that this should normally start with a lower-case character.
        `listenerType` - The Class of the target interface that events will get delivered to.
        `listenerMethodNames` - The names of the methods that will get called when the event gets delivered to its target listener interface.
        `addListenerMethodName` - The name of the method on the event source that can be used to register an event listener object.
        `removeListenerMethodName` - The name of the method on the event source that can be used to de-register an event listener object.
        `getListenerMethodName` - The method on the event source that can be used to access the array of event listener objects.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.
      Since:
        1.4

    - #### EventSetDescriptor

          public EventSetDescriptor​(String eventSetName,
                                    Class<?> listenerType,
                                    Method[] listenerMethods,
                                    Method addListenerMethod,
                                    Method removeListenerMethod)
                             throws IntrospectionException

      Creates an `EventSetDescriptor` from scratch using `java.lang.reflect.Method` and `java.lang.Class` objects.
      Parameters:
        `eventSetName` - The programmatic name of the event set.
        `listenerType` - The Class for the listener interface.
        `listenerMethods` - An array of Method objects describing each of the event handling methods in the target listener.
        `addListenerMethod` - The method on the event source that can be used to register an event listener object.
        `removeListenerMethod` - The method on the event source that can be used to de-register an event listener object.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.

    - #### EventSetDescriptor

          public EventSetDescriptor​(String eventSetName,
                                    Class<?> listenerType,
                                    Method[] listenerMethods,
                                    Method addListenerMethod,
                                    Method removeListenerMethod,
                                    Method getListenerMethod)
                             throws IntrospectionException

      This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.Method and java.lang.Class objects.
      Parameters:
        `eventSetName` - The programmatic name of the event set.
        `listenerType` - The Class for the listener interface.
        `listenerMethods` - An array of Method objects describing each of the event handling methods in the target listener.
        `addListenerMethod` - The method on the event source that can be used to register an event listener object.
        `removeListenerMethod` - The method on the event source that can be used to de-register an event listener object.
        `getListenerMethod` - The method on the event source that can be used to access the array of event listener objects.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.
      Since:
        1.4

    - #### EventSetDescriptor

          public EventSetDescriptor​(String eventSetName,
                                    Class<?> listenerType,
                                    MethodDescriptor[] listenerMethodDescriptors,
                                    Method addListenerMethod,
                                    Method removeListenerMethod)
                             throws IntrospectionException

      Creates an `EventSetDescriptor` from scratch using `java.lang.reflect.MethodDescriptor` and `java.lang.Class` objects.
      Parameters:
        `eventSetName` - The programmatic name of the event set.
        `listenerType` - The Class for the listener interface.
        `listenerMethodDescriptors` - An array of MethodDescriptor objects describing each of the event handling methods in the target listener.
        `addListenerMethod` - The method on the event source that can be used to register an event listener object.
        `removeListenerMethod` - The method on the event source that can be used to de-register an event listener object.
      Throws:
        `IntrospectionException` - if an exception occurs during introspection.

  - ### Method Detail

    - #### getListenerType

          public Class<?> getListenerType()

      Gets the `Class` object for the target interface.
      Returns:
        The Class object for the target interface that will get invoked when the event is fired.

    - #### getListenerMethods

          public Method[] getListenerMethods()

      Gets the methods of the target listener interface.
      Returns:
        An array of `Method` objects for the target methods within the target listener interface that will get called when events are fired.

    - #### getListenerMethodDescriptors

          public MethodDescriptor[] getListenerMethodDescriptors()

      Gets the `MethodDescriptor`s of the target listener interface.
      Returns:
        An array of `MethodDescriptor` objects for the target methods within the target listener interface that will get called when events are fired.

    - #### getAddListenerMethod

          public Method getAddListenerMethod()

      Gets the method used to add event listeners.
      Returns:
        The method used to register a listener at the event source.

    - #### getRemoveListenerMethod

          public Method getRemoveListenerMethod()

      Gets the method used to remove event listeners.
      Returns:
        The method used to remove a listener at the event source.

    - #### getGetListenerMethod

          public Method getGetListenerMethod()

      Gets the method used to access the registered event listeners.
      Returns:
        The method used to access the array of listeners at the event source or null if it doesn't exist.
      Since:
        1.4

    - #### setUnicast

          public void setUnicast​(boolean unicast)

      Mark an event set as unicast (or not).
      Parameters:
        `unicast` - True if the event set is unicast.

    - #### isUnicast

          public boolean isUnicast()

      Normally event sources are multicast. However there are some exceptions that are strictly unicast.
      Returns:
        `true` if the event set is unicast. Defaults to `false`.

    - #### setInDefaultEventSet

          public void setInDefaultEventSet​(boolean inDefaultEventSet)

      Marks an event set as being in the "default" set (or not). By default this is `true`.
      Parameters:
        `inDefaultEventSet` - `true` if the event set is in the "default" set, `false` if not

    - #### isInDefaultEventSet

          public boolean isInDefaultEventSet()

      Reports if an event set is in the "default" set.
      Returns:
        `true` if the event set is in the "default" set. Defaults to `true`.