Package cdc.util.cli

Class AbstractMainSupport<A,​R>

  • Type Parameters:
    A - MainArgs type.
    R - Returned type.

    public abstract class AbstractMainSupport<A,​R>
    extends Object
    Utility that can be used to create main programs.

    The purpose is to force the adoption of a common pattern for such classes.

    Some options are automatically defined and handled:

    • help: if passed, help is printed and program is exited.
    • version: if passed, version is printed and program is exited.
      Override getVersion() to define version.
    • args-list <FILE>: if passed, command line arguments are read from the designated file and added to other command line arguments.
      This is useful when command line is too long.
      Override addArgsFileOption(Options) to force its presence.
    Args file syntax
    The file must contains one argument (option of value) per line.
    A line that is empty or starts with any number of white spaces followed by '#' and any other characters is a ignored.
    Exemple:
     # (ignored)
     --option1
     --option2
     --option3
     value1
     value2
        # (ignored)
     value3
     
    Author:
    Damien Carbonne
    • Constructor Detail

      • AbstractMainSupport

        protected AbstractMainSupport​(Class<?> mainClass,
                                      org.apache.logging.log4j.Logger logger)
    • Method Detail

      • addArgsFileOption

        protected boolean addArgsFileOption​(org.apache.commons.cli.Options options)
        Returns true if ARGS_FILE option must be added.

        The default implementation returns true if one option contains multiple values.

        Parameters:
        options - The options.
        Returns:
        true if ARGS_FILE option must be added.
      • addStandardOptions

        protected void addStandardOptions​(org.apache.commons.cli.Options options)
      • getLogger

        protected final org.apache.logging.log4j.Logger getLogger()
      • getVersion

        protected String getVersion()
        Returns the version.

        If null is returned (default implementation), no version option is available.

        Returns:
        The version.
      • getHelpHeader

        protected String getHelpHeader()
        Returns the help header.

        If null is returned (default implementation), no help header is printed.

        Returns:
        The help header.
      • getHelpFooter

        protected String getHelpFooter()
        Returns the help footer.

        If null is returned (default implementation), no help footer is printed.

        Returns:
        The help footer.
      • addSpecificOptions

        protected abstract void addSpecificOptions​(org.apache.commons.cli.Options options)
        Creates specific options and add them to an options collection.

        The standard options must not be added.

        Parameters:
        options - The options.
      • analyze

        protected abstract A analyze​(org.apache.commons.cli.CommandLine cl)
                              throws org.apache.commons.cli.ParseException
        Analyzes the command line.

        These options are already handled:

        • help
        • version
        • args-file
        Parameters:
        cl - The command line.
        Returns:
        A MainARgs instance.
        Throws:
        org.apache.commons.cli.ParseException - When command line parsing has a problem.
      • execute

        protected abstract R execute​(A margs)
                              throws Exception
        Executes the main program.
        Parameters:
        margs - The main arguments.
        Returns:
        The optional result.
        Throws:
        Exception - When program has a problem.
      • addNoArgOptions

        public static <E extends Enum<E> & OptionEnum> void addNoArgOptions​(org.apache.commons.cli.Options options,
                                                                            Class<E> enumClass)
      • addGroupedNoArgOptions

        public static <E extends Enum<E> & OptionEnum> void addGroupedNoArgOptions​(org.apache.commons.cli.Options options,
                                                                                   Class<E> enumClass,
                                                                                   boolean required)
      • createGroup

        @SafeVarargs
        public static <E extends Enum<E> & OptionEnum> org.apache.commons.cli.OptionGroup createGroup​(org.apache.commons.cli.Options options,
                                                                                                      boolean required,
                                                                                                      E... values)
      • createGroup

        @SafeVarargs
        public static <E extends Enum<E> & OptionEnum> org.apache.commons.cli.OptionGroup createGroup​(org.apache.commons.cli.Options options,
                                                                                                      E... values)
      • main

        public R main​(String[] args)
        Default main program.

        This does the following things:

        1. Build options.
        2. Parse the command line strings and creates a CommandLine instance.
        3. Analyze the CommandLine instance and create a MainArgs instance.
        4. Calls execute with the MainArgs instance.
        Parameters:
        args - The command line arguments.
        Returns:
        The optional result.
      • hasArgsFile

        public final boolean hasArgsFile()
        Returns:
        true if an args file was passed and analyzed.
        This shall not be called before main(String[]) is called.
      • getReferencePath

        public final Path getReferencePath()
        Returns the reference directory as a Path.

        It is the directory that contains args-file, if this option has been used, or the current directory otherwise.

        Returns:
        The reference directory.
      • resolveToReferencePath

        public File resolveToReferencePath​(File file)
      • buildOptions

        protected org.apache.commons.cli.Options buildOptions()
        Creates options, add standard and specific options and returns them.
        Returns:
        The options.
      • getOptionsAsOptional

        protected org.apache.commons.cli.Options getOptionsAsOptional()
        Returns:
        Build all options and make them optional.
      • printHelp

        protected void printHelp​(org.apache.commons.cli.Options options,
                                 Exception e)
      • printVersion

        protected void printVersion()
      • getValue

        public static <T> T getValue​(org.apache.commons.cli.CommandLine cl,
                                     String opt,
                                     T def,
                                     Function<String,​T> converter,
                                     AbstractMainSupport.ValueChecker<? super T> checker)
                              throws org.apache.commons.cli.ParseException
        Returns the checked conversion of an option value to a type, or a checked default value.

        • If option is present:
          1. tries to convert the option value to <T> using converter.
            If conversion fails, a ParseException is thrown.
          2. then checks the conversion result using checker.
            If check fails, a ParseException is thrown.
          3. then returns the conversion result.
        • If option is absent:
          • checks the def using checker.
            If check fails, a ParseException is thrown.
          • returns def.
        Note: if option is optional, checker should accept def, whether it is null or not.
        Type Parameters:
        T - The returned value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value. MAY BE null.
        converter - Function used to convert a String to the expected type.
        checker - The value checker.
        Returns:
        The checked conversion of the option value to <T> type or checked def.
        Throws:
        org.apache.commons.cli.ParseException - If option value could not be converted, or check failed.
      • getValue

        public static <T> T getValue​(org.apache.commons.cli.CommandLine cl,
                                     String opt,
                                     T def,
                                     Function<String,​T> converter)
                              throws org.apache.commons.cli.ParseException
        Returns the conversion of an option value to a type, or a default value.

        • If the option is present:
          1. tries to convert the option value to <T> using converter.
            If conversion fails, a ParseException is thrown.
          2. then returns the conversion result.
        • If the option is absent: returns def.
        Note: this is equivalent to calling getValue(cl, opt, def, converter, IS_TRUE).
        Type Parameters:
        T - The returned value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value. MAY BE null.
        converter - Function used to convert a String to the expected type.
        Returns:
        The conversion of the option value to <T> type or def.
        Throws:
        org.apache.commons.cli.ParseException - If option value could not be converted.
      • fillValues

        public static <T> void fillValues​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          Collection<T> values,
                                          Function<String,​T> converter,
                                          AbstractMainSupport.ValueChecker<? super T> checker)
                                   throws org.apache.commons.cli.ParseException
        Adds option values to a collection, after converting and checking them.
        Type Parameters:
        T - The value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        values - The collection of values.
        converter - Function used to convert a String to the expected type.
        checker - The value checker.
        Throws:
        org.apache.commons.cli.ParseException - When a conversion or check failed.
      • fillValues

        public static <T> void fillValues​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          Collection<T> values,
                                          Function<String,​T> converter)
                                   throws org.apache.commons.cli.ParseException
        Adds option values to a collection, after converting them.

        Note: this is equivalent to calling fillValues(cl, opt, values, converter, IS_TRUE).

        Type Parameters:
        T - The value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        values - The collection of values.
        converter - Function used to convert a String to the expected type.
        Throws:
        org.apache.commons.cli.ParseException - When a conversion failed.
      • getValues

        public static <T> List<T> getValues​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            Function<String,​T> converter,
                                            AbstractMainSupport.ValueChecker<? super T> checker)
                                     throws org.apache.commons.cli.ParseException
        Returns the values of an option, converted and checked, as a List.
        Type Parameters:
        T - The value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        converter - Function used to convert a String to the expected type.
        checker - The value checker.
        Returns:
        A List of values.
        Throws:
        org.apache.commons.cli.ParseException - When a conversion or check failed.
      • getValues

        public static <T> List<T> getValues​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            Function<String,​T> converter)
                                     throws org.apache.commons.cli.ParseException
        Returns the values of an option, converted, as a List.

        Note: this is equivalent to calling getValues(cl, opt, converter, IS_TRUE).

        Type Parameters:
        T - The value type.
        Parameters:
        cl - The command line.
        opt - The option name.
        converter - Function used to convert a String to the expected type.
        Returns:
        A List of values.
        Throws:
        org.apache.commons.cli.ParseException - When a conversion failed.
      • fillValues

        public static void fillValues​(org.apache.commons.cli.CommandLine cl,
                                      String opt,
                                      Collection<String> values)
        Adds the values of an option to a String collection.
        Parameters:
        cl - The command line.
        opt - The option name.
        values - The collection of values.
      • getValues

        public static List<String> getValues​(org.apache.commons.cli.CommandLine cl,
                                             String opt)
        Returns the values of an option as a String List.
        Parameters:
        cl - The command line.
        opt - The option name.
        Returns:
        The values of option opt as a String List.
      • getValueAsResolvedFile

        public File getValueAsResolvedFile​(org.apache.commons.cli.CommandLine cl,
                                           String opt,
                                           File def,
                                           AbstractMainSupport.ValueChecker<? super File> checker)
                                    throws org.apache.commons.cli.ParseException
        Returns an option as a resolved file.

        • Converts option to a File or use default value.
        • If this result is null, checks it and returns null.
        • Otherwise, resolve this result using getReferencePath(), checks the resolution and returns it.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - The default value.
        checker - The checker.
        Returns:
        The checked resolved option value or checked default value as a file.
        Throws:
        org.apache.commons.cli.ParseException - When conversion failed or check failed.
      • getValueAsResolvedFile

        public File getValueAsResolvedFile​(org.apache.commons.cli.CommandLine cl,
                                           String opt,
                                           AbstractMainSupport.ValueChecker<? super File> checker)
                                    throws org.apache.commons.cli.ParseException
        Returns an option as a resolved file.

        Note: this is equivalent to getValueAsResolvedFile(cl, opt, null, checker).

        Parameters:
        cl - The command line.
        opt - The option name.
        checker - The checker.
        Returns:
        The checked resolved option value or checked null as a file.
        Throws:
        org.apache.commons.cli.ParseException - When conversion failed or check failed.
      • getValueAsResolvedFile

        public File getValueAsResolvedFile​(org.apache.commons.cli.CommandLine cl,
                                           String opt,
                                           File def)
                                    throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsResolvedFile

        public File getValueAsResolvedFile​(org.apache.commons.cli.CommandLine cl,
                                           String opt)
                                    throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsFile

        public static File getValueAsFile​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          File def,
                                          AbstractMainSupport.ValueChecker<? super File> checker)
                                   throws org.apache.commons.cli.ParseException
        Returns an option as a File.

        Note: if option is optional, checker should accept def, whether it is null or not.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - The default value.
        checker - The checker.
        Returns:
        The checked conversion of option to a File or the checked default value.
        Throws:
        org.apache.commons.cli.ParseException - If option value could not be converted to a File, or check failed.
      • getValueAsFile

        public static File getValueAsFile​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          AbstractMainSupport.ValueChecker<? super File> checker)
                                   throws org.apache.commons.cli.ParseException
        Returns an option as a File.

        Note: if option is optional, checker should accept null.

        Note: this is equivalent to getValueAsFile(cl, opt, null, checker).

        Parameters:
        cl - The command line.
        opt - The option name.
        checker - The checker.
        Returns:
        The checked conversion of option to a File or the checked null.
        Throws:
        org.apache.commons.cli.ParseException - If option value could not be converted to a File, or check failed.
      • getValueAsFile

        public static File getValueAsFile​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          File def)
                                   throws org.apache.commons.cli.ParseException
        Returns an option value as a File.

        If option is absent, returns a default value.
        Result is null only when option does not exist and default value is null.

        Note: this is equivalent to getValueAsFile(cl, opt, def, IS_TRUE).

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a File.
        Throws:
        org.apache.commons.cli.ParseException - If result could not be produced.
      • getValueAsFile

        public static File getValueAsFile​(org.apache.commons.cli.CommandLine cl,
                                          String opt)
                                   throws org.apache.commons.cli.ParseException
        Returns an option value as a File.

        If option is absent, returns null.

        Note: this is equivalent to getValueAsFile(cl, opt, null, IS_TRUE).

        Parameters:
        cl - The command line.
        opt - The option name.
        Returns:
        The option value as a File.
        Throws:
        org.apache.commons.cli.ParseException - If result could not be produced.
      • getValueAsExistingFile

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingFile​(org.apache.commons.cli.CommandLine cl,
                                                  String opt,
                                                  File def)
                                           throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsExistingFile

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingFile​(org.apache.commons.cli.CommandLine cl,
                                                  String opt)
                                           throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsDirectory

        public static File getValueAsDirectory​(org.apache.commons.cli.CommandLine cl,
                                               String opt,
                                               File def)
                                        throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsDirectory

        public static File getValueAsDirectory​(org.apache.commons.cli.CommandLine cl,
                                               String opt)
                                        throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsNullOrExistingFile

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingFile​(org.apache.commons.cli.CommandLine cl,
                                                        String opt,
                                                        File def)
                                                 throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns an option value as an existing file or null.

        If option is absent, returns a default value (possibly null).
        If result is not null and does not exist as a file, throws an exception.
        To obtain a null result :

        • default value must be set to null.
        • option must be absent.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value. MAY BE null.
        Returns:
        The option value or default value. Is either an existing file or null.
        Throws:
        org.apache.commons.cli.ParseException - If result is not null and does not exist.
      • getValueAsNullOrExistingFile

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingFile​(org.apache.commons.cli.CommandLine cl,
                                                        String opt)
                                                 throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsExistingDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingDirectory​(org.apache.commons.cli.CommandLine cl,
                                                       String opt,
                                                       File def)
                                                throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsExistingDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingDirectory​(org.apache.commons.cli.CommandLine cl,
                                                       String opt)
                                                throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsNullOrExistingDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingDirectory​(org.apache.commons.cli.CommandLine cl,
                                                             String opt,
                                                             File def)
                                                      throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns an option value as an existing directory or null.

        If option is absent, returns a default value (possibly null).
        If result is not null and does not exist as a directory, throws an exception.
        To obtain a null result :

        • default value must be set to null.
        • option must be absent.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value or default value. Is either an existing directory or null.
        Throws:
        org.apache.commons.cli.ParseException - If result is not null and does not exist.
      • getValueAsNullOrExistingDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingDirectory​(org.apache.commons.cli.CommandLine cl,
                                                             String opt)
                                                      throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsExistingFileOrDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingFileOrDirectory​(org.apache.commons.cli.CommandLine cl,
                                                             String opt,
                                                             File def)
                                                      throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsExistingFileOrDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsExistingFileOrDirectory​(org.apache.commons.cli.CommandLine cl,
                                                             String opt)
                                                      throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsNullOrExistingFileOrDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingFileOrDirectory​(org.apache.commons.cli.CommandLine cl,
                                                                   String opt,
                                                                   File def)
                                                            throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns an option value as an existing file or directory or null.

        If option is absent, returns a default value (possibly null).
        If result is not null and does not exist as a file or directory, throws an exception.
        To obtain a null result :

        • default value must be set to null.
        • option must be absent.
        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value or default value. Is either an existing file or directory or null.
        Throws:
        org.apache.commons.cli.ParseException - If result is not null and does not exist.
      • getValueAsNullOrExistingFileOrDirectory

        @Deprecated(forRemoval=true)
        public static File getValueAsNullOrExistingFileOrDirectory​(org.apache.commons.cli.CommandLine cl,
                                                                   String opt)
                                                            throws org.apache.commons.cli.ParseException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsURL

        public static URL getValueAsURL​(org.apache.commons.cli.CommandLine cl,
                                        String opt,
                                        URL def)
                                 throws org.apache.commons.cli.ParseException
        Returns an option value as an URL.

        If option is absent, returns a default value (possibly null).
        If option is present and can be converted to an URL, returns this conversion.
        Otherwise, raises an exception.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value or default value.
        Throws:
        org.apache.commons.cli.ParseException - If option is present and can not be converted to a valid URL.
      • getValueAsURL

        public static URL getValueAsURL​(org.apache.commons.cli.CommandLine cl,
                                        String opt)
                                 throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsCharset

        public static Charset getValueAsCharset​(org.apache.commons.cli.CommandLine cl,
                                                String opt,
                                                Charset def)
                                         throws org.apache.commons.cli.ParseException
        Returns an option value as a Charset.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a Charset.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a Charset.
      • getValueAsCharset

        public static Charset getValueAsCharset​(org.apache.commons.cli.CommandLine cl,
                                                String opt)
                                         throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsString

        public static String getValueAsString​(org.apache.commons.cli.CommandLine cl,
                                              String opt,
                                              String def)
        Returns an option value as a string.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a string.
      • getValueAsChar

        public static char getValueAsChar​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          char def)
                                   throws org.apache.commons.cli.ParseException
        Returns an option value as a char.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a char.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a char.
      • getValueAsChar

        public static Character getValueAsChar​(org.apache.commons.cli.CommandLine cl,
                                               String opt,
                                               Character def)
                                        throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsLong

        public static long getValueAsLong​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          long def)
                                   throws org.apache.commons.cli.ParseException
        Returns an option value as a long.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a long.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a long.
      • getValueAsLong

        public static Long getValueAsLong​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          Long def)
                                   throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsInt

        public static int getValueAsInt​(org.apache.commons.cli.CommandLine cl,
                                        String opt,
                                        int def)
                                 throws org.apache.commons.cli.ParseException
        Returns an option value as an int.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as an int.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as an int.
      • getValueAsInt

        public static Integer getValueAsInt​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            Integer def)
                                     throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsShort

        public static short getValueAsShort​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            short def)
                                     throws org.apache.commons.cli.ParseException
        Returns an option value as a short.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a short.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a short.
      • getValueAsShort

        public static Short getValueAsShort​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            Short def)
                                     throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsByte

        public static byte getValueAsByte​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          byte def)
                                   throws org.apache.commons.cli.ParseException
        Returns an option value as a byte.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a byte.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a byte.
      • getValueAsByte

        public static Byte getValueAsByte​(org.apache.commons.cli.CommandLine cl,
                                          String opt,
                                          Byte def)
                                   throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsDouble

        public static double getValueAsDouble​(org.apache.commons.cli.CommandLine cl,
                                              String opt,
                                              double def)
                                       throws org.apache.commons.cli.ParseException
        Returns an option value as a double.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a double.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a double.
      • getValueAsDouble

        public static Double getValueAsDouble​(org.apache.commons.cli.CommandLine cl,
                                              String opt,
                                              Double def)
                                       throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsFloat

        public static float getValueAsFloat​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            float def)
                                     throws org.apache.commons.cli.ParseException
        Returns an option value as a float.

        If option is absent, returns a default value.

        Parameters:
        cl - The command line.
        opt - The option name.
        def - Default value.
        Returns:
        The option value as a float.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as a float.
      • getValueAsFloat

        public static Float getValueAsFloat​(org.apache.commons.cli.CommandLine cl,
                                            String opt,
                                            Float def)
                                     throws org.apache.commons.cli.ParseException
        Throws:
        org.apache.commons.cli.ParseException
      • getValueAsEnum

        public static <E extends Enum<E>> E getValueAsEnum​(org.apache.commons.cli.CommandLine cl,
                                                           String opt,
                                                           Class<E> enumClass,
                                                           E def)
                                                    throws org.apache.commons.cli.ParseException
        Returns an option value as a enum.

        If option is absent, returns a default value.

        Type Parameters:
        E - The enum type.
        Parameters:
        cl - The command line.
        opt - The option name.
        enumClass - Enum class
        def - Default value.
        Returns:
        The option value as an enum.
        Throws:
        org.apache.commons.cli.ParseException - If the option value can not be parsed as an enum value.
      • getNumberOfParts

        public static int getNumberOfParts​(String s,
                                           String sep)