sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Sedding <>
Subject Re: [DISCUSSION][API][PROPOSAL] Adding Stream<Resource> generator to Sling API
Date Tue, 12 Jun 2018 12:36:49 GMT
I share Dan's opinion that it makes sense to offer the functionality
via a utility of some sort (be it adaptTo or static methods or even
constructors ;)).

In the past that was also how the Sling API evolved. E.g. first there
was resource.adaptTo(ValueMap.class), then came
ResourceUtil.getValueMap(resource), which returns a modifiable empty
ValueMap even if resource == null. And finally, a lot later,
resource.getValueMap() was added, because ValueMaps are used a lot
when dealing with resources.


On Thu, Jun 7, 2018 at 4:08 PM, Daniel Klco <> wrote:
> On Thu, Jun 7, 2018 at 9:05 AM, Bertrand Delacretaz <>
> wrote:
>> On Thu, Jun 7, 2018 at 3:00 PM, Jason E Bailey <> wrote:
>> > ...I really don't think creating a dedicated bundle that consists of a
>> single class
>> > is really appropriate....
>> That's not necessarily a problem, especially if it's meant to avoid
>> touching our api bundle, which we're always quite reluctant to touch
>> unless really needed.
> I'm of the opinion that it could make sense to update the API to support
> streams, but I think first, we should have a stand-alone option. A) this
> will help evaluate the best approach for the eventual inclusion into the
> Sling API. B) This will also allow developers using older versions of the
> Sling API and underling implementations use Lamdba expressions immediately
> instead of having to update their stack to support the newest API (which
> often will not be possible for people running proprietary software such as
> AEM).
>> And I suppose your code will have more than that class, in total, so
>> maybe you can (at least initially) put that utility class in your main
>> bundle if you have one? If you do this you can quietly work on that in
>> isolation, and once you have enough to demonstrate the whole thing we
>> can discuss how to best organize it.
> I'd think you'd need at least the ResourceStream, an adapter factory and
> ideally the Predicates from your original project. Ideally, IMO this should
> be a "quick start" to using Streams with Sling.
>> > ...I've come to realize that I'm doing an extremely poor job at
>> explaining
>> > the vision behind this and/or communicating the overall benefits...
>> We're all busy, so maybe we're not paying enough attention...don't despair
>> ;-)
> I for one am super excited for this. :-) Once the standalone bundle is
> ready, it'd be great to provide a few examples of pre and post code using
> the Resource Stream API.
>> -Bertrand

View raw message