Class ListenerMethod

One registered event listener. This class contains the listener object reference, listened event type, the trigger method to call when the event fires, and the optional argument list to pass to the method and the index of the argument to replace with the event object. It provides several constructors that allow omission of the optional arguments, and giving the listener method directly, or having the constructor to reflect it using merely the name of the method.

It should be pointed out that the method receiveEvent(java.util.EventObject) is the one that filters out the events that do not match with the given event type and thus do not result in calling of the trigger method.

Synopsis

Since

3.0

Inheritance Path.  java.lang.Object-> com.itmill.toolkit.event.ListenerMethod

ListenerMethod(Class, Object, Method)

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

method

the trigger method

Exceptions

java.lang.IllegalArgumentException

if method is not a member of object .

Constructs a new event listener from a trigger method. Since the argument list is unspecified no parameters are passed to the trigger method when the listener is triggered.

This constructor gets the trigger method as a parameter so it does not need to reflect to find it out.

ListenerMethod(Class, Object, Method, Object[])

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

method

the trigger method

arguments

arguments to be passed to the trigger method

Exceptions

java.lang.IllegalArgumentException

if method is not a member of object .

Constructs a new event listener from the trigger method and it's arguments. Since the the index to the replaced parameter is not specified the event triggering this listener will not be passed to the trigger method.

This constructor gets the trigger method as a parameter so it does not need to reflect to find it out.

ListenerMethod(Class, Object, Method, Object[], int)

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

method

the trigger method

arguments

arguments to be passed to the trigger method

eventArgumentIndex

An index to the argument list. This index points out the argument that is replaced with the event object before the argument set is passed to the trigger method. If eventArgumentIndex is negative, the triggering event object will not be passed to the trigger method, though it is still called.

Exceptions

java.lang.IllegalArgumentException

if method is not a member of object .

Constructs a new event listener from a trigger method, it's arguments and the argument index specifying which one is replaced with the event object when the trigger method is called.

This constructor gets the trigger method as a parameter so it does not need to reflect to find it out.

ListenerMethod(Class, Object, String)

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

methodName

The name of the trigger method. If object does not contain the method or it contains more than one matching methods java.lang.IllegalArgumentException is thrown.

Exceptions

java.lang.IllegalArgumentException

unless exactly one match methodName is found in object .

Constructs a new event listener from a trigger method name. Since the argument list is unspecified no parameters are passed to the trigger method when the listener is triggered.

The actual trigger method is reflected from object , and java.lang.IllegalArgumentException is thrown unless exactly one match is found.

ListenerMethod(Class, Object, String, Object[])

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

methodName

The name of the trigger method. If object does not contain the method or it contains more than one matching methods java.lang.IllegalArgumentException is thrown.

arguments

arguments to be passed to the trigger method

Exceptions

java.lang.IllegalArgumentException

unless exactly one match methodName is found in object .

Constructs a new event listener from a trigger method name and it's arguments. Since the the index to the replaced parameter is not specified the event triggering this listener will not be passed to the trigger method.

The actual trigger method is reflected from object , and java.lang.IllegalArgumentException is thrown unless exactly one match is found.

ListenerMethod(Class, Object, String, Object[], int)

Parameters

eventType

The event type that is listener listens to. All events of this kind (or its subclasses) result in calling the trigger method.

object

The object instance that contains the trigger method

methodName

The name of the trigger method. If object does not contain the method or it contains more than one matching methods java.lang.IllegalArgumentException is thrown.

arguments

arguments to be passed to the trigger method

eventArgumentIndex

An index to the argument list. This index points out the argument that is replaced with the event object before the argument set is passed to the trigger method. If eventArgumentIndex is negative, the triggering event object will not be passed to the trigger method, though it is still called.

Exceptions

java.lang.IllegalArgumentException

unless exactly one match methodName is found in object .

Constructs a new event listener from a trigger method name, it's arguments and the argument index specifying which one is replaced with the event object. The actual trigger method is reflected from object , and java.lang.IllegalArgumentException is thrown unless exactly one match is found.

matches(Class, Object)

Parameters

target

object to be matched against the object stored by this listener

eventType

type to be tested for equality against the type stored by this listener

return

true if target is the same object as the one stored in this object and eventType equals the event type stored in this object.

Checks if the given object and event match with the ones stored in this listener.

matches(Class, Object, Method)

Parameters

target

object to be matched against the object stored by this listener

eventType

type to be tested for equality against the type stored by this listener

method

method to be tested for equality against the method stored by this listener

return

true if target is the same object as the one stored in this object, eventType equals with the event type stored in this object and method equals with the method stored in this object

Checks if the given object, event and method match with the ones stored in this listener.

receiveEvent(EventObject)

Parameters

event

The fired event. Unless the trigger method's argument list and the index to the to be replaced argument is specified, this event will not be passed to the trigger method.

Receives one event from the EventRouter and calls the trigger method if it matches with the criteria defined for the listener. Only the events of the same or subclass of the specified event class result in the trigger method to be called.