/*
- * Svjatoslav Commons - shared library of common functionality.
- * Copyright ©2012-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 3 of the GNU Lesser General Public License
- * or later as published by the Free Software Foundation.
+ * Svjatoslav Commons - shared library of common functionality. Author: Svjatoslav Agejenko.
+ * This project is released under Creative Commons Zero (CC0) license.
*/
-
package eu.svjatoslav.commons.commandline.parameterparser;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
public abstract class Parameter<T, I extends Parameter> {
+ /**
+ * Purpose of this argument, like: input image path, compression level, etc...
+ *
+ * Note: for describing argument type (file, integer, ...) there is {@link #describeFormat()}.
+ */
public final String description;
- public final ArrayList<String> arguments = new ArrayList<>();
+
+ public final List<String> arguments = new ArrayList<>();
final ArgumentCount argumentCount;
- private final ArrayList<String> aliases = new ArrayList<>();
+ private final List<String> aliases = new ArrayList<>();
/**
* Indicates that at least one argument is mandatory for this parameter.
*/
}
/**
- * @return Single line argument type description.
+ * @return Single line argument type description. If argument type should be file,
+ * date, integer, regular expression, etc..
+ *
+ * Note: for argument purpose description there is {@link #description}
*/
public abstract String describeFormat();