public final class ArgumentBuilder extends Object
Constructor and Description |
---|
ArgumentBuilder() |
Modifier and Type | Method and Description |
---|---|
String[] |
build()
Retrieves all arguments as a string array, usable by a method accepting a String[] for argument.
|
ArgumentBuilder |
withFlag(boolean addFlag,
String flag)
Adds a flag on the form
-someflag to the list of arguments contained within this ArgumentBuilder. |
ArgumentBuilder |
withNamedArgument(boolean addNamedArgument,
String name,
String value)
Adds a name and an argument on the form
-name value to the list of arguments contained
within this ArgumentBuilder. |
ArgumentBuilder |
withNamedArgument(String name,
String value)
Convenience form for the
withNamedArgument method, where a named argument is only added
if the value is non-null and non-empty after trimming. |
ArgumentBuilder |
withPreCompiledArguments(List<String> preCompiledArguments)
Adds the supplied pre-compiled arguments in the same order as they were given.
|
public String[] build()
Retrieves all arguments as a string array, usable by a method accepting a String[] for argument.
This would be true of public static void main(String[] args)
, as well as the entry points
for both the XJC and the Schemagen tools.
public ArgumentBuilder withFlag(boolean addFlag, String flag)
Adds a flag on the form -someflag
to the list of arguments contained within this ArgumentBuilder.
If the flag
argument does not start with a dash ('-'), one will be prepended.
Typical usage:
argumentBuilder
.withFlag(someBooleanParameter, "foobar")
.withFlag(someOtherBooleanParameter, "gnat")
.withFlag(someThirdBooleanParameter, "gnu")
....
addFlag
- if true
, the flag will be added to the underlying list of arguments
within this ArgumentBuilder.flag
- The flag/argument to add. The flag must be a complete word, implying it
cannot contain whitespace.public ArgumentBuilder withNamedArgument(boolean addNamedArgument, String name, String value)
Adds a name and an argument on the form -name value
to the list of arguments contained
within this ArgumentBuilder. The two parts will yield 2 elements in the underlying argument list.
If the name
argument does not start with a dash ('-'), one will be prepended.
Typical usage:
// These values should be calculated as part of the business logic
final boolean addFooBar = true;
final boolean addGnat = true;
final boolean addGnu = false;
// Add all relevant arguments
argumentBuilder
.withNamedArgument(addFooBar, "foobar", "foobarValue")
.withNamedArgument(addGnat, "-gnat", "gnatValue")
.withNamedArgument(addGnu, "gnu", "gnuValue")
....
addNamedArgument
- if true
, the named argument (name and value) will be added to
the underlying list of arguments within this ArgumentBuilder.name
- The name of the namedArgument to add. Cannot be empty.value
- The value of the namedArgument to add.public ArgumentBuilder withNamedArgument(String name, String value)
withNamedArgument
method, where a named argument is only added
if the value is non-null and non-empty after trimming.name
- The name of the namedArgument to add. Cannot be empty.value
- The value of the namedArgument to add.withNamedArgument(boolean, String, String)
public ArgumentBuilder withPreCompiledArguments(List<String> preCompiledArguments)
preCompiledArguments
- A non-null List holding pre-compiled arguments.Copyright © 2005–2015 MojoHaus. All rights reserved.