diff --git a/src/fr/inrialpes/exmo/align/impl/ConcatenatedIterator.java b/src/fr/inrialpes/exmo/align/impl/ConcatenatedIterator.java index 89ac07a1eb58be9a20565c7c7b56b92d586b2e0e..20f686ea1cb3f81ef6ea6a0168b4e68a82fce7d3 100644 --- a/src/fr/inrialpes/exmo/align/impl/ConcatenatedIterator.java +++ b/src/fr/inrialpes/exmo/align/impl/ConcatenatedIterator.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rhône-Alpes, 2003-2005 + * Copyright (C) INRIA 2003-2005, 2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -20,6 +20,7 @@ package fr.inrialpes.exmo.align.impl; +import java.lang.Iterable; import java.util.Iterator; import java.util.NoSuchElementException; import java.lang.UnsupportedOperationException; @@ -34,10 +35,10 @@ import java.lang.UnsupportedOperationException; * @version $Id$ */ -public final class ConcatenatedIterator implements Iterator { - private Iterator it1 = null; - private Iterator it2 = null; - public ConcatenatedIterator ( Iterator i1, Iterator i2 ){ +public final class ConcatenatedIterator<O> implements Iterator<O>, Iterable<O> { + private Iterator<O> it1 = null; + private Iterator<O> it2 = null; + public ConcatenatedIterator ( Iterator<O> i1, Iterator<O> i2 ){ it1 = i1; it2 = i2; } @@ -45,11 +46,14 @@ public final class ConcatenatedIterator implements Iterator { if ( it1.hasNext() || it2.hasNext() ) return true; else return false; } - public Object next() throws NoSuchElementException { + public O next() throws NoSuchElementException { if ( it1.hasNext() ) return it1.next(); else return it2.next(); } public void remove() throws UnsupportedOperationException { throw new UnsupportedOperationException(); } + public Iterator<O> iterator(){ + return this; + } }