Hey,

I just finished a major refactoring in the v2.0 branch, so please pull and check it out.

* All descriptors are now in API rather than SPI (including access methods in Qi4j interface)

* Most SPI model interfaces are gone. Now the API does all the interesting stuff

* When instantiating a new Qi4j Application instance you get to specify a list of imported service instances, which are added to the Application MetaInfo. This is pretty big actually, as it allows your assemblers to not have to talk to external services during assembly. Long-term goal is to allow assemblers to run to create model without necessarily instantiating it. Like being able to view the Gradle project model without actually running something. Should be good for visualizations.

* The old Query API is now gone. Also removed is QueryBuilder.newQuery(uow), which is now uow.newQuery(queryBuilder) instead. This makes it possible for anyone to create their own implementation of the new QuerySource SPI. QueryBuilder.newQuery(iterable) is still there as a simple version though.

* TransientComposite/ValueComposite/EntityComposite/ServiceComposite now have exactly 0 methods in them. All those are better done by accessing descriptors through the Qi4j API, or using the JSON serializer/deserializer, which is now in API. This opens up for eventually not requiring developer supplied classes to extend these, as we can add them on the fly instead.

* Plus lots and lots of small fixes.

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to