Class CmdLineParser


  • final class CmdLineParser
    extends java.lang.Object
    Generic command line parser. This is a copy from {@link https://github.com/rjeschke/neetutils-base}.
    • 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
      • BOOL_TRUE

        static final java.util.HashSet<java.lang.String> BOOL_TRUE
      • BOOL_FALSE

        static final java.util.HashSet<java.lang.String> BOOL_FALSE
    • Constructor Detail

      • CmdLineParser

        private CmdLineParser()
    • Method Detail

      • 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.IOException
        Generates a formatted help (Unix-style) for the given argument objects.
        Parameters:
        columnWidth - Maximum column width. Words get wrapped at spaces.
        sort - Set true to 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.IOException
        Parses command line arguments.
        Parameters:
        args - Array of arguments, like the ones provided by void main(String[] args)
        objs - One or more objects with annotated public fields.
        Returns:
        A List containing all unparsed arguments (i.e. arguments that are no switches)
        Throws:
        java.io.IOException - if a parsing error occurred.
        See Also:
        CmdArgument