[
https://issues.apache.org/jira/browse/JENA-966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14646710#comment-14646710
]
ASF GitHub Bot commented on JENA-966:
-------------------------------------
Github user ajs6f commented on a diff in the pull request:
https://github.com/apache/jena/pull/90#discussion_r35807971
--- Diff: jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
---
@@ -29,6 +29,14 @@
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sink ;
+/**
+ * Iter provides utilities for working with {@link Iterator}s.
+ *
+ * Iter should never be used as a return type or parameter type in the
public contract of a class. It is only to be used
+ * inside implementation code and is instantiated only to allow
method-chaining as part of a calculation.
--- End diff --
Yes, that's why the note is useful. If `Iter` actually imposed that in the
code there would be no need for documentation.
Is there in fact any difference between `Iter` and `ExtendedIterator`? They
are both subtypes of `java.util.Iterator` that provide convenient methods, with
the functionality of `Iter` entirely overlapping that of `ExtendedIterator`.
I've tried repeatedly to discover this information, and my experience shows
that it is quite possible to confuse them. You were quite explicit in
explaining to me in connection with JENA-966 that they are not to be used in
the same circumstances, and all I'm trying to do here is determine what those
circumstances actually are and record them.
> LazyIterator
> ------------
>
> Key: JENA-966
> URL: https://issues.apache.org/jira/browse/JENA-966
> Project: Apache Jena
> Issue Type: Bug
> Components: Core
> Affects Versions: Jena 3.0.0
> Reporter: Claude Warren
> Assignee: Claude Warren
> Fix For: Jena 3.0.0
>
>
> LazyIterator is an abstract class. The documentation indicates that the
> create() method needs to be overridden to create an instance. From this I
> would expect that
> now LazyIterator(){
> @Override
> public ExtendedIterator<Model> create() {
> ...
> }};
> Would work however LazyIterator does not override:
> remoteNext(), andThen(), toList(), and toSet().
> I believe these should be implemented in the class.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)