Hi Lenya devs,

currently, it's not clear which classes+interfaces form
the Lenya API (i.e., have to stay backwards compatible
and therefore may be used by client code).

Examples are AbstractUsecase and DocumentUsecase:
Can you extend these classes without the danger of
incompatible changes in future 1.4.x versions?


I like the approach taken by Avalon/Excalibur:

- framework/api/src/java
- framework/api/src/test
- framework/impl/src/java
- framework/impl/src/test

For example: AbstractLogEnabled is part of the API,
AbstractConfiguration is not. A disadvantage of this
approach is that you can't tell whether a class is
part of the API without knowing where it is located
in the source tree. Maybe we can solve this using
package names which contain "impl":

o.a.lenya.cms.usecase.*
o.a.lenya.cms.usecase.impl.*


Modules are another story, but maybe the same concept
can be applied there.


WDYT?

-- Andreas


--
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
[EMAIL PROTECTED]                     [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to