RE: [vfs] why is FileSystemConfigBuilder.setParam() protected?

2009-05-29 Thread Mario Ivankovits
 This is one of my least favorite parts of VFS. To configure  
 FileSystemOptions you have to use the appropriate  
 FileSystemConfigBuilder. I can't tell you why it was done this way as  
 it precedes my involvement, but I've considered reinventing this more  
 than once. It isn't pretty.

The reason I have done it that way was simply to have type-safe configuration 
parameters.
I hate it to have just setParam(String, String) or something like this.

It also was necessary to being able to mix parameters for multiple file-system 
implementations as
1) your url might create a layered filesystem
2) you never know exactly which filesystem implementation is going to be used

So, I still like this approach.

For the setParam(String, String) approach VFS provides the 
DelegatingFileSystemOptionsBuilder which then allows you to use 
setConfigString/setConfigClass which accepts just strings and uses reflection 
to coerce it to the required type. This was created to populate the 
configuration e.g. from an ant script or a properties file.

Ciao,
Mario

-
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org



Re: [vfs] why is FileSystemConfigBuilder.setParam() protected?

2009-05-29 Thread Benoit Maisonny

 For the setParam(String, String) approach VFS provides the 
 DelegatingFileSystemOptionsBuilder which then allows you to use 
 setConfigString/setConfigClass which accepts just strings and uses reflection 
 to coerce it to the required type. This was created to populate the 
 configuration e.g. from an ant script or a properties file.
   
Great! This is exactly what I was looking for. May I suggest updating
the javadoc of FileSystemConfigBuilder and insert a link to
DelegatingFileSystemOptionsBuilder? As the delegate does not implement
the abstract class, it's more difficult to find it. I propose the
following text:

pWhen the VFS type is known at compile-time, developers should use the
VFS-specific *FileSystemConfigBuilder to benefit from type-safe
configuration. For generic configuration independant from the VFS type,
use {...@link
org.apache.commons.vfs.util.DelegatingFileSystemOptionsBuilder}./p

Would be worth putting the same text in the javadoc of FileSystemOptions.

Cheers,
Benoit


-
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org