Repository: jena
Updated Branches:
  refs/heads/master 66c27e45e -> ef1ba7c66


Add Iter.log for debugging usages of Iter.

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

Branch: refs/heads/master
Commit: 2c242b2eb749f151f0bf5c8e0b716178f5d95f9a
Parents: 66c27e4
Author: Andy Seaborne <[email protected]>
Authored: Thu Oct 9 10:20:13 2014 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Thu Oct 9 10:20:13 2014 +0100

----------------------------------------------------------------------
 .../org/apache/jena/atlas/iterator/Iter.java    | 23 +++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2c242b2e/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java 
b/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
index 03cd674..52352ea 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/iterator/Iter.java
@@ -608,9 +608,30 @@ public class Iter<T> implements Iterable<T>, Iterator<T> {
             ((Closeable)iter).close() ;
     }
 
+
+    /**
+     * Print an iterator to stdout, return a copy of the iterator. Printing
+     * occurs now. See {@linkplain #debug} for an operation to print as the
+     * iterator is used. 
+     */
+    public static <T> Iterator<T> log(Iterator<T> stream) {
+        return log(System.out, stream) ;
+    }
+
+    /**
+     * Print an iterator to stdout, return a copy of the iterator. Printing
+     * occurs when the returned iterator is used
+     */
+    public static <T> Iterator<T> log(final PrintStream out, Iterator<T> 
stream) {
+        Iterator<T> iter = debug(out, stream) ;
+        // And force it to run.
+        return Iter.toList(iter).iterator();
+    }
+    
     /**
      * Print an iterator to stdout, return a copy of the iterator. Printing
-     * occurs when
+     * occurs when the iterator is used.  See {@linkplain #log} for
+     * an operation to print now. 
      */
     public static <T> Iterator<T> debug(Iterator<T> stream) {
         return debug(System.out, stream) ;

Reply via email to