package org.kohsuke.args4j.spi; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; import org.kohsuke.args4j.CmdLineException; /** * Eagerly grabs all the arguments. * * <p> * Used with {@link Argument}, this implements a semantics where * non-option token causes the option parsing to terminate. * An example of this is ssh(1), where "ssh -p 222 abc" will treat "-p" as an option * to ssh but "ssh abc -p 222" is considered to have no option for ssh. * * @author Kohsuke Kawaguchi */ public class RestOfArgumentsHandler extends OptionHandler<String> { public RestOfArgumentsHandler(CmdLineParser cmdLineParser, OptionDef optionDef, Setter<String> setter) { super(cmdLineParser, optionDef, setter); } public int parseArguments(Parameters parameters) throws CmdLineException { for (int i=0; i<parameters.size(); i++) setter.addValue(parameters.getParameter(i)); return parameters.size(); } public String getDefaultMetaVariable() { return "ARGS"; } }