import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
public abstract class Parameter<T, I extends Parameter> {
- public String description;
- public final ArrayList<String> arguments = new ArrayList<>();
- ArgumentCount argumentCount;
- private final ArrayList<String> aliases = new ArrayList<>();
+ public final String description;
+ public final List<String> arguments = new ArrayList<>();
+ final ArgumentCount argumentCount;
+ private final List<String> aliases = new ArrayList<>();
/**
* Indicates that at least one argument is mandatory for this parameter.
*/
// save aliases
Collections.addAll(aliases, aliasArray);
- return (I)this;
+ return (I) this;
}
/**
// first line
buffer.append(getAliases());
if (!argumentCount.equals(ArgumentCount.NONE)) {
- buffer.append(" (" + describeFormat() + ")");
+ buffer
+ .append(" (")
+ .append(isMandatory() ? "mandatory, " : "")
+ .append(describeFormat())
+ .append(")");
if (argumentCount.equals(ArgumentCount.MULTI))
buffer.append("...");
@SuppressWarnings("unchecked")
public I setMandatory() {
mandatory = true;
- return (I)this;
+ return (I) this;
}
/**