diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/utilities/optionhandling')
69 files changed, 207 insertions, 304 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/AbstractParameterizer.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/AbstractParameterizer.java index 0a094ced..6aa22964 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/AbstractParameterizer.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/AbstractParameterizer.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/InternalParameterizationErrors.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/InternalParameterizationErrors.java index c8797c73..1cff200a 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/InternalParameterizationErrors.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/InternalParameterizationErrors.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -63,7 +63,7 @@ public class InternalParameterizationErrors extends ParameterException { */ public InternalParameterizationErrors(String message, Exception internalError) { super(message); - final ArrayList<Exception> errors = new ArrayList<Exception>(1); + final ArrayList<Exception> errors = new ArrayList<>(1); errors.add(internalError); this.internalErrors = errors; } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/NoParameterValueException.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/NoParameterValueException.java index ce422de7..53d992ff 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/NoParameterValueException.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/NoParameterValueException.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionID.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionID.java index 2c9814e3..60e51a98 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionID.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionID.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -32,85 +32,6 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; */ public final class OptionID { /** - * Flag to obtain help-message. - * <p> - * Key: {@code -h} - * </p> - */ - public static final OptionID HELP = new OptionID("h", "Request a help-message, either for the main-routine or for any specified algorithm. " + "Causes immediate stop of the program."); - - /** - * Flag to obtain help-message. - * <p> - * Key: {@code -help} - * </p> - */ - public static final OptionID HELP_LONG = new OptionID("help", "Request a help-message, either for the main-routine or for any specified algorithm. " + "Causes immediate stop of the program."); - - /** - * OptionID for {@link de.lmu.ifi.dbs.elki.workflow.AlgorithmStep} - */ - public static final OptionID ALGORITHM = new OptionID("algorithm", "Algorithm to run."); - - /** - * Optional Parameter to specify a class to obtain a description for. - * <p> - * Key: {@code -description} - * </p> - */ - public static final OptionID DESCRIPTION = new OptionID("description", "Class to obtain a description of. " + "Causes immediate stop of the program."); - - /** - * Optional Parameter to specify a class to enable debugging for. - * <p> - * Key: {@code -enableDebug} - * </p> - */ - public static final OptionID DEBUG = new OptionID("enableDebug", "Parameter to enable debugging for particular packages."); - - /** - * OptionID for {@link de.lmu.ifi.dbs.elki.workflow.InputStep} - */ - public static final OptionID DATABASE = new OptionID("db", "Database class."); - - /** - * OptionID for {@link de.lmu.ifi.dbs.elki.workflow.InputStep} - */ - // TODO: move to database class? - public static final OptionID DATABASE_CONNECTION = new OptionID("dbc", "Database connection class."); - - /** - * OptionID for {@link de.lmu.ifi.dbs.elki.workflow.EvaluationStep} - */ - public static final OptionID EVALUATOR = new OptionID("evaluator", "Class to evaluate the results with."); - - /** - * OptionID for {@link de.lmu.ifi.dbs.elki.workflow.OutputStep} - */ - public static final OptionID RESULT_HANDLER = new OptionID("resulthandler", "Result handler class."); - - /** - * OptionID for the application output file/folder - */ - public static final OptionID OUTPUT = new OptionID("out", "Directory name (or name of an existing file) to write the obtained results in. " + "If this parameter is omitted, per default the output will sequentially be given to STDOUT."); - - /** - * Flag to allow verbose messages while running the application. - * <p> - * Key: {@code -verbose} - * </p> - */ - public static final OptionID VERBOSE_FLAG = new OptionID("verbose", "Enable verbose messages."); - - /** - * Flag to allow verbose messages while running the application. - * <p> - * Key: {@code -time} - * </p> - */ - public static final OptionID TIME_FLAG = new OptionID("time", "Enable logging of runtime data. Do not combine with more verbose logging, since verbose logging can significantly impact performance."); - - /** * Option name */ private String name; diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionUtil.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionUtil.java index 76ae9feb..ea28aa42 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionUtil.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/OptionUtil.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/ParameterException.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/ParameterException.java index 0235b4a9..326335fd 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/ParameterException.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/ParameterException.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizable.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizable.java index 13f202dd..ead565b1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizable.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizable.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -23,8 +23,6 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; along with this program. If not, see <http://www.gnu.org/licenses/>. */ -import de.lmu.ifi.dbs.elki.utilities.InspectionUtilFrequentlyScanned; - /** * Interface to define the required methods for command line interaction. * @@ -96,7 +94,7 @@ import de.lmu.ifi.dbs.elki.utilities.InspectionUtilFrequentlyScanned; * @apiviz.uses de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization * .Parameterization oneway */ -public interface Parameterizable extends InspectionUtilFrequentlyScanned { +public interface Parameterizable { // Empty marker interface - the \@Description / \@Title / \@Reference and // constructor requirements cannot be specified in Java! } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizer.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizer.java index aa5c74bd..7e3a848c 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizer.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/Parameterizer.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnspecifiedParameterException.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnspecifiedParameterException.java index ab138704..31af6d87 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnspecifiedParameterException.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnspecifiedParameterException.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnusedParameterException.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnusedParameterException.java index 0914c0f1..d5dbd4b2 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnusedParameterException.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/UnusedParameterException.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/WrongParameterValueException.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/WrongParameterValueException.java index c51eae0e..eeb6a9e7 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/WrongParameterValueException.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/WrongParameterValueException.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AbstractNumberConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AbstractNumberConstraint.java index f622aba5..fc4a673e 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AbstractNumberConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AbstractNumberConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AllOrNoneMustBeSetGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AllOrNoneMustBeSetGlobalConstraint.java index c2448ba5..a06a06c1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AllOrNoneMustBeSetGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/AllOrNoneMustBeSetGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -60,8 +60,8 @@ public class AllOrNoneMustBeSetGlobalConstraint implements GlobalParameterConstr @Override public void test() throws ParameterException { - ArrayList<String> set = new ArrayList<String>(); - ArrayList<String> notSet = new ArrayList<String>(); + ArrayList<String> set = new ArrayList<>(); + ArrayList<String> notSet = new ArrayList<>(); for(Parameter<?> p : parameterList) { if(p.isDefined()) { diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualSizeGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualSizeGlobalConstraint.java index 22d1ceb2..2ee7be9c 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualSizeGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualSizeGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualStringConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualStringConstraint.java index 4c4a8de3..1ab35cc1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualStringConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/EqualStringConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalListSizeConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalListSizeConstraint.java index 1bad7d00..bcedd342 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalListSizeConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalListSizeConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalParameterConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalParameterConstraint.java index b59c9493..5e38b2b7 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalParameterConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalParameterConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalVectorListElementSizeConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalVectorListElementSizeConstraint.java index 6bc9fd2d..01c99d42 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalVectorListElementSizeConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GlobalVectorListElementSizeConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterConstraint.java index 17a9a54d..33c73fb8 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterEqualConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterEqualConstraint.java index 7eb0de83..d05235c1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterEqualConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/GreaterEqualConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/IntervalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/IntervalConstraint.java index db6a1ed8..00c2f5ad 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/IntervalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/IntervalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessConstraint.java index a8369304..5c4d0635 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualConstraint.java index e35381b3..d81c821b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualGlobalConstraint.java index 9855b96d..1216e03b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessEqualGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessGlobalConstraint.java index e475e92f..a722edab 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/LessGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListEachConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListEachConstraint.java index 7dab4006..918c59f5 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListEachConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListEachConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -46,7 +46,7 @@ public class ListEachConstraint<T> implements ParameterConstraint<List<T>> { */ public ListEachConstraint() { super(); - this.constraints = new ArrayList<ParameterConstraint<? super T>>(); + this.constraints = new ArrayList<>(); } /** @@ -56,7 +56,7 @@ public class ListEachConstraint<T> implements ParameterConstraint<List<T>> { */ public ListEachConstraint(ParameterConstraint<? super T> constraint) { super(); - this.constraints = new ArrayList<ParameterConstraint<? super T>>(1); + this.constraints = new ArrayList<>(1); this.constraints.add(constraint); } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListParameterNoDuplicateValueConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListParameterNoDuplicateValueConstraint.java index 6545cc9d..1ff23f80 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListParameterNoDuplicateValueConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListParameterNoDuplicateValueConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -57,7 +57,7 @@ public class ListParameterNoDuplicateValueConstraint<T extends Object> implement */ @Override public void test(List<T> list) throws ParameterException { - Set<T> values = new HashSet<T>(); + Set<T> values = new HashSet<>(); for(T pv : list) { if(!values.add(pv)) { diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListSizeConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListSizeConstraint.java index 82b3ae7e..95b5214b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListSizeConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ListSizeConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/NoDuplicateValueGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/NoDuplicateValueGlobalConstraint.java index 39ab2680..65b427a1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/NoDuplicateValueGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/NoDuplicateValueGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -76,7 +76,7 @@ public class NoDuplicateValueGlobalConstraint implements GlobalParameterConstrai */ @Override public void test() throws ParameterException { - Set<Object> numbers = new HashSet<Object>(); + Set<Object> numbers = new HashSet<>(); for(Parameter<?> param : parameters) { if(param.isDefined()) { diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OneMustBeSetGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OneMustBeSetGlobalConstraint.java index c0109ac5..e7802685 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OneMustBeSetGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OneMustBeSetGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -23,6 +23,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; along with this program. If not, see <http://www.gnu.org/licenses/>. */ +import java.util.Arrays; import java.util.List; import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionUtil; @@ -54,6 +55,16 @@ public class OneMustBeSetGlobalConstraint implements GlobalParameterConstraint { } /** + * Creates a One-Must-Be-Set global parameter constraint. That is, at least + * one parameter value of the given list of parameters has to be set. + * + * @param params list of parameters + */ + public OneMustBeSetGlobalConstraint(Parameter<?>... params) { + parameters = Arrays.asList(params); + } + + /** * Checks if at least one parameter value of the list of parameters specified * is set. If not, a parameter exception is thrown. * diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OnlyOneIsAllowedToBeSetGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OnlyOneIsAllowedToBeSetGlobalConstraint.java index 22db8511..bdd55572 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OnlyOneIsAllowedToBeSetGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/OnlyOneIsAllowedToBeSetGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -24,6 +24,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; */ import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionUtil; @@ -55,17 +56,27 @@ public class OnlyOneIsAllowedToBeSetGlobalConstraint implements GlobalParameterC } /** + * Constructs a global parameter constraint for testing if only one parameter + * of a list of parameters is set. + * + * @param params list of parameters to be checked + */ + public OnlyOneIsAllowedToBeSetGlobalConstraint(Parameter<?>... params) { + parameters = Arrays.asList(params); + } + + /** * Checks if only one parameter of a list of parameters is set. If not, a * parameter exception is thrown. */ @Override public void test() throws ParameterException { - ArrayList<String> set = new ArrayList<String>(); - for(Parameter<?> p : parameters) { - if(p.isDefined()) { + ArrayList<String> set = new ArrayList<>(); + for (Parameter<?> p : parameters) { + if (p.isDefined()) { // FIXME: Retire the use of this constraint for Flags! - if(p instanceof Flag) { - if (((Flag)p).getValue().booleanValue()) { + if (p instanceof Flag) { + if (((Flag) p).getValue().booleanValue()) { set.add(p.getName()); } } else { @@ -73,7 +84,7 @@ public class OnlyOneIsAllowedToBeSetGlobalConstraint implements GlobalParameterC } } } - if(set.size() > 1) { + if (set.size() > 1) { throw new WrongParameterValueException("Global Parameter Constraint Error.\n" + "Only one of the parameters " + OptionUtil.optionsNamesToString(parameters) + " is allowed to be set. " + "Parameters currently set: " + set.toString()); } } @@ -82,4 +93,4 @@ public class OnlyOneIsAllowedToBeSetGlobalConstraint implements GlobalParameterC public String getDescription() { return "Only one of the parameters " + OptionUtil.optionsNamesToString(parameters) + " is allowed to be set."; } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterConstraint.java index ff66ec05..2847260a 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterFlagGlobalConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterFlagGlobalConstraint.java index ff2e6675..ab77240a 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterFlagGlobalConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/ParameterFlagGlobalConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -49,7 +49,7 @@ public class ParameterFlagGlobalConstraint<S> implements GlobalParameterConstrai /** * Parameter possibly to be checked. */ - private Parameter<S> param; + private Parameter<? extends S> param; /** * Flag the checking of the parameter constraints is dependent on. @@ -64,7 +64,7 @@ public class ParameterFlagGlobalConstraint<S> implements GlobalParameterConstrai /** * List of parameter constraints. */ - private List<ParameterConstraint<? super S>> cons; + private List<? extends ParameterConstraint<? super S>> cons; /** * Constructs a global parameter constraint specifying that the testing of the @@ -78,7 +78,7 @@ public class ParameterFlagGlobalConstraint<S> implements GlobalParameterConstrai * @param flagConstraint indicates at which status of the flag the parameter * is to be checked */ - public ParameterFlagGlobalConstraint(Parameter<S> p, List<ParameterConstraint<? super S>> c, Flag f, boolean flagConstraint) { + public ParameterFlagGlobalConstraint(Parameter<? extends S> p, List<? extends ParameterConstraint<? super S>> c, Flag f, boolean flagConstraint) { param = p; flag = f; this.flagConstraint = flagConstraint; diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/StringLengthConstraint.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/StringLengthConstraint.java index 84d8fa6d..ff42a21f 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/StringLengthConstraint.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/StringLengthConstraint.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/package-info.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/package-info.java index 4b8c163a..e05ca2fa 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/constraints/package-info.java @@ -5,7 +5,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/package-info.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/package-info.java index 593c11d2..e4c5489b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/package-info.java @@ -253,7 +253,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java index 7cc0055e..75a5be86 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -46,7 +46,7 @@ public abstract class AbstractParameterization implements Parameterization { /** * Errors */ - List<ParameterException> errors = new ArrayList<ParameterException>(); + List<ParameterException> errors = new ArrayList<>(); /** * The logger of the class. @@ -89,7 +89,7 @@ public abstract class AbstractParameterization implements Parameterization { public synchronized void clearErrors() { // Do NOT use errors.clear(), since we might have an error report // referencing the collection! - errors = new ArrayList<ParameterException>(); + errors = new ArrayList<>(); } /** diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java index a2fd168e..97cdb51f 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -44,7 +44,7 @@ public class ChainedParameterization extends AbstractParameterization { /** * Keep the list of parameterizations. */ - private List<Parameterization> chain = new ArrayList<Parameterization>(); + private List<Parameterization> chain = new ArrayList<>(); /** * Error target diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java index 3391ff4a..02802593 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java index 7d728280..b870b57b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -44,7 +44,7 @@ public class ListParameterization extends AbstractParameterization { /** * The actual parameters, for storage */ - LinkedList<Pair<OptionID, Object>> parameters = new LinkedList<Pair<OptionID, Object>>(); + LinkedList<Pair<OptionID, Object>> parameters = new LinkedList<>(); /** * Default constructor. @@ -52,7 +52,7 @@ public class ListParameterization extends AbstractParameterization { public ListParameterization() { super(); } - + /** * Constructor with an existing collection. * @@ -81,9 +81,9 @@ public class ListParameterization extends AbstractParameterization { * @param value Value */ public void addParameter(OptionID optionid, Object value) { - parameters.add(new Pair<OptionID, Object>(optionid, value)); + parameters.add(new Pair<>(optionid, value)); } - + /** * Convenience - add a Flag option directly. * @@ -94,7 +94,7 @@ public class ListParameterization extends AbstractParameterization { addFlag(flag.getOptionID()); } } - + /** * Convenience - add a Parameter for forwarding * @@ -107,11 +107,11 @@ public class ListParameterization extends AbstractParameterization { } @Override - public boolean setValueForOption(Parameter<?> opt) throws ParameterException { + public boolean setValueForOption(Parameter<?> opt) throws ParameterException { Iterator<Pair<OptionID, Object>> iter = parameters.iterator(); - while(iter.hasNext()) { + while (iter.hasNext()) { Pair<OptionID, Object> pair = iter.next(); - if(pair.first == opt.getOptionID()) { + if (pair.first == opt.getOptionID()) { iter.remove(); opt.setValue(pair.second); return true; @@ -134,8 +134,8 @@ public class ListParameterization extends AbstractParameterization { return (parameters.size() > 0); } - /** {@inheritDoc} - * Default implementation, for flat parameterizations. + /** + * {@inheritDoc} Default implementation, for flat parameterizations. */ @Override public Parameterization descend(Object option) { @@ -158,11 +158,17 @@ public class ListParameterization extends AbstractParameterization { * @return Array list of parameters */ public ArrayList<String> serialize() { - ArrayList<String> params = new ArrayList<String>(); + ArrayList<String> params = new ArrayList<>(); for (Pair<OptionID, Object> pair : parameters) { params.add("-" + pair.getFirst().toString()); - params.add(pair.getSecond().toString()); + if (pair.getSecond() instanceof String) { + params.add((String) pair.getSecond()); + } else if (pair.getSecond() instanceof Class) { + params.add(((Class<?>) pair.getSecond()).getCanonicalName()); + } else { // Fallback: + params.add(pair.getSecond().toString()); + } } return params; } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java index 580a3371..9f765963 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -69,7 +69,7 @@ public class MergedParameterization implements Parameterization { super(); this.inner = child; this.current = new ListParameterization(); - this.used = new ArrayList<Pair<OptionID, Object>>(); + this.used = new ArrayList<>(); } /** diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java index 5cdff013..01c46583 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java index b88b7dc4..b3e3f214 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -59,7 +59,7 @@ public class SerializedParameterization extends AbstractParameterization { */ public SerializedParameterization() { super(); - parameters = new LinkedList<String>(); + parameters = new LinkedList<>(); } /** diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java index 424f54ee..5a20bd9e 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -54,18 +54,18 @@ public class TrackParameters implements Parameterization { /** * Tracking storage */ - List<Pair<Object, Parameter<?>>> options = new ArrayList<Pair<Object, Parameter<?>>>(); + List<Pair<Object, Parameter<?>>> options = new ArrayList<>(); /** * Tree information: parent links */ - Map<Object, Object> parents = new HashMap<Object, Object>(); + Map<Object, Object> parents = new HashMap<>(); /** * Tree information: child links */ // Implementation note: we need the map to support "null" keys! - Map<Object, List<Object>> children = new HashMap<Object, List<Object>>(); + Map<Object, List<Object>> children = new HashMap<>(); /** * Current parent for nested parameterization @@ -149,10 +149,10 @@ public class TrackParameters implements Parameterization { * @return Parameters given */ public Collection<Pair<OptionID, Object>> getGivenParameters() { - ArrayList<Pair<OptionID, Object>> ret = new ArrayList<Pair<OptionID, Object>>(); + ArrayList<Pair<OptionID, Object>> ret = new ArrayList<>(); for(Pair<Object, Parameter<?>> pair : options) { if(pair.second.isDefined() && pair.second.getGivenValue() != null) { - ret.add(new Pair<OptionID, Object>(pair.second.getOptionID(), pair.second.getGivenValue())); + ret.add(new Pair<>(pair.second.getOptionID(), pair.second.getGivenValue())); } } return ret; @@ -180,7 +180,7 @@ public class TrackParameters implements Parameterization { parents.put(opt, cur); List<Object> c = children.get(cur); if(c == null) { - c = new ArrayList<Object>(); + c = new ArrayList<>(); children.put(cur, c); } if(!c.contains(opt)) { diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java index a04b3217..2a05a766 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -45,7 +45,7 @@ public class UnParameterization implements Parameterization { /** * Errors */ - List<ParameterException> errors = new ArrayList<ParameterException>(); + List<ParameterException> errors = new ArrayList<>(); @Override public boolean hasUnusedParameters() { diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java index 41856ad7..ce9c89b4 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java @@ -8,7 +8,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java index ce4b094d..8e1b48c3 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/AbstractParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -334,7 +334,7 @@ public abstract class AbstractParameter<T> implements Parameter<T> { @Override public void addConstraint(ParameterConstraint<? super T> constraint) { if (constraints == null) { - this.constraints = new ArrayList<ParameterConstraint<? super T>>(1); + this.constraints = new ArrayList<>(1); } constraints.add(constraint); } @@ -346,7 +346,7 @@ public abstract class AbstractParameter<T> implements Parameter<T> { */ public void addConstraints(Collection<? extends ParameterConstraint<? super T>> cs) { if (constraints == null) { - this.constraints = new ArrayList<ParameterConstraint<? super T>>(cs.size()); + this.constraints = new ArrayList<>(cs.size()); } constraints.addAll(cs); } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java index f87e3973..35cd0573 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -48,11 +48,6 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz // TODO: Add missing constructors. (ObjectListParameter also!) public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { /** - * Class loader - */ - protected static final ClassLoader loader = ClassLoader.getSystemClassLoader(); - - /** * The restriction class for the list of class names. */ protected Class<C> restrictionClass; @@ -88,12 +83,12 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { public String getValueAsString() { StringBuilder buf = new StringBuilder(); final String defPackage = restrictionClass.getPackage().getName() + "."; - for(Class<? extends C> c : getValue()) { - if(buf.length() > 0) { + for (Class<? extends C> c : getValue()) { + if (buf.length() > 0) { buf.append(LIST_SEP); } String name = c.getName(); - if(name.startsWith(defPackage)) { + if (name.startsWith(defPackage)) { name = name.substring(defPackage.length()); } buf.append(name); @@ -107,57 +102,41 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { try { List<?> l = List.class.cast(obj); // do extra validation: - for(Object o : l) { - if(!(o instanceof Class)) { + for (Object o : l) { + if (!(o instanceof Class)) { throw new WrongParameterValueException("Wrong parameter format for parameter \"" + getName() + "\". Given list contains objects of different type!"); } } // TODO: can we use reflection to get extra checks? // TODO: Should we copy the list? return (List<Class<? extends C>>) l; - } - catch(ClassCastException e) { + } catch (ClassCastException e) { // continue with others } // Did we get a single class? try { - if(restrictionClass.isAssignableFrom((Class<?>) obj)) { - List<Class<? extends C>> clss = new ArrayList<Class<? extends C>>(1); + if (restrictionClass.isAssignableFrom((Class<?>) obj)) { + List<Class<? extends C>> clss = new ArrayList<>(1); clss.add((Class<? extends C>) obj); return clss; } - } - catch(ClassCastException e) { + } catch (ClassCastException e) { // continue with others } - if(obj instanceof String) { + if (obj instanceof String) { String[] classes = SPLIT.split((String) obj); // TODO: allow empty lists (and list constraints) to enforce length? - if(classes.length == 0) { + if (classes.length == 0) { throw new WrongParameterValueException("Wrong parameter format! Given list of classes for parameter \"" + getName() + "\" is either empty or has the wrong format!"); } - List<Class<? extends C>> cls = new ArrayList<Class<? extends C>>(classes.length); - for(String cl : classes) { - try { - Class<?> c; - try { - c = loader.loadClass(cl); - } - catch(ClassNotFoundException e) { - // try in package of restriction class - c = loader.loadClass(restrictionClass.getPackage().getName() + "." + cl); - } - // Redundant check, also in validate(), but not expensive. - if(!restrictionClass.isAssignableFrom(c)) { - throw new WrongParameterValueException(this, cl, "Class \"" + cl + "\" does not extend/implement restriction class " + restrictionClass + ".\n"); - } - else { - cls.add((Class<? extends C>) c); - } - } - catch(ClassNotFoundException e) { - throw new WrongParameterValueException(this, cl, "Class \"" + cl + "\" not found.\n", e); + List<Class<? extends C>> cls = new ArrayList<>(classes.length); + for (String cl : classes) { + Class<? extends C> clz = InspectionUtil.findImplementation(restrictionClass, cl); + if (clz != null) { + cls.add(clz); + } else { + throw new WrongParameterValueException(this, (String) obj, "Class '" + cl + "' not found for given value. Must be a subclass / implementation of " + restrictionClass.getName()); } } return cls; @@ -168,8 +147,8 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { @Override protected boolean validate(List<Class<? extends C>> obj) throws ParameterException { - for(Class<? extends C> cls : obj) { - if(!restrictionClass.isAssignableFrom(cls)) { + for (Class<? extends C> cls : obj) { + if (!restrictionClass.isAssignableFrom(cls)) { throw new WrongParameterValueException(this, cls.getName(), "Class \"" + cls.getName() + "\" does not extend/implement restriction class " + restrictionClass + ".\n"); } } @@ -217,20 +196,19 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { */ public List<C> instantiateClasses(Parameterization config) { config = config.descend(this); - List<C> instances = new ArrayList<C>(); - if(getValue() == null) { + List<C> instances = new ArrayList<>(); + if (getValue() == null) { config.reportError(new UnusedParameterException("Value of parameter " + getName() + " has not been specified.")); return instances; // empty list. } - for(Class<? extends C> cls : getValue()) { + for (Class<? extends C> cls : getValue()) { // NOTE: There is a duplication of this code in ObjectListParameter - keep // in sync! try { C instance = ClassGenericsUtil.tryInstantiate(restrictionClass, cls, config); instances.add(instance); - } - catch(Exception e) { + } catch (Exception e) { config.reportError(new WrongParameterValueException(this, cls.getName(), e)); } } @@ -247,26 +225,24 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { public String restrictionString() { String prefix = restrictionClass.getPackage().getName() + "."; StringBuilder info = new StringBuilder(); - if(restrictionClass.isInterface()) { + if (restrictionClass.isInterface()) { info.append("Implementing "); - } - else { + } else { info.append("Extending "); } info.append(restrictionClass.getName()); info.append(FormatUtil.NEWLINE); List<Class<?>> known = getKnownImplementations(); - if(!known.isEmpty()) { + if (!known.isEmpty()) { info.append("Known classes (default package " + prefix + "):"); info.append(FormatUtil.NEWLINE); - for(Class<?> c : known) { + for (Class<?> c : known) { info.append("->" + FormatUtil.NONBREAKING_SPACE); String name = c.getName(); - if(name.startsWith(prefix)) { + if (name.startsWith(prefix)) { info.append(name.substring(prefix.length())); - } - else { + } else { info.append(name); } info.append(FormatUtil.NEWLINE); @@ -292,9 +268,9 @@ public class ClassListParameter<C> extends ListParameter<Class<? extends C>> { */ @Override public String getValuesDescription() { - if(restrictionClass != null && restrictionClass != Object.class) { + if (restrictionClass != null && restrictionClass != Object.class) { return restrictionString(); } return ""; } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java index 6d63f9b5..a0669fca 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -51,16 +51,6 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz // TODO: turn restrictionClass into a constraint? public class ClassParameter<C> extends AbstractParameter<Class<? extends C>> { /** - * Class loader. - */ - protected static final ClassLoader loader = ClassLoader.getSystemClassLoader(); - - /** - * Factory class postfix. - */ - public static final String FACTORY_POSTFIX = "$Factory"; - - /** * The restriction class for this class parameter. */ protected Class<C> restrictionClass; @@ -132,29 +122,9 @@ public class ClassParameter<C> extends AbstractParameter<Class<? extends C>> { return (Class<? extends C>) obj; } if (obj instanceof String) { - String value = (String) obj; - try { - // Try exact class factory first. - try { - return (Class<? extends C>) loader.loadClass(value + FACTORY_POSTFIX); - } catch (ClassNotFoundException e) { - // Ignore, retry - } - try { - return (Class<? extends C>) loader.loadClass(value); - } catch (ClassNotFoundException e) { - // Ignore, retry - } - // Try factory for guessed name next - try { - return (Class<? extends C>) loader.loadClass(restrictionClass.getPackage().getName() + "." + value + FACTORY_POSTFIX); - } catch (ClassNotFoundException e) { - // Ignore, retry - } - // Last try: guessed name prefix only - return (Class<? extends C>) loader.loadClass(restrictionClass.getPackage().getName() + "." + value); - } catch (ClassNotFoundException e) { - throw new WrongParameterValueException(this, value, "Given class \"" + value + "\" not found.", e); + Class<? extends C> clz = InspectionUtil.findImplementation(restrictionClass, (String) obj); + if (clz != null) { + return clz; } } throw new WrongParameterValueException(this, obj.toString(), "Class not found for given value. Must be a subclass / implementation of " + restrictionClass.getName()); @@ -330,9 +300,9 @@ public class ClassParameter<C> extends AbstractParameter<Class<? extends C>> { */ public static String canonicalClassName(Class<?> c, Class<?> parent) { if (parent == null) { - return canonicalClassName(c, null, FACTORY_POSTFIX); + return canonicalClassName(c, null, InspectionUtil.FACTORY_POSTFIX); } - return canonicalClassName(c, parent.getPackage(), FACTORY_POSTFIX); + return canonicalClassName(c, parent.getPackage(), InspectionUtil.FACTORY_POSTFIX); } @Override diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DistanceParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DistanceParameter.java index f9943610..e97b6d0e 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DistanceParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DistanceParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java index 885a3bfc..89cfc345 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -81,7 +81,7 @@ public class DoubleListParameter extends ListParameter<Double> { } if(obj instanceof String) { String[] values = SPLIT.split((String) obj); - ArrayList<Double> doubleValue = new ArrayList<Double>(values.length); + ArrayList<Double> doubleValue = new ArrayList<>(values.length); for(String val : values) { doubleValue.add(Double.valueOf(val)); } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java index 4aee3511..632e1f8c 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java index c2e1c733..4d05753c 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/EnumParameter.java @@ -111,14 +111,16 @@ public class EnumParameter<E extends Enum<E>> extends AbstractParameter<E> { @Override
protected E parseValue(Object obj) throws ParameterException {
- if(obj == null) {
+ if (obj == null) {
throw new UnspecifiedParameterException(this);
}
- if(obj instanceof String) {
+ if (enumClass.isInstance(obj)) {
+ return enumClass.cast(obj);
+ }
+ if (obj instanceof String) {
try {
return Enum.valueOf(enumClass, (String) obj);
- }
- catch(IllegalArgumentException ex) {
+ } catch (IllegalArgumentException ex) {
throw new WrongParameterValueException("Enum parameter " + getName() + " is invalid (must be one of [" + joinEnumNames(", ") + "].");
}
}
@@ -138,8 +140,8 @@ public class EnumParameter<E extends Enum<E>> extends AbstractParameter<E> { public Collection<String> getPossibleValues() {
// Convert to string array
final E[] enums = enumClass.getEnumConstants();
- ArrayList<String> values = new ArrayList<String>(enums.length);
- for(E t : enums) {
+ ArrayList<String> values = new ArrayList<>(enums.length);
+ for (E t : enums) {
values.add(t.name());
}
return values;
@@ -155,8 +157,8 @@ public class EnumParameter<E extends Enum<E>> extends AbstractParameter<E> { private String joinEnumNames(String separator) {
E[] enumTypes = enumClass.getEnumConstants();
StringBuilder sb = new StringBuilder();
- for(int i = 0; i < enumTypes.length; ++i) {
- if(i > 0) {
+ for (int i = 0; i < enumTypes.length; ++i) {
+ if (i > 0) {
sb.append(separator);
}
sb.append(enumTypes[i].name());
diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java index 203712aa..eb638298 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -108,7 +108,7 @@ public class FileListParameter extends ListParameter<File> { } if(obj instanceof String) { String[] values = SPLIT.split((String) obj); - ArrayList<File> fileValue = new ArrayList<File>(values.length); + ArrayList<File> fileValue = new ArrayList<>(values.length); for(String val : values) { fileValue.add(new File(val)); } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java index 2cc5ab37..ea3fa454 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -137,4 +137,13 @@ public class FileParameter extends AbstractParameter<File> { public String getSyntax() { return "<file>"; } + + /** + * Get the file type (input / output) + * + * @return file type + */ + public FileType getFileType() { + return fileType; + } } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java index 90230077..7587d2a5 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Flag.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java index f61f8842..93012955 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -90,7 +90,7 @@ public class IntListParameter extends ListParameter<Integer> { } if(obj instanceof String) { String[] values = SPLIT.split((String) obj); - ArrayList<Integer> intValue = new ArrayList<Integer>(values.length); + ArrayList<Integer> intValue = new ArrayList<>(values.length); for(String val : values) { intValue.add(Integer.valueOf(val)); } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java index 22823e16..30457330 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java index e71a744e..119fb121 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java index ac8bd62c..f5d441b5 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/LongParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java index 8928c292..a4448d30 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/NumberParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java index 85a32085..ada6239a 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -81,8 +81,8 @@ public class ObjectListParameter<C> extends ClassListParameter<C> { } if (List.class.isInstance(obj)) { List<?> l = (List<?>) obj; - ArrayList<C> inst = new ArrayList<C>(l.size()); - ArrayList<Class<? extends C>> classes = new ArrayList<Class<? extends C>>(l.size()); + ArrayList<C> inst = new ArrayList<>(l.size()); + ArrayList<Class<? extends C>> classes = new ArrayList<>(l.size()); for (Object o : l) { // does the given objects class fit? if (restrictionClass.isInstance(o)) { @@ -105,7 +105,7 @@ public class ObjectListParameter<C> extends ClassListParameter<C> { // Did we get a single instance? try { C inst = restrictionClass.cast(obj); - this.instances = new ArrayList<C>(1); + this.instances = new ArrayList<>(1); this.instances.add(inst); return super.parseValue(inst.getClass()); } catch (ClassCastException e) { @@ -118,7 +118,7 @@ public class ObjectListParameter<C> extends ClassListParameter<C> { public List<C> instantiateClasses(Parameterization config) { if (instances == null) { // instantiateClasses will descend itself. - instances = new ArrayList<C>(super.instantiateClasses(config)); + instances = new ArrayList<>(super.instantiateClasses(config)); } else { Parameterization cfg = null; for (int i = 0; i < instances.size(); i++) { @@ -138,6 +138,6 @@ public class ObjectListParameter<C> extends ClassListParameter<C> { } } } - return new ArrayList<C>(instances); + return new ArrayList<>(instances); } }
\ No newline at end of file diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java index eff80954..4166d0a2 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ObjectParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java index 6dadbf8f..110633b3 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/Parameter.java @@ -9,7 +9,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstra This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java index 05c99d2b..b76edbbb 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/PatternParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java index 34d01de5..6c0668dd 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/RandomParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java index 06789dba..3a9bbf11 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/StringParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java index a9d01f22..906bfbd8 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java @@ -4,7 +4,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) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -29,7 +29,6 @@ import java.util.List; 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.WrongParameterValueException; import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.ParameterConstraint; @@ -178,11 +177,11 @@ public class VectorListParameter extends ListParameter<List<Double>> { if(vectors.length == 0) { throw new WrongParameterValueException("Wrong parameter format! Given list of vectors for parameter \"" + getName() + "\" is empty!"); } - ArrayList<List<Double>> vecs = new ArrayList<List<Double>>(); + ArrayList<List<Double>> vecs = new ArrayList<>(); for(String vector : vectors) { String[] coordinates = SPLIT.split(vector); - ArrayList<Double> vectorCoord = new ArrayList<Double>(); + ArrayList<Double> vectorCoord = new ArrayList<>(); for(String coordinate : coordinates) { try { vectorCoord.add(Double.valueOf(coordinate)); diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/package-info.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/package-info.java index b6ff5216..75d7c5a1 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/package-info.java @@ -12,7 +12,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team |