1 16 package org.apache.cocoon.forms.event.impl; 17 18 import org.apache.cocoon.forms.event.WidgetListener; 19 import org.apache.cocoon.forms.event.WidgetListenerBuilder; 20 import org.apache.cocoon.forms.util.DomHelper; 21 import org.apache.cocoon.util.ClassUtils; 22 import org.apache.avalon.framework.thread.ThreadSafe; 23 import org.w3c.dom.Element ; 24 25 36 public class JavaClassWidgetListenerBuilder implements WidgetListenerBuilder, ThreadSafe { 37 38 public WidgetListener buildListener(Element element, Class listenerClass) throws Exception { 39 40 String name = DomHelper.getAttribute(element, "class"); 41 42 Object listener = ClassUtils.newInstance(name); 43 if (listenerClass.isAssignableFrom(listener.getClass())) { 44 return (WidgetListener)listener; 46 } else { 47 throw new Exception ("Class " + listener.getClass() + " is not a " + listenerClass); 48 } 49 } 50 } 51 | Popular Tags |