## org.apache.commons.configuration
Class FileSystem

    java.lang.Object
      org.apache.commons.configuration.FileSystem

Direct Known Subclasses:
  DefaultFileSystem

    public abstract class FileSystem

extends Object

Abstract layer to allow various types of file systems.

Since:
  1.7
Version:
  $Id: FileSystem.java 1209996 2011-12-03 20:24:21Z oheger $
Author:
  Commons Configuration team

Constructor Summary
`FileSystem()`

Method Summary
`abstract String` `getBasePath(String path)`
`static FileSystem` `getDefaultFileSystem()` Retrieve the FileSystem being used.
`abstract String` `getFileName(String path)`
`FileOptionsProvider` `getFileOptionsProvider()`
`abstract InputStream` `getInputStream(String basePath, String fileName)`
`abstract InputStream` `getInputStream(URL url)`
`org.apache.commons.logging.Log` `getLogger()` Returns the logger used by this FileSystem.
`abstract OutputStream` `getOutputStream(File file)`
`abstract OutputStream` `getOutputStream(URL url)`
`abstract String` `getPath(File file, URL url, String basePath, String fileName)`
`abstract URL` `getURL(String basePath, String fileName)`
`abstract URL` `locateFromURL(String basePath, String fileName)`
`static void` `resetDefaultFileSystem()` Reset the FileSystem to the default.
`static void` `setDefaultFileSystem(FileSystem fs)` Set the FileSystem to use.
`void` `setFileOptionsProvider(FileOptionsProvider provider)` Set the FileOptionsProvider
`void` `setLogger(org.apache.commons.logging.Log log)` Allows to set the logger to be used by this FileSystem.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FileSystem

    public FileSystem()

Method Detail

### getLogger

    public org.apache.commons.logging.Log getLogger()

  Returns the logger used by this FileSystem.

  Returns:
    the logger

### setLogger

    public void setLogger(org.apache.commons.logging.Log log)

  Allows to set the logger to be used by this FileSystem. This method makes it possible for clients to exactly control logging behavior. Per default a logger is set that will ignore all log messages. Derived classes that want to enable logging should call this method during their initialization with the logger to be used.

  Parameters:
    `log` - the new logger

### setDefaultFileSystem

    public static void setDefaultFileSystem(FileSystem fs)
                                     throws NullPointerException

  Set the FileSystem to use.

  Parameters:
    `fs` - The FileSystem
  Throws:
    `NullPointerException` - if the FileSystem parameter is null.

### resetDefaultFileSystem

    public static void resetDefaultFileSystem()

  Reset the FileSystem to the default.

### getDefaultFileSystem

    public static FileSystem getDefaultFileSystem()

  Retrieve the FileSystem being used.

  Returns:
    The FileSystem.

### setFileOptionsProvider

    public void setFileOptionsProvider(FileOptionsProvider provider)

  Set the FileOptionsProvider

  Parameters:
    `provider` - The FileOptionsProvider

### getFileOptionsProvider

    public FileOptionsProvider getFileOptionsProvider()

### getInputStream

    public abstract InputStream getInputStream(String basePath,
                                               String fileName)
                                        throws ConfigurationException

  Throws:
    `ConfigurationException`

### getInputStream

    public abstract InputStream getInputStream(URL url)
                                        throws ConfigurationException

  Throws:
    `ConfigurationException`

### getOutputStream

    public abstract OutputStream getOutputStream(URL url)
                                          throws ConfigurationException

  Throws:
    `ConfigurationException`

### getOutputStream

    public abstract OutputStream getOutputStream(File file)
                                          throws ConfigurationException

  Throws:
    `ConfigurationException`

### getPath

    public abstract String getPath(File file,
                                   URL url,
                                   String basePath,
                                   String fileName)

### getBasePath

    public abstract String getBasePath(String path)

### getFileName

    public abstract String getFileName(String path)

### locateFromURL

    public abstract URL locateFromURL(String basePath,
                                      String fileName)

### getURL

    public abstract URL getURL(String basePath,
                               String fileName)
                        throws MalformedURLException

  Throws:
    `MalformedURLException`

Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.