diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java b/src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java index 5a7d6991..a85b8954 100644 --- a/src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java +++ b/src/de/lmu/ifi/dbs/elki/database/ids/EmptyDBIDs.java @@ -26,12 +26,15 @@ package de.lmu.ifi.dbs.elki.database.ids; import java.util.Iterator; import java.util.NoSuchElementException; +import de.lmu.ifi.dbs.elki.logging.LoggingUtil; import de.lmu.ifi.dbs.elki.utilities.iterator.EmptyIterator; /** * Empty DBID collection. * * @author Erich Schubert + * + * @apiviz.composedOf EmptyDBIDIterator */ public class EmptyDBIDs implements ArrayStaticDBIDs, SetDBIDs { /** @@ -47,7 +50,7 @@ public class EmptyDBIDs implements ArrayStaticDBIDs, SetDBIDs { } @Override - public boolean contains(DBID o) { + public boolean contains(DBIDRef o) { return false; } @@ -77,7 +80,7 @@ public class EmptyDBIDs implements ArrayStaticDBIDs, SetDBIDs { } @Override - public int binarySearch(DBID key) { + public int binarySearch(DBIDRef key) { return -1; // Not found } @@ -106,5 +109,23 @@ public class EmptyDBIDs implements ArrayStaticDBIDs, SetDBIDs { public DBID getDBID() { throw new NoSuchElementException(); } + + @Override + public boolean equals(Object other) { + if (other instanceof DBID) { + LoggingUtil.warning("Programming error detected: DBIDItr.equals(DBID). Use sameDBID()!", new Throwable()); + } + return super.equals(other); + } + + @Override + public boolean sameDBID(DBIDRef other) { + return false; + } + + @Override + public int compareDBID(DBIDRef other) { + throw new UnsupportedOperationException("Invalid iterator position. Cannot compare."); + } } }
\ No newline at end of file |