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 2017/12/04 15:38:33 UTC

[1/2] jena git commit: JENA-1427: ExtendedIterator.nextOptional

Repository: jena
Updated Branches:
  refs/heads/master 52a9f02b9 -> e512f51b1


JENA-1427: ExtendedIterator.nextOptional


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

Branch: refs/heads/master
Commit: 084a5d9c11c672cc75617aadfeb39be317240625
Parents: 155edb7
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Nov 30 10:46:41 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Dec 4 15:34:26 2017 +0000

----------------------------------------------------------------------
 .../jena/util/iterator/ExtendedIterator.java    | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/084a5d9c/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
index abfa7e1..831f769 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
@@ -37,7 +37,7 @@ import java.util.function.Predicate;
  *            iterates
  */
 public interface ExtendedIterator<T> extends ClosableIterator<T>
-    {
+{
     /**
          Answer the next object, and remove it. Equivalent to next(); remove().
     */
@@ -82,4 +82,23 @@ public interface ExtendedIterator<T> extends ClosableIterator<T>
         consuming this iterator.
     */
     public Set<T> toSet();
+    
+    
+    /**
+        Answer with an {@link Optional}.
+        This operation assumes that the {@code ExtendedIterator} does not return null for {@code next()}. 
+        If it does,  {@code NullPointerException} is thrown.
+        <ul>
+        <li>If there is no next, return {@code Optional.empty()}
+        <li>If the next object exists, and is not null, return that in the {@link Optional}.
+        <li>If the next object exists, and is null, throw {@code NullPointerException}
+        </ul>
+     */
+    public default Optional<T> nextOptional() {
+        if ( ! hasNext() )
+            return Optional.empty();
+        T obj = next();
+        Objects.requireNonNull(obj, "ExtendedIterator.next is null");
+        return Optional.of(obj);
     }
+}


[2/2] jena git commit: JENA-1427: Merge commit 'refs/pull/323/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1427: Merge commit 'refs/pull/323/head' of github.com:apache/jena

This closes #323.


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

Branch: refs/heads/master
Commit: e512f51b10c479fa8fb24573d7b9112cde8e0fda
Parents: 52a9f02 084a5d9
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Dec 4 15:37:31 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Dec 4 15:37:31 2017 +0000

----------------------------------------------------------------------
 .../jena/util/iterator/ExtendedIterator.java    | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------