diff options
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.java | 89 |
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 |