Guido Casper wrote: > > Unico Hommes <[EMAIL PROTECTED]> 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: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23699 this will not only improve performance of querying for a specific property but is prerequisite for setting properties via the SourceDescriptionManager. Thoughts? -- Unico
