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.
- Author:
- Lennart Jörelid
-
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.Adds a flag on the form-someflagto 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 valueto the list of arguments contained within this ArgumentBuilder.withNamedArgument(String name, String value) Convenience form for thewithNamedArgumentmethod, 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.withPrefixedArguments(String prefix, List<String> values) Adds the supplied prefixed arguments in the same order as they were given.
-
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
-someflagto the list of arguments contained within this ArgumentBuilder. If theflagargument 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 valueto the list of arguments contained within this ArgumentBuilder. The two parts will yield 2 elements in the underlying argument list. If thenameargument 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 thewithNamedArgumentmethod, 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:
-
withPrefixedArguments
Adds the supplied prefixed arguments in the same order as they were given.- Parameters:
prefix- The prefix to add.values- A non-null List holding arguments.- Returns:
- This ArgumentBuilder, for chaining.
-
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.
-