public static class PipelineOptionsFactory.Builder
extends java.lang.Object
PipelineOptions builder.| Modifier and Type | Method and Description |
|---|---|
<T extends PipelineOptions> |
as(java.lang.Class<T> klass)
Creates and returns an object that implements
<T> using the values configured on
this builder during construction. |
PipelineOptions |
create()
Creates and returns an object that implements
PipelineOptions using the values
configured on this builder during construction. |
PipelineOptionsFactory.Builder |
fromArgs(java.lang.String... args)
Sets the command line arguments to parse when constructing the
PipelineOptions. |
PipelineOptionsFactory.Builder |
withoutStrictParsing()
During parsing of the arguments, we will skip over improperly formatted and unknown
arguments.
|
PipelineOptionsFactory.Builder |
withValidation()
After creation we will validate that
PipelineOptions conforms to all the
validation criteria from <T>. |
public PipelineOptionsFactory.Builder fromArgs(java.lang.String... args)
PipelineOptions.
Example GNU style command line arguments:
--project=MyProject (simple property, will set the "project" property to "MyProject")
--readOnly=true (for boolean properties, will set the "readOnly" property to "true")
--readOnly (shorthand for boolean properties, will set the "readOnly" property to "true")
--x=1 --x=2 --x=3 (list style simple property, will set the "x" property to [1, 2, 3])
--x=1,2,3 (shorthand list style simple property, will set the "x" property to [1, 2, 3])
--complexObject='{"key1":"value1",...} (JSON format for all other complex types)
Simple properties are able to bound to String, Class, enums and Java
primitives boolean, byte, short, int, long,
float, double and their primitive wrapper classes.
Simple list style properties are able to be bound to boolean[], char[],
short[], int[], long[], float[], double[],
Class[], enum arrays, String[], and List<String>.
JSON format is required for all other types.
By default, strict parsing is enabled and arguments must conform to be either
--booleanArgName or --argName=argValue. Strict parsing can be disabled with
withoutStrictParsing(). Empty or null arguments will be ignored whether
or not strict parsing is enabled.
Help information can be output to System.out by specifying --help as an
argument. After help is printed, the application will exit. Specifying only --help
will print out the list of
registered options
by invoking PipelineOptionsFactory.printHelp(PrintStream). Specifying
--help=PipelineOptionsClassName will print out detailed usage information about the
specifically requested PipelineOptions by invoking
PipelineOptionsFactory.printHelp(PrintStream, Class).
public PipelineOptionsFactory.Builder withValidation()
PipelineOptions conforms to all the
validation criteria from <T>. See
PipelineOptionsValidator.validate(Class, PipelineOptions) for more details about
validation.public PipelineOptionsFactory.Builder withoutStrictParsing()
public PipelineOptions create()
PipelineOptions using the values
configured on this builder during construction.PipelineOptions.public <T extends PipelineOptions> T as(java.lang.Class<T> klass)
<T> using the values configured on
this builder during construction.
Note that <T> must be composable with every registered interface with this
factory. See PipelineOptionsFactory.validateWellFormed(Class, Set) for more
details.
<T>.