Package com.github.rjeschke.txtmark.cmd
Class CmdLineParser
- java.lang.Object
-
- com.github.rjeschke.txtmark.cmd.CmdLineParser
-
final class CmdLineParser extends java.lang.ObjectGeneric command line parser. This is a copy from {@link https://github.com/rjeschke/neetutils-base}.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCmdLineParser.Argprivate static classCmdLineParser.Classesprivate static classCmdLineParser.Collsprivate static classCmdLineParser.Once<T>private static classCmdLineParser.Strings(package private) static classCmdLineParser.Type
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.util.HashSet<java.lang.String>BOOL_FALSE(package private) static java.util.HashSet<java.lang.String>BOOL_TRUE(package private) static java.lang.Class<?>[]TYPE_CLASS_LIST(package private) static java.util.HashMap<java.lang.Class<?>,CmdLineParser.Type>TYPE_MAP(package private) static CmdLineParser.Type[]TYPE_TYPE_LIST
-
Constructor Summary
Constructors Modifier Constructor Description privateCmdLineParser()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.StringdefaultToString(java.lang.Object value, CmdLineParser.Type type, CmdLineParser.Arg arg)static java.lang.StringgenerateHelp(int columnWidth, boolean sort, java.lang.Object... objs)Generates a formatted help (Unix-style) for the given argument objects.(package private) static CmdLineParser.TypegetTypeFor(java.lang.Class<?> clazz)static java.util.List<java.lang.String>parse(java.lang.String[] args, java.lang.Object... objs)Parses command line arguments.private static voidparseArgs(java.lang.Object[] objs, java.util.List<CmdLineParser.Arg> allArgs, java.util.HashMap<java.lang.String,CmdLineParser.Arg> shortArgs, java.util.HashMap<java.lang.String,CmdLineParser.Arg> longArgs)
-
-
-
Field Detail
-
TYPE_MAP
static final java.util.HashMap<java.lang.Class<?>,CmdLineParser.Type> TYPE_MAP
-
TYPE_CLASS_LIST
static final java.lang.Class<?>[] TYPE_CLASS_LIST
-
TYPE_TYPE_LIST
static final CmdLineParser.Type[] TYPE_TYPE_LIST
-
BOOL_TRUE
static final java.util.HashSet<java.lang.String> BOOL_TRUE
-
BOOL_FALSE
static final java.util.HashSet<java.lang.String> BOOL_FALSE
-
-
Method Detail
-
getTypeFor
static CmdLineParser.Type getTypeFor(java.lang.Class<?> clazz)
-
defaultToString
static java.lang.String defaultToString(java.lang.Object value, CmdLineParser.Type type, CmdLineParser.Arg arg)
-
parseArgs
private static void parseArgs(java.lang.Object[] objs, java.util.List<CmdLineParser.Arg> allArgs, java.util.HashMap<java.lang.String,CmdLineParser.Arg> shortArgs, java.util.HashMap<java.lang.String,CmdLineParser.Arg> longArgs) throws java.io.IOException- Throws:
java.io.IOException
-
generateHelp
public static java.lang.String generateHelp(int columnWidth, boolean sort, java.lang.Object... objs) throws java.io.IOExceptionGenerates a formatted help (Unix-style) for the given argument objects.- Parameters:
columnWidth- Maximum column width. Words get wrapped at spaces.sort- Settrueto sort arguments before printing.objs- One or more objects with annotated public fields.- Returns:
- The formatted argument help text.
- Throws:
java.io.IOException- if a parsing error occurred.- See Also:
CmdArgument
-
parse
public static java.util.List<java.lang.String> parse(java.lang.String[] args, java.lang.Object... objs) throws java.io.IOExceptionParses command line arguments.- Parameters:
args- Array of arguments, like the ones provided byvoid main(String[] args)objs- One or more objects with annotated public fields.- Returns:
- A
Listcontaining all unparsed arguments (i.e. arguments that are no switches) - Throws:
java.io.IOException- if a parsing error occurred.- See Also:
CmdArgument
-
-