public class ToolOptions
extends java.lang.Object
In contrast to flags, options are instance based which makes them more suitable for calling tools in-process.
The class defines a set of standard options which are shared between all tools based on the framework. Additional options can be defined on a per-tool basis. Environment dependent helper classes are provided which can create tool options from program arguments.
| Modifier and Type | Class and Description |
|---|---|
static class |
ToolOptions.Option<T>
Represents an option.
|
| Modifier and Type | Field and Description |
|---|---|
static ToolOptions.Option<java.util.List<FileWrapper>> |
CONFIG_FILE_CONTENTS |
static ToolOptions.Option<java.util.List<java.lang.String>> |
CONFIG_FILES |
static ToolOptions.Option<java.lang.String> |
DATA_PATH |
static ToolOptions.Option<java.lang.String> |
DESCRIPTOR_SET |
static ToolOptions.Option<FileWrapper> |
DESCRIPTOR_SET_CONTENTS |
static ToolOptions.Option<java.util.List<java.lang.String>> |
EXPERIMENTS |
static ToolOptions.Option<java.lang.String> |
EXTENSION_DESCRIPTOR_SET |
static ToolOptions.Option<FileWrapper> |
EXTENSION_DESCRIPTOR_SET_CONTENTS |
static ToolOptions.Option<java.lang.String> |
OUTPUT_ENDPOINT |
static ToolOptions.Option<java.util.List<java.lang.String>> |
PROTO_SOURCES |
static ToolOptions.Option<java.lang.String> |
VISIBILITY_LABELS |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.Iterable<ToolOptions.Option<?>> |
allOptions()
Returns all options which have been created so far.
|
static org.apache.commons.cli.Options |
convertToApacheCliOptions(com.google.common.collect.ImmutableList<ToolOptions.Option<?>> frameworkOptions)
Convert a collection of
ToolOptions.Option into an instance of Apache options Options |
static ToolOptions |
create()
Returns new empty tool options instance.
|
static <T> ToolOptions.Option<T> |
createOption(java.lang.Class<T> type,
java.lang.String name,
java.lang.String description,
T defaultValue)
Creates a new option from a type.
|
static <T> ToolOptions.Option<T> |
createOption(com.google.inject.TypeLiteral<T> type,
java.lang.String name,
java.lang.String description,
T defaultValue)
Creates a new option from a type literal.
|
static <T> ToolOptions.Option<T> |
createOptionNoFlag(com.google.inject.TypeLiteral<T> type,
java.lang.String name,
java.lang.String description,
T defaultValue) |
static ToolOptions.Option<java.util.List<java.lang.String>> |
createRemainingArgsOption(java.lang.String name,
java.lang.String description,
java.util.List<java.lang.String> defaultValue)
Creates a new option for a list of strings which is marked to not become a flag if converted to
program arguments but takes all additional (non-flag) program arguments.
|
<T> T |
get(ToolOptions.Option<T> option)
Gets an option, or its default value if it is not set.
|
static ToolOptions |
getToolOptionsFromCommandLine(org.apache.commons.cli.CommandLine cmd,
com.google.common.collect.ImmutableList<ToolOptions.Option<?>> frameworkOptions)
Values passed by user on the command line is converted into appropriate type and is filled into
an a new instance ToolOptions, which is returned back to the caller.
|
static boolean |
isHelpFlagSet(org.apache.commons.cli.CommandLine cmd)
Check if help flag is set by user.
|
static void |
printUsage(java.lang.String cmdLineSyntax,
org.apache.commons.cli.Options options)
Print usage statement.
|
<T> ToolOptions |
set(ToolOptions.Option<T> option,
T value)
Sets an option.
|
public static final ToolOptions.Option<java.lang.String> DESCRIPTOR_SET
public static final ToolOptions.Option<FileWrapper> DESCRIPTOR_SET_CONTENTS
public static final ToolOptions.Option<java.util.List<java.lang.String>> CONFIG_FILES
public static final ToolOptions.Option<java.util.List<FileWrapper>> CONFIG_FILE_CONTENTS
public static final ToolOptions.Option<java.util.List<java.lang.String>> PROTO_SOURCES
public static final ToolOptions.Option<java.util.List<java.lang.String>> EXPERIMENTS
public static final ToolOptions.Option<java.lang.String> VISIBILITY_LABELS
public static final ToolOptions.Option<java.lang.String> DATA_PATH
public static final ToolOptions.Option<java.lang.String> OUTPUT_ENDPOINT
public static final ToolOptions.Option<java.lang.String> EXTENSION_DESCRIPTOR_SET
public static final ToolOptions.Option<FileWrapper> EXTENSION_DESCRIPTOR_SET_CONTENTS
public static <T> ToolOptions.Option<T> createOption(java.lang.Class<T> type, java.lang.String name, java.lang.String description, T defaultValue)
public static <T> ToolOptions.Option<T> createOption(com.google.inject.TypeLiteral<T> type, java.lang.String name, java.lang.String description, @Nullable T defaultValue)
public static ToolOptions.Option<java.util.List<java.lang.String>> createRemainingArgsOption(java.lang.String name, java.lang.String description, @Nullable java.util.List<java.lang.String> defaultValue)
public static <T> ToolOptions.Option<T> createOptionNoFlag(com.google.inject.TypeLiteral<T> type, java.lang.String name, java.lang.String description, @Nullable T defaultValue)
public static java.lang.Iterable<ToolOptions.Option<?>> allOptions()
public static ToolOptions create()
public <T> ToolOptions set(ToolOptions.Option<T> option, @Nullable T value)
public <T> T get(ToolOptions.Option<T> option)
public static ToolOptions getToolOptionsFromCommandLine(org.apache.commons.cli.CommandLine cmd, com.google.common.collect.ImmutableList<ToolOptions.Option<?>> frameworkOptions)
public static boolean isHelpFlagSet(org.apache.commons.cli.CommandLine cmd)
public static org.apache.commons.cli.Options convertToApacheCliOptions(com.google.common.collect.ImmutableList<ToolOptions.Option<?>> frameworkOptions)
ToolOptions.Option into an instance of Apache options Options
This also adds a help options by default. This can be used for printing usage text.
public static void printUsage(java.lang.String cmdLineSyntax,
org.apache.commons.cli.Options options)