Support classes that allows an object to expose listener methods instead of listener properties.

Normally, a listener property must be an object that implement {@link org.apache.tapestry.IActionListener}. 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 the form:

    public void method-name({@link org.apache.tapestry.IRequestCycle} cycle)
    throws {@link org.apache.tapestry.ApplicationRuntimeException}

The `throws` clause is optional, but may not throw any additional exceptions.

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 org.apache.tapestry.listener.ListenerMap @see org.apache.tapestry.AbstractComponent#getListeners() @see org.apache.tapestry.engine.AbstractEngine#getListeners() @since 1.0.2 @author Howard Lewis Ship hlship@apache.org