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.Cache.validateWellFormed(Class)
for more details.
<T>
.