Hi,

what is exactly the distinction between SPI and non-SPI classes? i.e.
classes below oajo.spi.* and those outside?

is the SPI meant to be the "PI" for plugins and extensibility?

If so, the SPI should contain all those classes that are:
1. public (in the osgi sense)
2. used to implement/extends oak features

all other classes (that are neither api nor utility) should be private
and implementation detail and probably live in oajo.core.* (assuming
that core is not exported) or in oajo.spi.impl.*

-- OR --

is the SPI thought of the service layer in context of the overall
architecture of a content repository, where the SPI provides some of
the JCR functionality that is needed by any client (local or remote).
(this is IIRC how jackrabbit 2.x thought of it):

...
JCR
---
SPI
...
CORE
---
MK

(where --- could be remoted and ... is a java only interface).

I'm not sure if either of the meanings of SPI is clearly followed in
oak, and I think we should clarify this.

Regards, Toby

Reply via email to