diff options
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.java | 31 |
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); } |