Example usage for org.apache.commons.cli Option.Builder required

List of usage examples for org.apache.commons.cli Option.Builder required

Introduction

In this page you can find the example usage for org.apache.commons.cli Option.Builder required.

Prototype

boolean required

To view the source code for org.apache.commons.cli Option.Builder required.

Click Source Link

Document

specifies whether this option is required to be present

Usage

From source file:de.vandermeer.skb.datatool.applications.options.AO_DataEntryType.java

/**
 * Returns the new option.//from   ww w  . j  a v a2 s  . c  om
 * @param tlMap entry types supported by an application for long description
 * @throws NullPointerException - if description parameter is null
 * @throws IllegalArgumentException - if description parameter is empty
 */
public AO_DataEntryType(TypeLoaderMap tlMap) {
    super("specifies the type the tool should process", "###");

    Option.Builder builder = Option.builder("e");
    builder.longOpt("entry-type");
    builder.required(true);
    builder.hasArg().argName("TYPE");
    this.setCliOption(builder.build());

    this.tlMap = tlMap;
}

From source file:de.vandermeer.skb.datatool.applications.options.AO_KeySeparator.java

/**
 * Returns the new option./* www  . j a v  a 2 s  .  c  o  m*/
 * @param defaultValue option default value
 * @param longDescription option long description
 * @throws NullPointerException - if description parameter is null
 * @throws IllegalArgumentException - if description parameter is empty
 */
public AO_KeySeparator(Character defaultValue, String longDescription) {
    super(defaultValue, "a character as separator between elements of a key", longDescription);

    Option.Builder builder = Option.builder();
    builder.longOpt("key-sep");
    builder.hasArg().argName("SEP");
    builder.required(false);
    this.setCliOption(builder.build());
}

From source file:de.vandermeer.skb.datatool.applications.options.AO_DataTarget.java

/**
 * Returns the new option.//w  w  w  . j  a va  2  s.c  om
 * @param required true if option is required, false of it is optional
 * @param tlMap entry types supported by an application for long description
 * @throws NullPointerException - if description parameter is null
 * @throws IllegalArgumentException - if description parameter is empty
 */
public AO_DataTarget(boolean required, TypeLoaderMap tlMap) {
    super("specifies a target for output generation and character conversion", "###");

    Option.Builder builder = Option.builder("t");
    builder.longOpt("target");
    builder.hasArg().argName("TARGET");
    builder.required(required);
    this.setCliOption(builder.build());
    this.tlMap = tlMap;
}

From source file:org.apache.batchee.cli.BatchEECLI.java

private static Options buildOptions(final Class<? extends Runnable> cmd, Map<String, Field> fields) {
    final Options options = new Options();
    Class<?> it = cmd;/*from ww  w.j  a v  a  2s .  c  om*/
    while (it != null) {
        for (final Field f : it.getDeclaredFields()) {
            final org.apache.batchee.cli.command.api.Option option = f
                    .getAnnotation(org.apache.batchee.cli.command.api.Option.class);
            final org.apache.batchee.cli.command.api.Arguments arguments = f
                    .getAnnotation(org.apache.batchee.cli.command.api.Arguments.class);
            if (option != null && arguments != null) {
                throw new IllegalArgumentException("An @Option can't get @Arguments: " + f);
            }

            if (option != null) {
                final String name = option.name();
                final Option.Builder builder = Option.builder(name).desc(option.description()).hasArg();
                if (option.required()) {
                    builder.required();
                }
                options.addOption(builder.build());
                fields.put(name, f);
                f.setAccessible(true);
            } else if (arguments != null) {
                if (fields.put("", f) != null) {
                    throw new IllegalArgumentException("A command can only have a single @Arguments");
                }
                f.setAccessible(true);
            }
        }
        it = it.getSuperclass();
    }
    return options;
}