Class ArgumentBuilder
- java.lang.Object
-
- org.codehaus.mojo.jaxb2.shared.arguments.ArgumentBuilder
-
public final class ArgumentBuilder extends Object
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 Constructor Description ArgumentBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]build()Retrieves all arguments as a string array, usable by a method accepting a String[] for argument.ArgumentBuilderwithFlag(boolean addFlag, String flag)Adds a flag on the form-someflagto the list of arguments contained within this ArgumentBuilder.ArgumentBuilderwithNamedArgument(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.ArgumentBuilderwithNamedArgument(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.ArgumentBuilderwithPreCompiledArguments(List<String> preCompiledArguments)Adds the supplied pre-compiled arguments in the same order as they were given.
-
-
-
Method Detail
-
build
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.- Returns:
- an array holding all arguments in this ArgumentBuilder.
-
withFlag
public ArgumentBuilder withFlag(boolean addFlag, String flag)
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
public 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. 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
public 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.- 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:
withNamedArgument(boolean, String, String)
-
withPreCompiledArguments
public ArgumentBuilder withPreCompiledArguments(List<String> preCompiledArguments)
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.
-
-