*/
public class Parser {
- private final ArrayList<Parameter> parameters = new ArrayList<Parameter>();
+ private final ArrayList<Parameter<?>> parameters = new ArrayList<Parameter<?>>();
- public <E extends Parameter> E add(final E parameter) {
+ public <E extends Parameter<?>> E add(final E parameter) {
parameters.add(parameter);
return parameter;
}
*/
private boolean checkMandatoryArgumentsPresent() {
- for (final Parameter parameter : parameters)
+ for (final Parameter<?> parameter : parameters)
if (parameter.isMandatory() && (!parameter.isParameterSpecified())) {
System.out.println("Error! Mandatory parameter ("
+ parameter.getAliases() + ") is not specified.");
/**
* Return parameter by given alias or <code>null</code> if no parameter
* exists for given alias.
+ *
+ * @param alias
+ * parameter alias
+ * @return found parameter or <code>null</code> if parameter was not found.
*/
- public Parameter findParameterByAlias(final String alias) {
+ public Parameter<?> findParameterByAlias(final String alias) {
- for (final Parameter parameter : parameters)
+ for (final Parameter<?> parameter : parameters)
if (parameter.matchesAlias(alias))
return parameter;
}
/**
+ * @param args
+ * commandline arguments
* @return <code>true</code> if no errors were found. <code>false</code>
* otherwise.
*/
public boolean parse(final String[] args) {
- Parameter currentParameter = null;
+ Parameter<?> currentParameter = null;
for (final String argument : args) {
- final Parameter parameterForAlias = findParameterByAlias(argument);
+ final Parameter<?> parameterForAlias = findParameterByAlias(argument);
if (parameterForAlias == null) {
if (currentParameter == null) {
System.out.println("Unknown commandline parameter: "
}
public void showHelp() {
- for (final Parameter parameter : parameters)
+ for (final Parameter<?> parameter : parameters)
System.out.println(parameter.getHelp());
}