summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java b/src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java
index 5d4b24c1..5186e9e0 100644
--- a/src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java
+++ b/src/de/lmu/ifi/dbs/elki/algorithm/AbstractPrimitiveDistanceBasedAlgorithm.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.algorithm;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -25,16 +25,17 @@ package de.lmu.ifi.dbs.elki.algorithm;
import de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction;
import de.lmu.ifi.dbs.elki.distance.distancefunction.minkowski.EuclideanDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance;
import de.lmu.ifi.dbs.elki.result.Result;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter;
/**
- * Provides an abstract algorithm already setting the distance function.
+ * Abstract base class for distance-based algorithms that need to work with
+ * synthetic objects such as mean vectors.
*
- * This class only allows distances that are defined on arbitrary objects, not only database objects!
+ * This class only allows distances that are defined on arbitrary objects, not
+ * only database objects!
*
* @author Arthur Zimek
*
@@ -42,22 +43,21 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter;
* @apiviz.excludeSubtypes
*
* @param <O> the type of objects handled by this Algorithm
- * @param <D> the type of Distance used by this Algorithm
* @param <R> the type of result to retrieve from this Algorithm
*/
-public abstract class AbstractPrimitiveDistanceBasedAlgorithm<O, D extends Distance<?>, R extends Result> extends AbstractAlgorithm<R> {
+public abstract class AbstractPrimitiveDistanceBasedAlgorithm<O, R extends Result> extends AbstractAlgorithm<R> {
/**
* Holds the instance of the distance function specified by
* {@link DistanceBasedAlgorithm#DISTANCE_FUNCTION_ID}.
*/
- protected PrimitiveDistanceFunction<? super O, D> distanceFunction;
+ protected PrimitiveDistanceFunction<? super O> distanceFunction;
/**
* Constructor.
*
* @param distanceFunction Distance function
*/
- protected AbstractPrimitiveDistanceBasedAlgorithm(PrimitiveDistanceFunction<? super O, D> distanceFunction) {
+ protected AbstractPrimitiveDistanceBasedAlgorithm(PrimitiveDistanceFunction<? super O> distanceFunction) {
super();
this.distanceFunction = distanceFunction;
}
@@ -67,7 +67,7 @@ public abstract class AbstractPrimitiveDistanceBasedAlgorithm<O, D extends Dista
*
* @return the distanceFunction
*/
- public PrimitiveDistanceFunction<? super O, D> getDistanceFunction() {
+ public PrimitiveDistanceFunction<? super O> getDistanceFunction() {
return distanceFunction;
}
@@ -78,16 +78,16 @@ public abstract class AbstractPrimitiveDistanceBasedAlgorithm<O, D extends Dista
*
* @apiviz.exclude
*/
- public abstract static class Parameterizer<O, D extends Distance<D>> extends AbstractParameterizer {
+ public abstract static class Parameterizer<O> extends AbstractParameterizer {
/**
* Distance function to use.
*/
- protected PrimitiveDistanceFunction<O, D> distanceFunction;
-
+ protected PrimitiveDistanceFunction<O> distanceFunction;
+
@Override
protected void makeOptions(Parameterization config) {
super.makeOptions(config);
- ObjectParameter<PrimitiveDistanceFunction<O, D>> distanceFunctionP = makeParameterDistanceFunction(EuclideanDistanceFunction.class, PrimitiveDistanceFunction.class);
+ ObjectParameter<PrimitiveDistanceFunction<O>> distanceFunctionP = makeParameterDistanceFunction(EuclideanDistanceFunction.class, PrimitiveDistanceFunction.class);
if(config.grab(distanceFunctionP)) {
distanceFunction = distanceFunctionP.instantiateClass(config);
}