I must have misunderstood a post from Andy then. My error. I thought there was a comment from Andy that indicated that Supplier was part of Stream and that Stream was significantly different from Function. As I said, my error and I am happy to drop that point.
As for the code base, for any publicly accessible surfaces we have to consider that they may be used outside of our base in products built upon Jena. The the class was exposed then removing it should not be cut and done. (I learned this lesson the hard way). Naturally this does not apply to internal code where the interface remains the same and the implementation changes. Thus my suggestion to fill out the class. I also proposed that we open an Epic to discuss how to move toward the Function approach you propose. I think that we will need a two prong approach. Retain the current interfaces that have been publicly available while marking them as deprecated and pointing to the Function approach as the replacement. I would think that we could mark as deprecated and indicate that they will be removed in 3.1.0 (or some such). Perhaps we should discuss how long to keep deprecated bits around before removing them. I think that 3.x.y deprecates something then 3.x+1.0 should be the earliest it should be removed. I also have concerns about the full on Java 8 adoption path we are on as there are cases where Java 8 is not available. Working for IBM I can tell you that we still support Java 6 and that the Java 6 IBM ships is patched to resolve security issues. But the fact remains that there are environment that are not at java 8 and won't be there any time soon. Our customers are reticent to move java versions in their large environments. I have a project where we are going to have to back port Jena 13.1 to Java 6 (if possible). But that is neither here nor there with regards to the topic at hand. Claude On Mon, Jun 22, 2015 at 9:03 PM, A. Soroka (JIRA) <j...@apache.org> wrote: > > [ > https://issues.apache.org/jira/browse/JENA-966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14596545#comment-14596545 > ] > > A. Soroka edited comment on JENA-966 at 6/22/15 8:02 PM: > --------------------------------------------------------- > > Just as a sidenote for anyone following this who is not familiar with the > use of {{Supplier}}: {{Supplier}} is not part of the Java 8 Stream API, > it's part of the Function API. It is a very simple SAM interface that is > intended to hold a computation. So one might do: > > {code:language=java} > # the only costs of the line below are an assignment and object creation > Supplier<Foo> fooForLater = () -> expensiveCompution(); > > # do some other stuff > > # the line below is where we pay the cost of expensiveCompution() > Foo myFoo = fooForLater.get(); > {code} > > > was (Author: ajs6f): > Just as a sidenote for anyone following this who is not familiar with the > use of {{Supplier}}: {{Supplier}} is not part of the Java 8 Stream API, > it's part of the Function API. It is a very simple SAM interface that is > intended to hold a computation. So one might do: > > {code:language=java} > # the only cost of the line below is an assignment > Supplier<Foo> fooForLater = () -> expensiveCompution(); > > # do some other stuff > > # the line below is where we pay the cost of expensiveCompution() > Foo myFoo = fooForLater.get(); > {code} > > > 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 > > > > 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) > -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren