1 package org.eclipse.jgit.pgm.opt;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.eclipse.jgit.pgm.internal.CLIText;
7 import org.kohsuke.args4j.CmdLineException;
8 import org.kohsuke.args4j.CmdLineParser;
9 import org.kohsuke.args4j.OptionDef;
10 import org.kohsuke.args4j.spi.OptionHandler;
11 import org.kohsuke.args4j.spi.Parameters;
12 import org.kohsuke.args4j.spi.Setter;
13
14
15
16
17
18
19 public class OptionWithValuesListHandler extends OptionHandler<List<?>> {
20
21
22
23
24
25
26 public OptionWithValuesListHandler(CmdLineParser parser,
27 OptionDef option, Setter<List<?>> setter) {
28 super(parser, option, setter);
29 }
30
31 @Override
32 public int parseArguments(Parameters params) throws CmdLineException {
33 final List<String> list = new ArrayList<>();
34 for (int idx = 0; idx < params.size(); idx++) {
35 final String p;
36 try {
37 p = params.getParameter(idx);
38 } catch (CmdLineException cle) {
39 break;
40 }
41 list.add(p);
42 }
43 setter.addValue(list);
44 return list.size();
45 }
46
47 @Override
48 public String getDefaultMetaVariable() {
49 return CLIText.get().metaVar_values;
50 }
51
52 }