Module java.desktop
Package java.beans

Class 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 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 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.