use of com.google.gwt.event.dom.client.DomEvent.Type in project gwt-test-utils by gwt-test-utils.
the class WidgetUtils method getHandlers.
@SuppressWarnings("unchecked")
public static <T extends EventHandler> List<T> getHandlers(Widget widget, Type<T> eventType) {
HandlerManager handlerManager = GwtReflectionUtils.getPrivateFieldValue(widget, "handlerManager");
Object handlerRegistry = GwtReflectionUtils.getPrivateFieldValue(handlerManager, "eventBus");
Map<GwtEvent.Type<?>, Map<Object, List<?>>> map = GwtReflectionUtils.getPrivateFieldValue(handlerRegistry, "map");
Map<Object, List<?>> eventHandlerMap = map.get(eventType);
List<T> result = new ArrayList<>();
if (eventHandlerMap != null) {
for (List<?> eventHandlerList : eventHandlerMap.values()) {
result.addAll((List<T>) eventHandlerList);
}
}
return result;
}
Aggregations