Class ArgumentBuilder
java.lang.Object
org.codehaus.mojo.jaxb2.shared.arguments.ArgumentBuilder
Utility class to build an array containing method arguments, as received from a command-line invocation of a tool.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionString[]
build()
Retrieves all arguments as a string array, usable by a method accepting a String[] for argument.private int
getIndexForFlag
(String name) private boolean
updateValueForNamedArgument
(String name, String newValue) Adds a flag on the form-someflag
to the list of arguments contained within this 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.withNamedArgument
(String name, String value) Convenience form for thewithNamedArgument
method, where a named argument is only added if the value is non-null and non-empty after trimming.withPreCompiledArguments
(List<String> preCompiledArguments) Adds the supplied pre-compiled arguments in the same order as they were given.
-
Field Details
-
lock
-
NOT_FOUND
private static final int NOT_FOUND- See Also:
-
DASH
private static final char DASH- See Also:
-
arguments
-
-
Constructor Details
-
ArgumentBuilder
public ArgumentBuilder()
-
-
Method Details
-
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.- Returns:
- an array holding all arguments in this ArgumentBuilder.
-
withFlag
Adds a flag on the form
-someflag
to the list of arguments contained within this ArgumentBuilder. If theflag
argument does not start with a dash ('-'), one will be prepended.Typical usage:
argumentBuilder .withFlag(someBooleanParameter, "foobar") .withFlag(someOtherBooleanParameter, "gnat") .withFlag(someThirdBooleanParameter, "gnu") ....
- Parameters:
addFlag
- iftrue
, 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.- Returns:
- This ArgumentBuilder, for chaining.
-
withNamedArgument
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 thename
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") ....
- Parameters:
addNamedArgument
- iftrue
, 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.- Returns:
- This ArgumentBuilder, for chaining.
-
withNamedArgument
Convenience form for thewithNamedArgument
method, where a named argument is only added if the value is non-null and non-empty after trimming.- Parameters:
name
- The name of the namedArgument to add. Cannot be empty.value
- The value of the namedArgument to add.- Returns:
- This ArgumentBuilder, for chaining.
- See Also:
-
withPreCompiledArguments
Adds the supplied pre-compiled arguments in the same order as they were given.- Parameters:
preCompiledArguments
- A non-null List holding pre-compiled arguments.- Returns:
- This ArgumentBuilder, for chaining.
-
getIndexForFlag
-
updateValueForNamedArgument
-