Ah.. I see. I looked at the patch and I liked it.
One thing I don't like on the current codebase is the implementations as inner classes on Interfaces.. (e.g. WriteableBuffer)... I would suggest making it a separate class. but on this case it makes a lot of sense.... I looked at the patch and I liked it. On Apr 30, 2014, at 9:08 AM, Rafael Schloming <[email protected]> wrote: > Right, I wasn't suggesting the proton codebase use Java 8 anytime soon (I > would think not until Java 7 is EOLed), just that if a Java 8 codebase uses > proton-j then the idioms will be a little bit closer to each other. > > --Rafael > > > On Wed, Apr 30, 2014 at 8:33 AM, Clebert Suconic <[email protected]>wrote: > >> The only issue is that all the users using Proton-j would have to be at >> least Java8. >> For instance, I can have maybe my users using Java8 on the server, but >> they won't migrate all their clients. >> >> >> On Apr 30, 2014, at 6:48 AM, Rafael Schloming <[email protected]> wrote: >> >>> I forgot to mention, but another part of the reasoning here is that Java >> 8 >>> is (finally!!!) allowing static methods in interfaces, so the "natural" >>> pattern for this sort of thing would just be Interface.create(...), and >>> while we won't be able to use that for a while, the >>> Interface.Factory.create(...) option is about as idiomatically close to >>> that as we can get in Java 7. >>> >>> --Rafael >>> >>> >>> On Tue, Apr 29, 2014 at 2:57 PM, Rafael Schloming <[email protected]> >> wrote: >>> >>>> Hi Everyone, >>>> >>>> I've put together a patch that makes the proton-j factory usage a bit >>>> simpler and more consistent. You can review it here if you like: >>>> >>>> - https://reviews.apache.org/r/20854/ >>>> >>>> The main point of the patch is to make all the factories consistently >>>> follow this pattern: >>>> >>>> package.Interface iface = package.Interface.Factory.create(...); >>>> >>>> I like this because it is simple and easy to remember and doesn't >> require >>>> importing the impl packages directly. >>>> >>>> The patch preserves the convenience constructors, e.g. >> Proton.connection() >>>> and so forth, but it does remove the old factory APIs. I think this is a >>>> reasonable thing to do because the old factories were cumbersome enough >> to >>>> use that I don't think anyone actually bothered (including our own >>>> exmaples). >>>> >>>> In any case, please shout if this patch will be troublesome for you. If >> I >>>> don't hear anything I'll go ahead and commit it later this week. >>>> >>>> Thanks, >>>> >>>> --Rafael >>>> >>>> >> >>
