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) ;
