Repository: jena
Updated Branches:
  refs/heads/jena2 56021764e -> 480706bdc


Fix for JENA-966

Added removeNext(), andThen(), toList() and toSet() implementations to 
LazyIterator.

Deprecated LateBindingIterator which had much the same.
Modified Unparser to use LazyIterator rather than LateBindingIterator


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/480706bd
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/480706bd
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/480706bd

Branch: refs/heads/jena2
Commit: 480706bdcff37bf740c9b66d3c6a5ed8f6d17709
Parents: 5602176
Author: Claude Warren <[email protected]>
Authored: Fri Jun 26 19:13:20 2015 +0100
Committer: Claude Warren <[email protected]>
Committed: Fri Jun 26 19:13:20 2015 +0100

----------------------------------------------------------------------
 .../jena/rdfxml/xmloutput/impl/Unparser.java    |  6 ++---
 .../jena/util/iterator/LateBindingIterator.java |  3 +++
 .../hp/hpl/jena/util/iterator/LazyIterator.java | 24 ++++++++++++++++++++
 3 files changed, 30 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/480706bd/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git 
a/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmloutput/impl/Unparser.java 
b/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmloutput/impl/Unparser.java
index c9a7127..d28a2dc 100644
--- 
a/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmloutput/impl/Unparser.java
+++ 
b/jena-core/src/main/java/com/hp/hpl/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -1544,9 +1544,9 @@ class Unparser {
      * used before instantiating the underlying iterator.
      */
     private Iterator<Resource> allInfiniteLeft() {
-        return new LateBindingIterator<Resource>() {
-            @Override public Iterator<Resource> create() {
-                return infinite.iterator();
+        return new LazyIterator<Resource>() {
+            @Override public ExtendedIterator<Resource> create() {
+                return WrappedIterator.create(infinite.iterator());
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/480706bd/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LateBindingIterator.java
----------------------------------------------------------------------
diff --git 
a/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LateBindingIterator.java
 
b/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LateBindingIterator.java
index 85c4dc5..84450ca 100644
--- 
a/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LateBindingIterator.java
+++ 
b/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LateBindingIterator.java
@@ -26,7 +26,10 @@ import java.util.Iterator ;
  * This allows an Iterator to be passed to some other
  * code, while delaying the evaluation of what actually
  * is going to be iterated over.
+ * 
+ * @deprecated use LazyIterator instead.
  */
+@Deprecated
 abstract public class LateBindingIterator<T> implements Iterator<T> {
 
     private Iterator<? extends T> it;

http://git-wip-us.apache.org/repos/asf/jena/blob/480706bd/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LazyIterator.java
----------------------------------------------------------------------
diff --git 
a/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LazyIterator.java 
b/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LazyIterator.java
index 456bf0f..a7ae37d 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LazyIterator.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/util/iterator/LazyIterator.java
@@ -18,6 +18,10 @@
 
 package com.hp.hpl.jena.util.iterator;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
 /** An ExtendedIterator that is created lazily.
  * This is useful when constructing an iterator is expensive and 
  * you'd prefer to delay doing it until certain it's actually needed.
@@ -85,6 +89,26 @@ abstract public class LazyIterator<T> implements 
ExtendedIterator<T> {
                it.close();
                        
        }
+       
+       @Override
+       public T removeNext() {
+               throw new UnsupportedOperationException();
+       }
+
+       @Override
+       public <X extends T> ExtendedIterator<T> andThen( Iterator<X> other ) {
+               return NiceIterator.andThen(this, other);
+       }
+
+       @Override
+       public List<T> toList() {
+               return NiceIterator.asList(this);
+       }
+
+       @Override
+       public Set<T> toSet() {
+               return NiceIterator.asSet(this);
+       }
         
        private void lazy() {
                if (it == null)

Reply via email to