edu.umd.cs.findbugs.config

Class CommandLine

public abstract class CommandLine extends Object

Helper class for parsing command line arguments.
Nested Class Summary
static classCommandLine.HelpRequestedException
Constructor Summary
CommandLine()
Method Summary
voidaddOption(String option, String argumentDesc, String description)
Add an option requiring an argument.
voidaddSwitch(String option, String description)
Add a command line switch.
voidaddSwitchWithOptionalExtraPart(String option, String optionExtraPartSynopsis, String description)
Add a command line switch that allows optional extra information to be specified as part of it.
static String[]expandOptionFiles(String[] argv, boolean ignoreComments, boolean ignoreBlankLines)
Expand option files in given command line.
protected abstract voidhandleOption(String option, String optionExtraPart)
Callback method for handling an option.
protected abstract voidhandleOptionWithArgument(String option, String argument)
Callback method for handling an option with an argument.
intparse(String[] argv)
Parse a command line.
voidprintUsage(OutputStream os)
Print command line usage information to given stream.

Constructor Detail

CommandLine

public CommandLine()

Method Detail

addOption

public void addOption(String option, String argumentDesc, String description)
Add an option requiring an argument.

Parameters: option the option, must start with "-" argumentDesc brief (one or two word) description of the argument description single line description of the option

addSwitch

public void addSwitch(String option, String description)
Add a command line switch. This method is for adding options that do not require an argument.

Parameters: option the option, must start with "-" description single line description of the option

addSwitchWithOptionalExtraPart

public void addSwitchWithOptionalExtraPart(String option, String optionExtraPartSynopsis, String description)
Add a command line switch that allows optional extra information to be specified as part of it.

Parameters: option the option, must start with "-" optionExtraPartSynopsis synopsis of the optional extra information description single-line description of the option

expandOptionFiles

public static String[] expandOptionFiles(String[] argv, boolean ignoreComments, boolean ignoreBlankLines)
Expand option files in given command line. Any token beginning with "@" is assumed to be an option file. Option files contain one command line option per line.

Parameters: argv the original command line ignoreComments ignore comments (lines starting with "#") ignoreBlankLines ignore blank lines

Returns: the expanded command line

handleOption

protected abstract void handleOption(String option, String optionExtraPart)
Callback method for handling an option.

Parameters: option the option optionExtraPart the "extra" part of the option (everything after the colon: e.g., "withMessages" in "-xml:withMessages"); the empty string if there was no extra part

handleOptionWithArgument

protected abstract void handleOptionWithArgument(String option, String argument)
Callback method for handling an option with an argument.

Parameters: option the option argument the argument

parse

public int parse(String[] argv)
Parse a command line. Calls down to handleOption() and handleOptionWithArgument() methods. Stops parsing when it reaches the end of the command line, or when a command line argument not starting with "-" is seen.

Parameters: argv the arguments

Returns: the number of arguments parsed; if equal to argv.length, then the entire command line was parsed

Throws: HelpRequestedException

printUsage

public void printUsage(OutputStream os)
Print command line usage information to given stream.

Parameters: os the output stream

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.