Author: tchemit Date: 2009-11-05 03:22:45 +0100 (Thu, 05 Nov 2009) New Revision: 1630 Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java Log: use generics (avoid to generate cast :)) Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java 2009-11-05 02:21:58 UTC (rev 1629) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java 2009-11-05 02:22:45 UTC (rev 1630) @@ -151,7 +151,7 @@ } } - public static Object getEventListener(Class<? extends EventListener> listenerClass, final String listenerMethodName, final Object methodContainer, final String methodName) { + public static <E extends EventListener> E getEventListener(Class<E> listenerClass, final String listenerMethodName, final Object methodContainer, final String methodName) { WeakReference<List<EventListenerDescriptor>> ref = eventListeners.get(methodContainer); List<EventListenerDescriptor> descriptors = ref != null ? ref.get() : null; if (descriptors == null) { @@ -162,7 +162,7 @@ if (listenerClass == descriptor.listenerClass && (listenerMethodName == null ? descriptor.listenerMethodName == null : listenerMethodName.equals(descriptor.listenerMethodName)) && methodName.equals(descriptor.methodName)) { - return descriptor.eventListener; + return (E) descriptor.eventListener; } } } @@ -218,13 +218,13 @@ } }); descriptors.add(descriptor); - return descriptor.eventListener; + return (E) descriptor.eventListener; } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } - public static Object getEventListener(Class<? extends EventListener> listenerClass, final Object methodContainer, final String methodName) { + public static <E extends EventListener> E getEventListener(Class<E> listenerClass, final Object methodContainer, final String methodName) { return getEventListener(listenerClass, null, methodContainer, methodName); }