pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandro Martini <sandro.mart...@gmail.com>
Subject Re: Loading of classes via Service Provider
Date Fri, 10 Oct 2014 16:21:39 GMT
Hi all,
here you can find a sample version of the same concepts, but more general:

https://github.com/smartiniOnGitHub/dynamic-loaders

It's a multi-project workspace managed by Gradle.
Currently Plugins are discovered and loaded in an automatic way, but
using standard Java ServiceLoader (simple to use but with little
customizations) ... a great feature (of ServiceLoader) is that all
manifest files with the given name are loaded, even in different
projects or jars (available in classpath).
To try it, run Unit Tests under dynamic-loaders-plugin-sample , and
even dynamic-loaders-core .

In Pivot I think that we could rewrite something similar (but simpler
:-) ), maybe using ServiceLoader initially (and maybe later changing
its implementation details), but instead of Plugins (like in my
experimental project) for Components and maybe even other kind of
classes, I still have to better generalize loaders there ...

For info, suggestions, etc please tell me.

Bye,
Sandro



2014-09-16 18:06 GMT+02:00 Roger Whitcomb <RogerandBeth@rbwhitcomb.com>:
> Okay. That sounds good. I would love to see the hard-coded skin class list replaced (for
instance).
>
> Ciao,
> ~Roger
>
>
>> On Sep 16, 2014, at 12:25 AM, Sandro Martini <sandro.martini@gmail.com> wrote:
>>
>> Ciao Roger,
>>
>>> I think this sounds reasonable, but could you be more specific about your use
case, and the way it could be used inside Pivot?
>> I think could be used for discovery/handle some kind of Components,
>> could be used for example in automatic registering of components with
>> a Skin, and many other things.
>>
>> At a more wide level even for group of features inside an application
>> (something like a module with a dedicated classloader) ... just as
>> idea.
>>
>>
>> Anyway I have to meke some test, and then post some update.
>>
>> Bye
>>

Mime
View raw message