private static Map < Method , EventType > findMethods ( Class < ? > type ) { Map < Method , EventType > events = new HashMap <> ( ) ; for ( Method method : type . getDeclaredMethods ( ) ) { Event event = method . getAnnotation ( Event . class ) ; if ( event != null ) { String name = event . value ( ) . equals ( "" ) ? method . getName ( ) : event . value ( ) ; events . put ( method , EventType . from ( name ) ) ; } } for ( Class < ? > iface : type . getInterfaces ( ) ) { events . putAll ( findMethods ( iface ) ) ; } return events ; }
Recursively finds events defined by the given type and its implemented interfaces .