Exemplo n.º 1
0
 /**
  * Returns all commands that start with the specified user input.
  *
  * @param <T> token type
  * @param en available commands
  * @param prefix user input
  * @return completions
  */
 private static <T extends Enum<T>> Enum<?>[] startWith(final Class<T> en, final String prefix) {
   Enum<?>[] list = new Enum<?>[0];
   final String t = prefix == null ? "" : prefix.toUpperCase(Locale.ENGLISH);
   for (final Enum<?> e : en.getEnumConstants()) {
     if (e.name().startsWith(t)) {
       final int s = list.length;
       list = Array.copy(list, new Enum<?>[s + 1]);
       list[s] = e;
     }
   }
   return list;
 }