public final class CmdLn
extends java.lang.Object
| Constructor and Description |
|---|
CmdLn(java.lang.String[] arguments)
New command line options with the given command line arguments
|
| Modifier and Type | Method and Description |
|---|---|
CmdLn |
addOption(CmdLnOption option)
Add option.
|
CmdLn |
addOptions(CmdLnOption[] options)
Add options.
|
CmdLn |
addOptions(java.util.Collection<CmdLnOption> options)
Add options.
|
java.lang.String |
getHelp()
Print help for the command line options.
|
java.lang.String |
getHelp(int indent,
int width)
Print help for the command line options.
|
java.util.List<java.lang.String> |
getNonOptionArguments()
Get the left over arguments -- the arguments that are not
associated with any arguments.
|
CmdLnResult |
getResult(char c)
Get the last result associated with the given argument.
|
CmdLnResult |
getResult(java.lang.Character c)
Get the last result associated with the given argument.
|
CmdLnResult |
getResult(CmdLnOption option)
Get the last result associated with the option.
|
CmdLnResult |
getResult(java.lang.String s)
Get the last result associated with the given argument.
|
java.util.List<CmdLnResult> |
getResults()
Get all the results in
the order in which they appear in the command line.
|
java.util.List<CmdLnResult> |
getResults(char c)
Get all the results associated with the given argument in
the order in which they appear in the command line.
|
java.util.List<CmdLnResult> |
getResults(java.lang.Character c)
Get all the results associated with the given argument in
the order in which they appear in the command line.
|
java.util.List<CmdLnResult> |
getResults(CmdLnOption option)
Get all the results associated with the given argument in
the order in which they appear in the command line.
|
java.util.List<CmdLnResult> |
getResults(java.lang.String s)
Get all the results associated with the given argument in
the order in which they appear in the command line.
|
int |
occurrences(char c)
The number of times the specified option is present in the command line.
|
int |
occurrences(java.lang.Character c)
The number of times the specified option is present in the command line.
|
int |
occurrences(CmdLnOption option)
The number of times the specified option is present in the command line.
|
int |
occurrences(java.lang.String s)
The number of times the specified option is present in the command line.
|
void |
parse()
Parse the command line options if they have not already been parsed.
|
boolean |
present(char c)
Whether or not the specified option is present in the command line.
|
boolean |
present(java.lang.Character c)
Whether or not the specified option is present in the command line.
|
boolean |
present(CmdLnOption option)
Whether or not the specified option is present in the command line.
|
boolean |
present(java.lang.String s)
Whether or not the specified option is present in the command line.
|
void |
printHelp()
Print help for the command line options to standard output.
|
void |
printHelp(int indent,
int width)
Print help for the command line options to standard output.
|
void |
printHelp(java.io.OutputStream out)
Print help for the command line options.
|
void |
printHelp(java.io.OutputStream out,
int indent,
int width)
Print help for the command line options.
|
void |
printHelp(java.io.PrintWriter out)
Print help for the command line options.
|
void |
printHelp(java.io.PrintWriter out,
int indent,
int width)
Print help for the command line options.
|
void |
printHelp(java.io.Writer out)
Print help for the command line options.
|
void |
printHelp(java.io.Writer out,
int indent,
int width)
Print help for the command line options.
|
CmdLn |
setDescription(java.lang.String description)
Set the description for the program.
|
CmdLn |
setNonOptionSeparators(java.lang.String[] nonOptionSeparators)
Set the "stop" option that causes any following arguments to be treated
as non-option arguments, even if they look like an option.
|
CmdLn |
setOptionArgumentDelimiters(char[] delimiters)
Set the delimiters that separate a option name from a value
within a single argument.
|
CmdLn |
setOptionStarts(java.lang.String[] longOptionsStart,
java.lang.String[] shortOptionsStart)
Set what long options and short options start with.
|
CmdLn |
setOptionStarts(java.lang.String longOptionsStart,
java.lang.String shortOptionsStart)
Set what long options and short options start with.
|
public CmdLn(java.lang.String[] arguments)
arguments - command line arguments from main methodpublic CmdLn setOptionArgumentDelimiters(char[] delimiters)
delimiters - list of delimiterspublic CmdLn setOptionStarts(java.lang.String longOptionsStart, java.lang.String shortOptionsStart)
longOptionsStart - What long options start with (default "--") or null for no long options;shortOptionsStart - What short options start with (default "-") or null for no short options;java.lang.IllegalArgumentException - if the long or short start is the empty stringpublic CmdLn setOptionStarts(java.lang.String[] longOptionsStart, java.lang.String[] shortOptionsStart)
The first option start in each array will be the canonical option start that is used in the help message.
longOptionsStart - What long options start with (default "--") or null or empty for no long options;shortOptionsStart - What short options start with (default "-") or null or empty for no short options;java.lang.IllegalArgumentException - if the long or short start is the empty stringpublic CmdLn setNonOptionSeparators(java.lang.String[] nonOptionSeparators)
The default non-option separator is "--".
nonOptionSeparators - List of arguments that stop processing options and treat remaining arguments as non option arguments.public CmdLn setDescription(java.lang.String description)
description - short description about the programpublic CmdLn addOptions(java.util.Collection<CmdLnOption> options)
options - options to be added.java.lang.NullPointerException - if the options are null.java.lang.NullPointerException - if any option in the collection is null.java.lang.IllegalStateException - if the command line has already been parsed.public CmdLn addOptions(CmdLnOption[] options)
options - options to be added.java.lang.NullPointerException - if the options are null.java.lang.NullPointerException - if any option in the collection is null.java.lang.IllegalStateException - if the command line has already been parsed.public CmdLn addOption(CmdLnOption option)
option - option to be added.java.lang.NullPointerException - if the option is null.java.lang.IllegalStateException - if the command line has already been parsed.public CmdLnResult getResult(java.lang.String s)
s - long argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public CmdLnResult getResult(java.lang.Character c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public CmdLnResult getResult(char c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public CmdLnResult getResult(CmdLnOption option)
option - command line optionUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public java.util.List<CmdLnResult> getResults()
UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public java.util.List<CmdLnResult> getResults(java.lang.String s)
s - long argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public java.util.List<CmdLnResult> getResults(java.lang.Character c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public java.util.List<CmdLnResult> getResults(char c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public java.util.List<CmdLnResult> getResults(CmdLnOption option)
option - command line optionUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public boolean present(java.lang.String s)
s - long argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public boolean present(java.lang.Character c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public boolean present(char c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public boolean present(CmdLnOption option)
option - command line optionUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public int occurrences(java.lang.String s)
s - long argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public int occurrences(java.lang.Character c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public int occurrences(char c)
c - short argumentUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public int occurrences(CmdLnOption option)
option - command line optionUnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public java.util.List<java.lang.String> getNonOptionArguments()
UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.ExtraCmdLnArgumentException - if a command line option has too many arguments during parsing.public void parse()
Once this command line has been parsed, options may no longer be added.
UnknownCmdLnOptionException - if an unexpected option is encounteredMissingCmdLnArgumentException - if a command line option does not have enough arguments.ExtraCmdLnArgumentException - if a command line option has too many arguments.public java.lang.String getHelp()
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionIndentation is the default twenty, and line width is the default 80. Parses the command line if not already parsed.
UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp()
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionIndentation is the default twenty, and line width is the default eighty. Parses the command line if not already parsed.
UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.OutputStream out)
out - destination to which the help is written.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.Writer out)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionIndentation is the default twenty, and line width is the default eighty. Parses the command line if not already parsed.
out - destination to which the help is written.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.PrintWriter out)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionIndentation is the default twenty, and line width is the default eighty. Parses the command line if not already parsed.
out - destination to which the help is written.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public java.lang.String getHelp(int indent,
int width)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionParses the command line if not already parsed.
indent - the maximum number of characters to which all descriptions should be indented.width - the number of characters at which text should be wrapped.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(int indent,
int width)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionParses the command line if not already parsed.
indent - the maximum number of characters to which all descriptions should be indented.width - the number of characters at which text should be wrapped.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.OutputStream out,
int indent,
int width)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionParses the command line if not already parsed.
out - destination to which the help is written.indent - the maximum number of characters to which all descriptions should be indented.width - the number of characters at which text should be wrapped.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.Writer out,
int indent,
int width)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionParses the command line if not already parsed.
out - destination to which the help is written.indent - the maximum number of characters to which all descriptions should be indented.width - the number of characters at which text should be wrapped.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.public void printHelp(java.io.PrintWriter out,
int indent,
int width)
program description --argument -a > argument a description --another -b argument b description --third -c > argument c descriptionParses the command line if not already parsed.
out - destination to which the help is written.indent - the maximum number of characters to which all descriptions should be indented.width - the number of characters at which text should be wrapped.UnknownCmdLnOptionException - if an unexpected option is encountered during parsing.MissingCmdLnArgumentException - if a command line option does not have enough arguments during parsing.Copyright (c) 2001-2020 by Stephen Ostermiller