Support classes that allows an object to expose listener methods instead of listener properties.
Normally, a listener property must be an object that implements either {@link com.primix.tapestry.IActionListener} or {@link com.primix.tapestry.IDirectListener}. This can be cumbersome, in practice, as it typically involves creating an anonymous inner class.
Using this mechanism, classes can instead implement listener methods. A listener method takes one of two forms:
public void method-name({@link com.primix.tapestry.IRequestCycle} cycle)
throws {@link com.primix.tapestry.RequestCycleException}
public void method-name(String[] context,
{@link com.primix.tapestry.IRequestCycle} cycle)
throws {@link com.primix.tapestry.RequestCycleException}
The first option can act like either an {@link com.primix.tapestry.IActionListener} or
a {@link com.primix.tapestry.IDirectListener}, the second must be a
{@link com.primix.tapestry.IDirectListener}. In both cases, the throws
clause is optional.
Tapestry will create an appropriate listener object that will invoke the corresponding method.
The methods can be accessed using the property path "listeners.method-name
"
@see com.primix.tapestry.listener.ListenerMap
@see com.primix.tapestry.AbstractComponent#getListeners()
@see com.primix.tapestry.engine.AbstractEngine#getListeners()
@author Howard Ship hship@primix.com
@since 1.0.2