1 15 package org.apache.tapestry.components; 16 17 import org.apache.tapestry.AbstractComponent; 18 import org.apache.tapestry.IActionListener; 19 import org.apache.tapestry.IMarkupWriter; 20 import org.apache.tapestry.IRequestCycle; 21 import org.apache.tapestry.link.DirectLink; 22 import org.apache.tapestry.listener.ListenerInvoker; 23 24 31 public abstract class InvokeListener extends AbstractComponent 32 { 33 protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) 34 { 35 Object [] parameters = DirectLink.constructServiceParameters(getParameters()); 36 37 try 38 { 39 cycle.setListenerParameters(parameters); 40 41 getListenerInvoker().invokeListener(getListener(), this, cycle); 42 } 43 finally 44 { 45 cycle.setListenerParameters(null); 46 } 47 } 48 49 50 public abstract IActionListener getListener(); 51 52 53 public abstract Object getParameters(); 54 55 56 public abstract ListenerInvoker getListenerInvoker(); 57 } 58 | Popular Tags |