| package org.kohsuke.args4j.spi; |
| |
| import org.kohsuke.args4j.CmdLineException; |
| import org.kohsuke.args4j.CmdLineParser; |
| import org.kohsuke.args4j.OptionDef; |
| |
| import java.net.MalformedURLException; |
| import java.net.URL; |
| |
| /** |
| * {@link URL} {@link OptionHandler}. |
| * |
| * @author Kohsuke Kawaguchi |
| */ |
| public class URLOptionHandler extends OptionHandler<URL> { |
| public URLOptionHandler(CmdLineParser parser, OptionDef option, Setter<? super URL> setter) { |
| super(parser, option, setter); |
| } |
| |
| @Override |
| public int parseArguments(Parameters params) throws CmdLineException { |
| String param = params.getParameter(0); |
| try { |
| setter.addValue(new URL(param)); |
| return 1; |
| } catch (MalformedURLException e) { |
| throw new CmdLineException(owner, Messages.ILLEGAL_OPERAND.format( |
| params.getParameter(-1),param)); |
| } |
| } |
| |
| @Override |
| public String getDefaultMetaVariable() { |
| return "URL"; |
| } |
| } |