diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java b/src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java index fbcf76a7..99cce405 100644 --- a/src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java +++ b/src/de/lmu/ifi/dbs/elki/database/query/similarity/AbstractSimilarityQuery.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.database.query.similarity; 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,9 +24,7 @@ package de.lmu.ifi.dbs.elki.database.query.similarity; */ import de.lmu.ifi.dbs.elki.database.ids.DBIDRef; -import de.lmu.ifi.dbs.elki.database.query.AbstractDataBasedQuery; import de.lmu.ifi.dbs.elki.database.relation.Relation; -import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance; /** * A distance query serves as adapter layer for database and primitive @@ -34,17 +32,22 @@ import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance; * * @author Erich Schubert * - * @param O Input object type - * @param D Distance result type + * @param <O> Input object type */ -public abstract class AbstractSimilarityQuery<O, D extends Distance<D>> extends AbstractDataBasedQuery<O> implements SimilarityQuery<O, D> { +public abstract class AbstractSimilarityQuery<O> implements SimilarityQuery<O> { + /** + * The data to use for this query + */ + final protected Relation<? extends O> relation; + /** * Constructor. * * @param relation Relation to use. */ public AbstractSimilarityQuery(Relation<? extends O> relation) { - super(relation); + super(); + this.relation = relation; } /** @@ -55,7 +58,7 @@ public abstract class AbstractSimilarityQuery<O, D extends Distance<D>> extends * @return the distance between the two objects specified by their object ids */ @Override - public abstract D similarity(DBIDRef id1, DBIDRef id2); + public abstract double similarity(DBIDRef id1, DBIDRef id2); /** * Returns the distance between the two objects specified by their object ids. @@ -65,7 +68,7 @@ public abstract class AbstractSimilarityQuery<O, D extends Distance<D>> extends * @return the distance between the two objects specified by their object ids */ @Override - public abstract D similarity(O o1, DBIDRef id2); + public abstract double similarity(O o1, DBIDRef id2); /** * Returns the distance between the two objects specified by their object ids. @@ -75,7 +78,7 @@ public abstract class AbstractSimilarityQuery<O, D extends Distance<D>> extends * @return the distance between the two objects specified by their object ids */ @Override - public abstract D similarity(DBIDRef id1, O o2); + public abstract double similarity(DBIDRef id1, O o2); /** * Returns the distance between the two objects specified by their object ids. @@ -85,5 +88,10 @@ public abstract class AbstractSimilarityQuery<O, D extends Distance<D>> extends * @return the distance between the two objects specified by their object ids */ @Override - public abstract D similarity(O o1, O o2); + public abstract double similarity(O o1, O o2); + + @Override + public Relation<? extends O> getRelation() { + return relation; + } }
\ No newline at end of file |