summaryrefslogtreecommitdiff
path: root/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters
diff options
context:
space:
mode:
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters')
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java18
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleArrayListParameter.java (renamed from elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java)78
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java6
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java15
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java27
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java11
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java1
21 files changed, 120 insertions, 50 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java
index d78d0dcc..17d17c6d 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java
@@ -44,6 +44,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstra
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*
* @apiviz.composedOf OptionID
* @apiviz.uses ParameterConstraint
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
index d9d1a3a2..b0ce1bc7 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
@@ -40,6 +40,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*
* @apiviz.uses ELKIServiceRegistry
*
@@ -96,6 +97,23 @@ public class ClassListParameter<C> extends ListParameter<ClassListParameter<C>,
return buf.toString();
}
+ @Override
+ public String getDefaultValueAsString() {
+ StringBuilder buf = new StringBuilder();
+ final String defPackage = restrictionClass.getPackage().getName() + ".";
+ for(Class<? extends C> c : getDefaultValue()) {
+ if(buf.length() > 0) {
+ buf.append(LIST_SEP);
+ }
+ String name = c.getName();
+ if(name.startsWith(defPackage)) {
+ name = name.substring(defPackage.length());
+ }
+ buf.append(name);
+ }
+ return buf.toString();
+ }
+
@SuppressWarnings("unchecked")
@Override
protected List<Class<? extends C>> parseValue(Object obj) throws ParameterException {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java
index 6f562838..39e0daae 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java
@@ -43,6 +43,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.2
*
* @apiviz.uses ELKIServiceRegistry
*
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleArrayListParameter.java
index b6d999fb..696adbff 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleArrayListParameter.java
@@ -3,7 +3,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2015
+ Copyright (C) 2016
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -23,12 +23,11 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters;
*/
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
-import de.lmu.ifi.dbs.elki.math.linearalgebra.Vector;
import de.lmu.ifi.dbs.elki.utilities.FormatUtil;
-import de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.DoubleArray;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.ParameterException;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException;
@@ -39,8 +38,9 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstra
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
-public class VectorListParameter extends ListParameter<VectorListParameter, List<Vector>> {
+public class DoubleArrayListParameter extends ListParameter<DoubleArrayListParameter, List<double[]>> {
/**
* Constructs a vector list parameter with the given name and description.
*
@@ -48,7 +48,7 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
* @param constraint Constraint
* @param defaultValue Default value
*/
- public VectorListParameter(OptionID optionID, ParameterConstraint<List<Vector>> constraint, List<Vector> defaultValue) {
+ public DoubleArrayListParameter(OptionID optionID, ParameterConstraint<List<double[]>> constraint, List<double[]> defaultValue) {
super(optionID, defaultValue);
addConstraint(constraint);
}
@@ -60,7 +60,7 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
* @param constraint Constraint
* @param optional Optional flag
*/
- public VectorListParameter(OptionID optionID, ParameterConstraint<List<Vector>> constraint, boolean optional) {
+ public DoubleArrayListParameter(OptionID optionID, ParameterConstraint<List<double[]>> constraint, boolean optional) {
super(optionID, optional);
addConstraint(constraint);
}
@@ -71,7 +71,7 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
* @param optionID Option ID
* @param constraint Constraint
*/
- public VectorListParameter(OptionID optionID, ParameterConstraint<List<Vector>> constraint) {
+ public DoubleArrayListParameter(OptionID optionID, ParameterConstraint<List<double[]>> constraint) {
super(optionID);
addConstraint(constraint);
}
@@ -82,11 +82,9 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
* @param optionID Option ID
* @param defaultValue Default value
*/
- // Indiscernible from optionID, constraints
- /*
- * public VectorListParameter(OptionID optionID, List<Vector> defaultValue) {
- * super(optionID, defaultValue); }
- */
+ public DoubleArrayListParameter(OptionID optionID, List<double[]> defaultValue) {
+ super(optionID, defaultValue);
+ }
/**
* Constructs a vector list parameter with the given name and description.
@@ -94,7 +92,7 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
* @param optionID Option ID
* @param optional Optional flag
*/
- public VectorListParameter(OptionID optionID, boolean optional) {
+ public DoubleArrayListParameter(OptionID optionID, boolean optional) {
super(optionID, optional);
}
@@ -103,17 +101,17 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
*
* @param optionID Option ID
*/
- public VectorListParameter(OptionID optionID) {
+ public DoubleArrayListParameter(OptionID optionID) {
super(optionID);
}
@Override
public String getValueAsString() {
StringBuilder buf = new StringBuilder();
- List<Vector> val = getValue();
- Iterator<Vector> valiter = val.iterator();
+ List<double[]> val = getValue();
+ Iterator<double[]> valiter = val.iterator();
while(valiter.hasNext()) {
- buf.append(FormatUtil.format(valiter.next().getArrayRef(), LIST_SEP));
+ buf.append(FormatUtil.format(valiter.next(), LIST_SEP));
// Append separation character
if(valiter.hasNext()) {
buf.append(VECTOR_SEP);
@@ -122,47 +120,47 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
return buf.toString();
}
- @SuppressWarnings("unchecked")
@Override
- protected List<Vector> parseValue(Object obj) throws ParameterException {
- try {
- List<?> l = List.class.cast(obj);
- // do extra validation:
- for(Object o : l) {
- List<?> v = List.class.cast(o);
- for(Object c : v) {
- if(!(c instanceof Double)) {
- throw new WrongParameterValueException("Wrong parameter format for parameter \"" + getName() + "\". Given list contains objects of different type!");
- }
- }
+ public String getDefaultValueAsString() {
+ StringBuilder buf = new StringBuilder();
+ List<double[]> val = getDefaultValue();
+ Iterator<double[]> valiter = val.iterator();
+ while(valiter.hasNext()) {
+ buf.append(FormatUtil.format(valiter.next(), LIST_SEP));
+ // Append separation character
+ if(valiter.hasNext()) {
+ buf.append(VECTOR_SEP);
}
- // TODO: can we use reflection to get extra checks?
- // TODO: Should we copy the list and vectors?
- return (List<Vector>) l;
- }
- catch(ClassCastException e) {
- // continue with other attempts.
}
+ return buf.toString();
+ }
+
+ @Override
+ protected List<double[]> parseValue(Object obj) throws ParameterException {
if(obj instanceof String) {
String[] vectors = VECTOR_SPLIT.split((String) obj);
if(vectors.length == 0) {
throw new WrongParameterValueException("Wrong parameter format! Given list of vectors for parameter \"" + getName() + "\" is empty!");
}
- ArrayList<Vector> vecs = new ArrayList<>();
+ ArrayList<double[]> vecs = new ArrayList<>();
- DoubleArray vectorCoord = new DoubleArray();
+ double[] buf = new double[11];
+ int used = 0;
for(String vector : vectors) {
- vectorCoord.clear();
+ used = 0;
String[] coordinates = SPLIT.split(vector);
for(String coordinate : coordinates) {
try {
- vectorCoord.add(FormatUtil.parseDouble(coordinate));
+ if(used == buf.length) {
+ buf = Arrays.copyOf(buf, buf.length << 1);
+ }
+ buf[used++] = FormatUtil.parseDouble(coordinate);
}
catch(NumberFormatException e) {
throw new WrongParameterValueException("Wrong parameter format! Coordinates of vector \"" + vector + "\" are not valid!");
}
}
- vecs.add(new Vector(vectorCoord.toArray()));
+ vecs.add(Arrays.copyOf(buf, used));
}
return vecs;
}
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
index 074bb0ed..a9fe5471 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
@@ -33,6 +33,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class DoubleListParameter extends ListParameter<DoubleListParameter, double[]> {
/**
@@ -60,6 +61,11 @@ public class DoubleListParameter extends ListParameter<DoubleListParameter, doub
}
@Override
+ public String getDefaultValueAsString() {
+ return FormatUtil.format(getDefaultValue(), LIST_SEP);
+ }
+
+ @Override
protected double[] parseValue(Object obj) throws ParameterException {
if(obj instanceof double[]) {
return double[].class.cast(obj);
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java
index a28f8d38..ef7d4a88 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.2
*/
public class DoubleParameter extends NumberParameter<DoubleParameter, Double> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java
index 0cad6e11..d1fafa79 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java
@@ -60,6 +60,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
* </p>
*
* @author Florian Nuecke
+ * @since 0.4.0
*
* @param <E> Enum type
*/
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
index e5f1b021..cc6d885f 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
@@ -37,6 +37,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class FileListParameter extends ListParameter<FileListParameter, List<File>> {
/**
@@ -89,6 +90,20 @@ public class FileListParameter extends ListParameter<FileListParameter, List<Fil
return buf.toString();
}
+ @Override
+ public String getDefaultValueAsString() {
+ StringBuilder buf = new StringBuilder();
+ List<File> val = getDefaultValue();
+ Iterator<File> veciter = val.iterator();
+ while(veciter.hasNext()) {
+ buf.append(veciter.next());
+ if (veciter.hasNext()) {
+ buf.append(LIST_SEP);
+ }
+ }
+ return buf.toString();
+ }
+
@SuppressWarnings("unchecked")
@Override
protected List<File> parseValue(Object obj) throws ParameterException {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java
index 0e865f2d..9571a018 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java
@@ -36,6 +36,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
// TODO: turn FileType into a Constraint?
public class FileParameter extends AbstractParameter<FileParameter, File> {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java
index 8d83ed2c..d1e29eb7 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java
@@ -36,6 +36,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class Flag extends AbstractParameter<Flag, Boolean> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
index 756dbb90..59bfb3a5 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
@@ -23,7 +23,6 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters;
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import de.lmu.ifi.dbs.elki.utilities.BitsUtil;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.ParameterException;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException;
@@ -33,6 +32,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Elke Achtert
* @author Erich Schubert
+ * @since 0.2
*/
public class IntListParameter extends ListParameter<IntListParameter, int[]> {
/**
@@ -70,6 +70,21 @@ public class IntListParameter extends ListParameter<IntListParameter, int[]> {
}
@Override
+ public String getDefaultValueAsString() {
+ int[] val = getDefaultValue();
+ if(val.length == 0) {
+ return "";
+ }
+ StringBuilder buf = new StringBuilder();
+ buf.append(val[0]);
+ for(int i = 1; i < val.length; i++) {
+ buf.append(LIST_SEP);
+ buf.append(val[i]);
+ }
+ return buf.toString();
+ }
+
+ @Override
protected int[] parseValue(Object obj) throws ParameterException {
if(obj instanceof int[]) {
return (int[]) obj;
@@ -95,7 +110,7 @@ public class IntListParameter extends ListParameter<IntListParameter, int[]> {
/**
* Returns a string representation of the parameter's type.
- *
+ *
* @return &quot;&lt;int_1,...,int_n&gt;&quot;
*/
@Override
@@ -105,7 +120,9 @@ public class IntListParameter extends ListParameter<IntListParameter, int[]> {
/**
* Get the values as a bitmask.
- *
+ *
+ * See also: {@link de.lmu.ifi.dbs.elki.utilities.BitsUtil}
+ *
* @return Bitmask
*/
public long[] getValueAsBitSet() {
@@ -114,9 +131,9 @@ public class IntListParameter extends ListParameter<IntListParameter, int[]> {
for(int d : value) {
maxd = (d > maxd) ? d : maxd;
}
- long[] dimensions = BitsUtil.zero(maxd);
+ long[] dimensions = new long[(maxd >>> 6) + 1];
for(int d : value) {
- BitsUtil.setI(dimensions, d);
+ dimensions[d >>> 6] |= 1L << (d & 0x3F);
}
return dimensions;
}
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java
index d6adf273..9ed15e95 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java
@@ -33,6 +33,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class IntParameter extends NumberParameter<IntParameter, Integer> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java
index 097475fb..82c4a46d 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.2
*
* @param <THIS> Type self-reference
* @param <T> List type
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java
index 11aff3cb..f44f759d 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.2
*/
public class LongParameter extends NumberParameter<LongParameter, Long> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java
index c71db779..bb5c6864 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java
@@ -30,6 +30,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.2
*
* @param <THIS> type self-reference
* @param <T> the type of a possible value (i.e., the type of the option)
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java
index baaa2765..d31c4117 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java
@@ -37,6 +37,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
* Parameter that represents a list of objects (in contrast to a class list parameter, they will be instanced at most once.)
*
* @author Erich Schubert
+ * @since 0.3
*
* @param <C> Class type
*/
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java
index 40d5b49a..aa0e4a17 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java
@@ -36,6 +36,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
* @param <C> Class type
*/
public class ObjectParameter<C> extends ClassParameter<C> {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java
index 9c2d7ea8..99751076 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java
@@ -1,10 +1,5 @@
package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.ParameterException;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.UnspecifiedParameterException;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstraint;
-
/*
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
@@ -28,6 +23,11 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstra
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
+import de.lmu.ifi.dbs.elki.utilities.optionhandling.ParameterException;
+import de.lmu.ifi.dbs.elki.utilities.optionhandling.UnspecifiedParameterException;
+import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstraint;
+
/**
* Interface for the parameter of a class.
*
@@ -38,6 +38,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstra
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*
* @apiviz.composedOf OptionID
* @apiviz.uses ParameterConstraint
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java
index 3c010db6..f2160d53 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java
@@ -36,6 +36,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class PatternParameter extends AbstractParameter<PatternParameter, Pattern> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java
index 0d5f3741..5e7d6c66 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
* Parameter for random generators and/or random seeds.
*
* @author Erich Schubert
+ * @since 0.5.5
*/
public class RandomParameter extends AbstractParameter<RandomParameter, RandomFactory> {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java
index 0f06beef..7882c9ee 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java
@@ -33,6 +33,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*/
public class StringParameter extends AbstractParameter<StringParameter, String> {
/**