On Mar 8, 2009, at 10:31 AM, Sergiu Dumitriu wrote:
Vincent Massol wrote:
Hi,
Some time ago we agreed that component implementations should be
located in the internal package. I now believe it's wrong if we want
to allow users to use our modules separately from the rest of XWiki
as
standard java beans. I think it's a good property to have that users
can integrate our modules into their own code without taking the
whole
of XWiki. This is what I'm trying to do with the rendering module.
Thus I'm proposing to move the components out of the internal module
*only* for the rendering module for now even though I suspect that
we'll want to do that for all modules eventually.
Here's my +1
What's the advantage? Or, what's wrong with keeping the internal
package?
We should keep the internal package for sure for whatever is internal.
What it means here is that the component implementation classes are
public classes.
Apart from a longer package name, there's no bound
semantics on
such a package. IMO it even has the advantage that it clearly delimits
interfaces and abstract base classes from implementations.
The user will write for example:
Parser parser = new WikiModelXWikiParser(...);
parser.parse(new StringReader("**whatever**");
...
So this makes WikiModelXWikiParser public (this is an example but is
true for all other components - or almost all of them).
Thanks
-Vincent