Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 0.92 KB | None | 0 0
  1.    // utility methods
  2.  
  3.    static Method findMethod(Object target, String event)
  4.    {
  5.       Pair<String, Class< ? >> key = new Pair<String, Class< ? >>(event, target.getClass());
  6.       Method found = method_cache.get(key);
  7.       if (found != null)
  8.          return found;
  9.  
  10.       found = findMethodImpl(target, fromEventToMethodname(event));
  11.       method_cache.put(key, found);
  12.       return found;
  13.    }
  14.  
  15.    static String fromEventToMethodname(String event)
  16.    {
  17.       return "on" + event.substring(0, 1).toUpperCase() + event.substring(1);
  18.    }
  19.  
  20.    static Method findMethodImpl(Object target, String methodName)
  21.    {
  22.       for (Method method : target.getClass().getMethods())
  23.          if (method.getName().equals(methodName))
  24.             return method;
  25.       throw new NoSuchElementException(methodName);
  26.    }
  27.  
  28.    static Map<Pair<String, Class< ? >>, Method> method_cache = new HashMap<Pair<String, Class< ? >>, Method>();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement