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 Details

    • 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 Details

    • 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 MethodDescriptors 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.