Exemplo n.º 1
0
 public static List<ButtonInfo> computeButtonsForClass(Class<?> someClass, String list) {
   List<ButtonInfo> buttons = new ArrayList<ButtonInfo>();
   for (Method method : someClass.getMethods()) {
     if (method.isBridge() || method.isSynthetic()) {
       continue;
     }
     Button button = getButtonForMethod(method, list);
     if (button != null) {
       ButtonInfo buttonInfo = new ButtonInfo(button, method, someClass);
       buttons.add(buttonInfo);
     }
   }
   Collections.sort(buttons, new ButtonComparatorByOrder());
   // Group together buttons of the same group
   for (int i = 0; i < buttons.size() - 1; i++) {
     ButtonInfo info = buttons.get(i);
     String group = info.getButton().group();
     if (!StringUtils.isBlank(group)) {
       int count = 1;
       for (int j = i + 1; j < buttons.size(); j++) {
         ButtonInfo info2 = buttons.get(j);
         if (info2.getButton().group().equals(group)) {
           buttons.remove(j);
           buttons.add(i + count, info2);
           count++;
         }
       }
     }
   }
   return buttons;
 }
Exemplo n.º 2
0
 public int compare(ButtonInfo o1, ButtonInfo o2) {
   return Double.compare(o1.getButton().order(), o2.getButton().order());
 }