public Completion complete(ParameterDescriptor parameter, String prefix) throws Exception { if (parameter.getType() == ValueType.ENUM) { Completion.Builder builder = null; Class<?> vt = parameter.getDeclaredType(); Method valuesM = vt.getDeclaredMethod("values"); Method nameM = vt.getMethod("name"); Enum<?>[] values = (Enum<?>[])valuesM.invoke(null); for (Enum<?> value : values) { String name = (String)nameM.invoke(value); if (name.startsWith(prefix)) { if (builder == null) { builder = Completion.builder(prefix); } builder.add(name.substring(prefix.length()), true); } } return builder != null ? builder.build() : Completion.create(); } else { return Completion.create(); } } }
@Override public Completion complete(ParameterDescriptor parameter, String prefix) throws Exception { if (parameter.getType() == ValueType.OBJECT_NAME) { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); int colon = prefix.indexOf(':');
public Completion complete(ParameterDescriptor parameter, String prefix) throws Exception { if (parameter.getType() == ValueType.ENUM) { Completion.Builder builder = null; Class<?> vt = parameter.getDeclaredType(); Method valuesM = vt.getDeclaredMethod("values"); Method nameM = vt.getMethod("name"); Enum<?>[] values = (Enum<?>[])valuesM.invoke(null); for (Enum<?> value : values) { String name = (String)nameM.invoke(value); if (name.startsWith(prefix)) { if (builder == null) { builder = Completion.builder(prefix); } builder.add(name.substring(prefix.length()), true); } } return builder != null ? builder.build() : Completion.create(); } else { return Completion.create(); } } }
public Completion complete(ParameterDescriptor parameter, String prefix) throws Exception { if (parameter.getType() == ValueType.ENUM) { Completion.Builder builder = null; Class<?> vt = parameter.getDeclaredType(); Method valuesM = vt.getDeclaredMethod("values"); Method nameM = vt.getMethod("name"); Enum<?>[] values = (Enum<?>[])valuesM.invoke(null); for (Enum<?> value : values) { String name = (String)nameM.invoke(value); if (name.startsWith(prefix)) { if (builder == null) { builder = Completion.builder(prefix); } builder.add(name.substring(prefix.length()), true); } } return builder != null ? builder.build() : Completion.create(); } else { return Completion.create(); } } }
@Override public Completion complete(ParameterDescriptor parameter, String prefix) throws Exception { if (parameter.getType() == ValueType.OBJECT_NAME) { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); int colon = prefix.indexOf(':');