private Completer getDefaultCompleter(Field field) { Completer completer = null; Class<?> type = field.getType(); if (type.isAssignableFrom(File.class)) { completer = new FileCompleter(null); } else if (type.isAssignableFrom(Boolean.class) || type.isAssignableFrom(boolean.class)) { completer = new StringsCompleter(new String[] {"false", "true"}, false); } else if (type.isAssignableFrom(Enum.class)) { Set<String> values = new HashSet<>(); for (Object o : EnumSet.allOf((Class<Enum>) type)) { values.add(o.toString()); } completer = new StringsCompleter(values, false); } else { // TODO any other completers we can add? } return completer; }
private Completer getDefaultCompleter(CommandSession session, Field field) { Completer completer = null; Class<?> type = field.getType(); if (type.isAssignableFrom(File.class)) { completer = new FileCompleter(session); } else if (type.isAssignableFrom(Boolean.class) || type.isAssignableFrom(boolean.class)) { completer = new StringsCompleter(new String[] {"false", "true"}, false); } else if (type.isAssignableFrom(Enum.class)) { Set<String> values = new HashSet<>(); for (Object o : EnumSet.allOf((Class<Enum>) type)) { values.add(o.toString()); } completer = new StringsCompleter(values, false); } else { // TODO any other completers we can add? } return completer; }
Class<?> type = field.getType(); if (type.isAssignableFrom(File.class)) { argCompleter = new FileCompleter(null); } else if (type.isAssignableFrom(Boolean.class) || type.isAssignableFrom(boolean.class)) { argCompleter = new StringsCompleter(new String[] {"false", "true"}, false);
Class<?> type = field.getType(); if (type.isAssignableFrom(File.class)) { argCompleter = new FileCompleter(session); } else if (type.isAssignableFrom(Boolean.class) || type.isAssignableFrom(boolean.class)) { argCompleter = new StringsCompleter(new String[] {"false", "true"}, false);