On Fri, Oct 04, 2002 at 06:07:14PM +0200, Christian Haul wrote:
> On 03.Oct.2002 -- 07:42 PM, Piroumian Konstantin wrote:
...
> > > In this model, every module is potentially a 'meta' module,
> > > as it can take as input any other module. Think of
> > > 'input-module' as 'stdin'.
> >
> > This is exactly what I would like to have.
> > But I think that we should have simple modules declared in Cocoon
> > distribution by default and users should be able to combine them as they
> > like.
>
> I'm referring _only_ to the "if (!present) then use otherModule"
> case. This should IMO be done by a separate module.
Do you mean when, say {moduleA:foo} is requested, but moduleA doesn't
have an attribute called 'foo'?
I can see why you wouldn't _always_ want values to be defaulted to
moduleB, but that does seem very useful behaviour to support.
So how would it be done with a separate module?
...
> > > As for inheritance, that's just a handy technique for
> > > implementing chaining. We'd have:
> > >
> > > AbstractInputModule
> > > |
> > > AbstractChainedInputModule (handles 'input-module' and
> > > name mapping)
> > > /\
> > > / \
> > > / \
> > > DateFormatter AbstractJXPathModule
> > > |
> > > \_ RequestModule
> > > \_ SessionModule
> > > \_ XMLModule
> >
> > +1
> > And even date formatter can be JXPath aware, e.g. you can use substring()
> > function to extract parts of the date string.
>
> This looks better than it is, since the composition part (and keeping
> references if threadsafe) can not be separated that easily IMO because
> of the try-catch-finally split.
Looking at all the *MetaModule.java files, there is a huge amount of
duplicated, non-trivial code. I don't fully understand it, and so cannot
easily turn XMLModule into XMLMetaModule. Wouldn't it be possible to
separate the common code out into an AbstractMetaModule class, which the
*MetaModules could inherit from?
--Jeff
> Chris.
> --
> C h r i s t i a n H a u l
> [EMAIL PROTECTED]
> fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]