Santiago Gala wrote:
>
> [EMAIL PROTECTED] wrote:
>
>
> I would like a lot that AbstractPortlet be really abstract. It is very
> misleading that a class named Abstract has a concrete implementation.
> Further, if it implements things that are not abstract at all, as a
> caching behaviour coupled with a way to retrieve cached content. We have
> had quite a few errors related with the fact that AbstractPortlet
> implements too many things.
>
I agree with the idea but do you see a mean to reduce the amount of functionality
implemented by the AbstractPortlet (or Abstract*) without breaking compatibility ?
I would think that AbstractPortlet should *not* implement Cacheable and should not
provide an implementation for getContent() at the very least. If people are OK with
dropping the Cacheable interface from AbstractPortlet, I'm definitely +1 but I fear
this may have border effects on existing code.
> > OK, I'll see if I can integrate that into 1.3a2 without breaking existing code...
> >
> > While I'm testing waters here :
> >
> > Are there users out there who depend on PortletSet, PortletControl and
>PortletConfig
> > being real classes rather that interfaces (for things like new PortletConfig() or
> > new PortletSet() ) ?
> >
> > If not, I'd like to make these interfaces and provide the existing implementations
> > as BasePortletConfig(), BasePortletSet() and AbstractPortletControl(). That will
> > give us a lot of additionnal flexibility.
> >
>
> Again, I would pray that any "Abstract..." be really abstract. If it is
> not abstract --> "Base..."
>
The distinction I see between Base* and Abstract* is that a Base* class is likely
to be the only implementation of this interface whereas Abstract* is a helper class
for implementing an interface which is expected to have many implementations (Portlet,
PortletControl, PortletController).
Does that make sense to you ?
--
Rapha�l Luta - [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]