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