summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java89
1 files changed, 11 insertions, 78 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java b/src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java
index ce28ac38..97743867 100644
--- a/src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java
+++ b/src/de/lmu/ifi/dbs/elki/database/ids/generic/MergedDBIDs.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.database.ids.generic;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -23,12 +23,12 @@ package de.lmu.ifi.dbs.elki.database.ids.generic;
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import java.util.Collection;
import java.util.Iterator;
import de.lmu.ifi.dbs.elki.database.ids.DBID;
+import de.lmu.ifi.dbs.elki.database.ids.DBIDIter;
import de.lmu.ifi.dbs.elki.database.ids.DBIDs;
-
+import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException;
/**
* Merge the IDs of multiple layers into one.
@@ -38,12 +38,12 @@ import de.lmu.ifi.dbs.elki.database.ids.DBIDs;
* @apiviz.uses de.lmu.ifi.dbs.elki.database.ids.DBIDs
*/
// TODO: include ID mapping?
-public class MergedDBIDs implements DBIDs, Collection<DBID> {
+public class MergedDBIDs implements DBIDs {
/**
* Childs to merge
*/
DBIDs childs[];
-
+
/**
* Constructor.
*
@@ -55,14 +55,13 @@ public class MergedDBIDs implements DBIDs, Collection<DBID> {
}
@Override
- public Collection<DBID> asCollection() {
- return this;
+ public Iterator<DBID> iterator() {
+ throw new AbortException("Merged iterators not completely implemented yet!");
}
@Override
- public Iterator<DBID> iterator() {
- // TODO Auto-generated method stub
- return null;
+ public DBIDIter iter() {
+ throw new AbortException("Merged iterators not completely implemented yet!");
}
@Override
@@ -80,32 +79,7 @@ public class MergedDBIDs implements DBIDs, Collection<DBID> {
}
@Override
- public Object[] toArray() {
- return toArray(new Object[size()]);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T> T[] toArray(T[] a) {
- final int si = size();
- T[] r = a;
- if(a.length < si) {
- r = (T[]) java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), si);
- }
- int i = 0;
- for (Iterator<DBID> iter = iterator(); iter.hasNext(); i++) {
- DBID id = iter.next();
- r[i] = (T) id;
- }
- // zero-terminate array
- if(r.length > si) {
- r[si] = null;
- }
- return r;
- }
-
- @Override
- public boolean contains(Object o) {
+ public boolean contains(DBID o) {
for(DBIDs child : childs) {
if(child.contains(o)) {
return true;
@@ -113,45 +87,4 @@ public class MergedDBIDs implements DBIDs, Collection<DBID> {
}
return false;
}
-
- @Override
- public boolean containsAll(Collection<?> c) {
- Iterator<?> e = c.iterator();
- while(e.hasNext()) {
- if(!contains(e.next())) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public void clear() {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-
- @Override
- public boolean add(DBID e) {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-
- @Override
- public boolean addAll(Collection<? extends DBID> c) {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-
- @Override
- public boolean remove(Object o) {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-
- @Override
- public boolean removeAll(Collection<?> c) {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-
- @Override
- public boolean retainAll(Collection<?> c) {
- throw new UnsupportedOperationException(MergedDBIDs.class.getName() + " are unmodifiable!");
- }
-}
+} \ No newline at end of file