@Override public <T> T getArgumentValue(String name) { Argument arg = cli.getArgument(name); if (arg == null) { return null; } return getArgumentValue(arg.getIndex()); }
@Override @SuppressWarnings("unchecked") public <T> T getArgumentValue(int index) { Argument arg = cli.getArgument(index); if (arg == null) { return null; } if (arg instanceof TypedArgument) { return create(getRawValueForArgument(arg), (TypedArgument<T>) arg); } else { return (T) getRawValueForArgument(arg); } }
/** * Gets the values of an argument with the matching index. * * @param index the index * @return the values, {@code null} if not set * @see #getArgumentValue(int) * @see #getRawValueForArgument(Argument) */ @Override @SuppressWarnings("unchecked") public <T> List<T> getArgumentValues(int index) { Argument argument = cli.getArgument(index); if (argument == null) { return null; } if (argument instanceof TypedArgument) { TypedArgument<T> typed = (TypedArgument<T>) argument; return getRawValuesForArgument(typed) .stream() .map(s -> create(s, typed)) .collect(Collectors.toList()); } else { return (List<T>) getRawValuesForArgument(argument); } }