You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/08/10 18:43:56 UTC
svn commit: r1371768 - in
/jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator:
IteratorConcat.java IteratorCons.java
Author: andy
Date: Fri Aug 10 16:43:56 2012
New Revision: 1371768
URL: http://svn.apache.org/viewvc?rev=1371768&view=rev
Log:
Comment
Modified:
jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorConcat.java
jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorCons.java
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorConcat.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorConcat.java?rev=1371768&r1=1371767&r2=1371768&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorConcat.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorConcat.java Fri Aug 10 16:43:56 2012
@@ -24,17 +24,20 @@ import java.util.NoSuchElementException
import org.openjena.atlas.lib.DS ;
-
-
/** Iterator of Iterators */
public class IteratorConcat<T> implements Iterator<T>
{
+ // No - we don't really need IteratorCons and IteratorConcat
+ // Historical.
+
private List<Iterator<T>> iterators = DS.list();
int idx = -1 ;
private Iterator<T> current = null ;
+ private Iterator<T> removeFrom = null ;
boolean finished = false ;
+ /** @see IteratorCons */
public static <T> Iterator<T> concat(Iterator<T> iter1, Iterator<T> iter2)
{
if (iter2 == null) return iter1 ;
@@ -72,12 +75,21 @@ public class IteratorConcat<T> implement
@Override
public T next()
{
- if ( ! hasNext() ) throw new NoSuchElementException() ;
+ if ( ! hasNext() )
+ throw new NoSuchElementException() ;
+ removeFrom = current ;
return current.next();
}
@Override
public void remove()
- { throw new UnsupportedOperationException() ; }
+ {
+ if ( null == removeFrom )
+ throw new IllegalStateException("no calls to next() since last call to remove()") ;
+
+ removeFrom.remove() ;
+ removeFrom = null ;
+
+ }
}
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorCons.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorCons.java?rev=1371768&r1=1371767&r2=1371768&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorCons.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/atlas/iterator/IteratorCons.java Fri Aug 10 16:43:56 2012
@@ -26,6 +26,9 @@ import java.util.NoSuchElementException
public class IteratorCons<T> implements Iterator<T>, Iterable<T>
{
+ // No - we don't really need IteratorCons and IteratorConcat
+ // Historical.
+
private Iterator<? extends T> iter1 ;
private Iterator<? extends T> iter2 ;
private Iterator<? extends T> removeFrom ;