summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java b/src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java
index 531fa09d..1a3687d6 100644
--- a/src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java
+++ b/src/de/lmu/ifi/dbs/elki/database/query/range/AbstractDistanceRangeQuery.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.database.query.range;
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
@@ -24,10 +24,9 @@ package de.lmu.ifi.dbs.elki.database.query.range;
*/
import de.lmu.ifi.dbs.elki.database.ids.DBIDRef;
-import de.lmu.ifi.dbs.elki.database.ids.distance.DistanceDBIDList;
-import de.lmu.ifi.dbs.elki.database.query.AbstractDataBasedQuery;
+import de.lmu.ifi.dbs.elki.database.ids.DoubleDBIDList;
import de.lmu.ifi.dbs.elki.database.query.distance.DistanceQuery;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance;
+import de.lmu.ifi.dbs.elki.database.relation.Relation;
/**
* Abstract base class for range queries that use a distance query in their
@@ -36,34 +35,34 @@ import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance;
* @author Erich Schubert
*
* @param <O> Database object type
- * @param <D> Distance type
*/
-public abstract class AbstractDistanceRangeQuery<O, D extends Distance<D>> extends AbstractDataBasedQuery<O> implements RangeQuery<O, D> {
+public abstract class AbstractDistanceRangeQuery<O> implements RangeQuery<O> {
+ /**
+ * The data to use for this query
+ */
+ final protected Relation<? extends O> relation;
+
/**
* Hold the distance function to be used.
*/
- protected DistanceQuery<O, D> distanceQuery;
+ final protected DistanceQuery<O> distanceQuery;
/**
* Constructor.
*
* @param distanceQuery Distance query
*/
- public AbstractDistanceRangeQuery(DistanceQuery<O, D> distanceQuery) {
- super(distanceQuery.getRelation());
+ public AbstractDistanceRangeQuery(DistanceQuery<O> distanceQuery) {
+ super();
+ this.relation = distanceQuery.getRelation();
this.distanceQuery = distanceQuery;
}
@Override
- public DistanceDBIDList<D> getRangeForDBID(DBIDRef id, D range) {
+ public DoubleDBIDList getRangeForDBID(DBIDRef id, double range) {
return getRangeForObject(relation.get(id), range);
}
@Override
- abstract public DistanceDBIDList<D> getRangeForObject(O obj, D range);
-
- @Override
- public D getDistanceFactory() {
- return distanceQuery.getDistanceFactory();
- }
+ abstract public DoubleDBIDList getRangeForObject(O obj, double range);
}