cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Unico Hommes" <>
Subject RE: repository block (was Re: [RT] Source extensions)
Date Thu, 23 Oct 2003 13:04:33 GMT

Guido Casper wrote:
> Unico Hommes <> wrote:
> > Guido Casper wrote:
> >>
> >> I would like to make the following changes to the 2.1 repo 
> and will 
> >> go ahead if noone objects (as soon I find some time):
> >>
> >> -Creating a repository block and moving there all source 
> interfaces 
> >> not part of excalibur's sourceresolve package.
> >
> > +1
> >
> >> -Moving there the SourceInspector interface and implementations
> >
> > Yep.
> >
> >> -Adding a setSourceProperty() method to the 
> SourceInspector interface
> >
> > Already have it on my local copy. :-)
> Cool! So I leave this to you :-)

Actually I think it's better to define a subinterface named
SourceDescriptor that defines these methods. This would create the
distinction between read-only properties and read/write properties
nicely. Otherwise the read-only inspectors would need to throw some kind
of exception for those modifying methods.

This would also mean that SourceInspectorManager becomes
SourceDescriptionManager and throws an exception when it is asked to
perform a persistent operation for a read-only property. To allow
clients to asses whether a SourceProperty is read-only I propose to add
an isModifiable() method on the SourceProperty. To avoid that users
think SourceProperty.setValue() will persist their modifications perhaps
it is better to remove that method.

A related change I need to make is described here: this will not
only improve performance of querying for a specific property but is
prerequisite for setting properties via the SourceDescriptionManager.


-- Unico

View raw message