public static SuggesterMetadata loadSuggester(Class<? extends Suggester> suggesterClass) { InjectionMetadata injectionMetadata = loadInjectionMetadata(suggesterClass); return new SuggesterMetadata(suggesterClass, injectionMetadata.metadataInjections); }
public CommandMetadata apply(Class<?> commandType) { return loadCommand(commandType); } }));
@Override public String apply(CommandMetadata input) { return input.getName(); } });
private static CommandMetadata findCommandMetadata(GlobalMetadata global, Class<? extends PrideCommand> type) { CommandMetadata result = findCommandMetadata(null, global.getDefaultGroupCommands(), type); result = findCommandMetadata(result, global.getDefaultCommand(), type); for (CommandGroupMetadata group : global.getCommandGroups()) { result = findCommandMetadata(result, group.getCommands(), type); result = findCommandMetadata(result, group.getDefaultCommand(), type); } return result; }
@Override public Iterable<String> suggest() { return concat( transform(metadata.getCommandGroups(), CommandGroupMetadata.nameGetter()), transform(metadata.getDefaultGroupCommands(), CommandMetadata.nameGetter()), concat(transform(metadata.getOptions(), OptionMetadata.optionsGetter())) ); } }
@Override public Iterable<String> suggest() { return concat( transform(group.getCommands(), CommandMetadata.nameGetter()), concat(transform(group.getOptions(), OptionMetadata.optionsGetter())) ); } }
@Override public String apply(CommandMetadata input) { return "[" + input.getName() + "] " + input.getDescription(); } });
public Class<?> apply(CommandMetadata input) { return input.getType(); } };
public static CommandGroupMetadata loadCommandGroup(String name, String description, CommandMetadata defaultCommand, Iterable<CommandMetadata> commands) { ImmutableList.Builder<OptionMetadata> groupOptionsBuilder = ImmutableList.builder(); if (defaultCommand != null) { groupOptionsBuilder.addAll(defaultCommand.getGroupOptions()); } for (CommandMetadata command : commands) { groupOptionsBuilder.addAll(command.getGroupOptions()); } List<OptionMetadata> groupOptions = mergeOptionSet(groupOptionsBuilder.build()); return new CommandGroupMetadata(name, description, groupOptions, defaultCommand, commands); }
@Override public boolean apply(CommandMetadata input) { return !input.isHidden(); } });
public static InjectionMetadata loadInjectionMetadata(Class<?> type) { InjectionMetadata injectionMetadata = new InjectionMetadata(); loadInjectionMetadata(type, injectionMetadata, ImmutableList.<Field>of()); injectionMetadata.compact(); return injectionMetadata; }
public Set<String> apply(OptionMetadata input) { return input.getOptions(); } };
public String apply(CommandGroupMetadata input) { return input.getName(); } };
@Override public OptionMetadata apply(@Nullable Collection<OptionMetadata> options) { return new OptionMetadata(options); } }));
public String apply(CommandMetadata input) { return input.getName(); } };
@Override public boolean apply(CommandMetadata input) { return !input.isHidden(); } });
private OptionMetadata findOption(List<OptionMetadata> options, String param) { for (OptionMetadata optionMetadata : options) { if (optionMetadata.getOptions().contains(param)) { return optionMetadata; } } return null; }
@Override public String apply(CommandMetadata input) { return input.getName(); } });
@Override public boolean apply(CommandMetadata input) { return !input.isHidden(); } });