Class DelegatingFileSystemOptionsBuilder


  • public class DelegatingFileSystemOptionsBuilder
    extends java.lang.Object
    This class use reflection to set a configuration value using the fileSystemConfigBuilder associated the a scheme.

    Example:

     FileSystemOptions fso = new FileSystemOptions();
     DelegatingFileSystemOptionsBuilder delegate = new DelegatingFileSystemOptionsBuilder(VFS.getManager());
     delegate.setConfigString(fso, "sftp", "identities", "c:/tmp/test.ident");
     delegate.setConfigString(fso, "http", "proxyPort", "8080");
     delegate.setConfigClass(fso, "sftp", "userinfo", TrustEveryoneUserInfo.class);
     
    • Field Detail

      • STRING_PARAM

        private static final java.lang.Class<java.lang.String>[] STRING_PARAM
      • PRIMATIVE_TO_OBJECT

        private static final java.util.Map<java.lang.String,​java.lang.Class<?>> PRIMATIVE_TO_OBJECT
      • log

        private static final org.apache.commons.logging.Log log
      • beanMethods

        private final java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.util.List<java.lang.reflect.Method>>> beanMethods
    • Constructor Detail

      • DelegatingFileSystemOptionsBuilder

        public DelegatingFileSystemOptionsBuilder​(FileSystemManager manager)
        Constructor.

        Pass in your fileSystemManager instance.

        Parameters:
        manager - the manager to use to get the fileSystemConfigBuilder assocated to a scheme
    • Method Detail

      • setConfigString

        public void setConfigString​(FileSystemOptions fso,
                                    java.lang.String scheme,
                                    java.lang.String name,
                                    java.lang.String value)
                             throws FileSystemException
        Sets a single string value.
        Parameters:
        fso - FileSystemOptions
        scheme - scheme
        name - name
        value - value
        Throws:
        FileSystemException - if an error occurs.
      • setConfigStrings

        public void setConfigStrings​(FileSystemOptions fso,
                                     java.lang.String scheme,
                                     java.lang.String name,
                                     java.lang.String[] values)
                              throws FileSystemException
        Sets an array of string value.
        Parameters:
        fso - FileSystemOptions
        scheme - scheme
        name - name
        values - values
        Throws:
        FileSystemException - if an error occurs.
      • setConfigClass

        public void setConfigClass​(FileSystemOptions fso,
                                   java.lang.String scheme,
                                   java.lang.String name,
                                   java.lang.Class<?> className)
                            throws FileSystemException,
                                   java.lang.IllegalAccessException,
                                   java.lang.InstantiationException
        Sets a single class value.

        The class has to implement a no-args constructor, else the instantiation might fail.

        Parameters:
        fso - FileSystemOptions
        scheme - scheme
        name - name
        className - className
        Throws:
        FileSystemException - if an error occurs.
        java.lang.IllegalAccessException - if a class canoot be accessed.
        java.lang.InstantiationException - if a class cannot be instantiated.
      • setConfigClasses

        public void setConfigClasses​(FileSystemOptions fso,
                                     java.lang.String scheme,
                                     java.lang.String name,
                                     java.lang.Class<?>[] classNames)
                              throws FileSystemException,
                                     java.lang.IllegalAccessException,
                                     java.lang.InstantiationException
        Sets an array of class values.

        The class has to implement a no-args constructor, else the instantiation might fail.

        Parameters:
        fso - FileSystemOptions
        scheme - scheme
        name - name
        classNames - classNames
        Throws:
        FileSystemException - if an error occurs.
        java.lang.IllegalAccessException - if a class canoot be accessed.
        java.lang.InstantiationException - if a class cannot be instantiated.
      • getSchemeMethods

        private java.util.Map<java.lang.String,​java.util.List<java.lang.reflect.Method>> getSchemeMethods​(java.lang.String scheme)
                                                                                                         throws FileSystemException
        Gets (cached) list of set*() methods for the given scheme
        Throws:
        FileSystemException
      • createSchemeMethods

        private java.util.Map<java.lang.String,​java.util.List<java.lang.reflect.Method>> createSchemeMethods​(java.lang.String scheme)
                                                                                                            throws FileSystemException
        Creates the list of all set*() methods for the given scheme
        Throws:
        FileSystemException