Hi, On Tue, Feb 28, 2012 at 4:40 PM, Thomas Mueller <[email protected]> wrote: > So far we used the MicroKernel API (JSON / JSOP API) on the low level.
I'm a bit worried at how complex the current MicroKernel interface already is. For better separation of concerns it would be better if we had more focused interfaces for individual tasks (like the proposed Tree/Leaf pair for just accessing content). Given the current scope of the MicroKernel interface, I'd see the Tree/Leaf interfaces as being internal to the microkernel implementation. A different discussion is that I think having interfaces like the proposed Tree/Leaf exposed also to higher level constructs like node type handling would be quite useful. I don't see how something like that could easily be achieved with the current MicroKernel design. >>And since it's an interface, we could also implement features like >>virtual content without the complexities of the current >>VirtualItemStateProvider mechanism. > > I think that's possible even with the current API. It's possible, but pretty complicated. Just consider all the stuff you'd need to implement for a virtual jcr:system tree (like the one we have in current Jackrabbit) with the current MicroKernel interface. JSON parsing and formatting, path traversal, etc. Not to mention the completely unrelated responsibilities like getHeadRevision() or waitForCommit(). The proposed Tree/Leaf API avoids all that. BR, Jukka Zitting
