On Fri, Jan 10, 2003 at 10:55:38AM +0100, Stephan Michels wrote:
>
> On Fri, 10 Jan 2003, Jeff Turner wrote:
>
> > > > How about:
> > > >
> > > > <source name="dir" collection="true">
> > > > <source name="file.xml"/>
> > > > <source name="file.jpg" height="${jpg:file.jpg#height}"
>width="${jpg:file.jpg#width}"/>
> > > > </source>
> > >
> > > Something like that.
> > >
> > > > Although, for your specific need, I think the InspectableSource-aware
> > > > Generator sounds simpler. Assuming I've understood correctly.
> > >
> > > Hmm, I think I had an idea. What about something like that
> > >
> > > abstract SourceInputModule
> > > {
> > > Object getAttribute( String name, Configuration modeConf, Map
> > > objectModel ) throws ConfigurationException
> > > {
> > > int index = name.indexOf("#");
> > > String uri = name.substring(0, index-1);
> > > String name = name.substring(index+1);
> > >
> > > return getSourceAttribute(uri, name, modeConf, objectModel);
> > > }
> > >
> > > abstarct Object getSourceAttribute( String uri , String name ,
> > > Configuration modeConf, Map objectModel )
> > > throws ConfigurationException;
> > > }
> > >
> > > It uses the conventional interface.
> >
> > Looks decent, but in practice, most classes will want to inherit from
> > more functional superclasses like AbstractJXPathModule, or
> > AbstractMetaModule, and Java doesn't have multiple inheritance. For
> > example, XMLFileModule works on a Source, but needs AbstractJXPathModule,
> > so couldn't use SourceInputModule.
>
> Okay, how about using SourceInputModule as interface, and to provide
> an abstract implementation using the InputModule interface.
>
> Hmm, I hoped that I could prevent to create a new interface.
It's only 3 lines of code.. not worth creating a new class/interface over
surely? Or do you need the class/interface so an 'instanceof' test can
distinguish Source InputModules from ordinary ones?
--Jeff
> Anyone against the new interface, or using the modules/input dir?
>
> Stephan Michels.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]