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>.