Pete, >> this 'hint', "myxmldatabase", would be the protocol. so a URL you >> pass to the source resolver would be myxmldatabase://my/custom/path
But aren't hints usually placed in .roles files? This is where I loose track. Taking a look at the cocoon.roles for example, there is not a single hint in the <role name="org.apache.excalibur.source.SourceFactorySelector"> part of the file. I would have expected to find hints for "cocoon:" and "sitemap:" there for example. Instead, there is a couple of <component-instance> tags in cocoon.xconf where I find this information. Why is it there and not in the .roles file? My understanding so far was that if I need to choose one out of many components implementing the same role, I would use hints in the .roles file? Regards, Torsten > On May 8, 2005, at 6:05 PM, Torsten Schlabach wrote: >> >> Own protocols can be configured using the SourceFactory interface. >> >> I guess this means: I need to write a factory class for my protocol >> which implements the SourceFactory interface, right? > > yes > >> >> Whenever the SourceResolver finds a protocol that it can't >> handle by >> >> itself >> >> Which protocols can it handle "by itself"? Are they hard coded? Or >> does "by itself" just mean "built into the JDK"? > > SourceFactory's are provided for a number of protocols: > > http://svn.apache.org/viewcvs.cgi/excalibur/trunk/components/ > sourceresolve/src/java/org/apache/excalibur/source/impl/ > > files, Commons-VFS, FTP, HTTP and anything the JDK can handle > natively via its URL class. > >> >> it gets a role selector for a SourceFactory and tries to get a >> >> component with the role name of the protocol. >> >> This is where I don't understand a single word anymore. >> The name of the protocol might be myxmldatabase for the sake of the >> argument. This string ("myxmldatabase") might be a hint, but not a >> role, as role names are java interface names, aren't they? > > this 'hint', "myxmldatabase", would be the protocol. so a URL you > pass to the source resolver would be myxmldatabase://my/custom/path > > -pete > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
