OptionWithValuesListHandler.java
- package org.eclipse.jgit.pgm.opt;
- import java.util.ArrayList;
- import java.util.List;
- import org.eclipse.jgit.pgm.internal.CLIText;
- import org.kohsuke.args4j.CmdLineException;
- import org.kohsuke.args4j.CmdLineParser;
- import org.kohsuke.args4j.OptionDef;
- import org.kohsuke.args4j.spi.OptionHandler;
- import org.kohsuke.args4j.spi.Parameters;
- import org.kohsuke.args4j.spi.Setter;
- /**
- * Handler which allows to parse option with few values
- *
- * @since 4.2
- */
- public class OptionWithValuesListHandler extends OptionHandler<List<?>> {
- /**
- * Constructor for OptionWithValuesListHandler.
- *
- * @param parser
- * a {@link org.kohsuke.args4j.CmdLineParser} object.
- * @param option
- * a {@link org.kohsuke.args4j.OptionDef} object.
- * @param setter
- * a {@link org.kohsuke.args4j.spi.Setter} object.
- */
- public OptionWithValuesListHandler(CmdLineParser parser,
- OptionDef option, Setter<List<?>> setter) {
- super(parser, option, setter);
- }
- /** {@inheritDoc} */
- @Override
- public int parseArguments(Parameters params) throws CmdLineException {
- final List<String> list = new ArrayList<>();
- for (int idx = 0; idx < params.size(); idx++) {
- final String p;
- try {
- p = params.getParameter(idx);
- } catch (CmdLineException cle) {
- break;
- }
- list.add(p);
- }
- setter.addValue(list);
- return list.size();
- }
- /** {@inheritDoc} */
- @Override
- public String getDefaultMetaVariable() {
- return CLIText.get().metaVar_values;
- }
- }