org.apache.commons.vfs
Interface FileSystem

All Known Implementing Classes:
AbstractFileSystem, Bzip2FileSystem, CompressedFileFileSystem, FtpFileSystem, GzipFileSystem, HttpFileSystem, JarFileSystem, LocalFileSystem, MimeFileSystem, RamFileSystem, SftpFileSystem, SmbFileSystem, TarFileSystem, UrlFileSystem, VirtualFileSystem, WebdavFileSystem, ZipFileSystem

public interface FileSystem

A file system, made up of a hierarchy of files.

Version:
$Revision: 804548 $ $Date: 2009-08-16 04:12:32 +0200 (So, 16. Aug 2009) $
Author:
Adam Murdoch

Method Summary
 void addJunction(java.lang.String junctionPoint, FileObject targetFile)
          Adds a junction to this file system.
 void addListener(FileObject file, FileListener listener)
          Adds a listener on a file in this file system.
 java.lang.Object getAttribute(java.lang.String attrName)
          Gets the value of an attribute of the file system.
 FileSystemManager getFileSystemManager()
          Returns a reference to the FileSytemManager.
 FileSystemOptions getFileSystemOptions()
          Returns the FileSystemOptions used to instantiate this filesystem.
 double getLastModTimeAccuracy()
          Returns the accuracy of the last modification time.
 FileObject getParentLayer()
          Returns the parent layer if this is a layered file system.
 FileObject getRoot()
          Returns the root file of this file system.
 FileName getRootName()
          Returns the name of the root file of this file system.
 java.lang.String getRootURI()
          The root URI passed as a file system option or obtained from the rootName.
 boolean hasCapability(Capability capability)
          Determines if this file system has a particular capability.
 void removeJunction(java.lang.String junctionPoint)
          Removes a junction from this file system.
 void removeListener(FileObject file, FileListener listener)
          Removes a listener from a file in this file system.
 java.io.File replicateFile(FileObject file, FileSelector selector)
          Creates a temporary local copy of a file and its descendents.
 FileObject resolveFile(FileName name)
          Finds a file in this file system.
 FileObject resolveFile(java.lang.String name)
          Finds a file in this file system.
 void setAttribute(java.lang.String attrName, java.lang.Object value)
          Sets the value of an attribute of the file's content.
 

Method Detail

getRoot

FileObject getRoot()
                   throws FileSystemException
Returns the root file of this file system.

Returns:
The root FileObject.
Throws:
FileSystemException - if an error occurs.

getRootName

FileName getRootName()
Returns the name of the root file of this file system. The root name always contains a path String of "/".

Returns:
the root FileName.

getRootURI

java.lang.String getRootURI()
The root URI passed as a file system option or obtained from the rootName.

Returns:
The root URI.

hasCapability

boolean hasCapability(Capability capability)
Determines if this file system has a particular capability.

Parameters:
capability - The capability to check for.
Returns:
true if this filesystem has the requested capability. Note that not all files in the file system may have the capability.

getParentLayer

FileObject getParentLayer()
                          throws FileSystemException
Returns the parent layer if this is a layered file system.

Returns:
The parent layer, or null if this is not a layered file system.
Throws:
FileSystemException - if an error occurs.

getAttribute

java.lang.Object getAttribute(java.lang.String attrName)
                              throws FileSystemException
Gets the value of an attribute of the file system.

TODO - change to Map getAttributes() instead?

TODO - define the standard attribute names, and define which attrs are guaranteed to be present.

Parameters:
attrName - The name of the attribute.
Returns:
The value of the attribute.
Throws:
FileSystemException - If the file does not exist, or is being written, or if the attribute is unknown.
See Also:
FileContent.getAttribute(java.lang.String)

setAttribute

void setAttribute(java.lang.String attrName,
                  java.lang.Object value)
                  throws FileSystemException
Sets the value of an attribute of the file's content. Creates the file if it does not exist.

Parameters:
attrName - The name of the attribute.
value - The value of the attribute.
Throws:
FileSystemException - If the file is read-only, or is being read, or if the attribute is not supported, or on error setting the attribute.
See Also:
FileContent.setAttribute(java.lang.String, java.lang.Object)

resolveFile

FileObject resolveFile(FileName name)
                       throws FileSystemException
Finds a file in this file system.

Parameters:
name - The name of the file.
Returns:
The file. Never returns null.
Throws:
FileSystemException - if an error occurs.

resolveFile

FileObject resolveFile(java.lang.String name)
                       throws FileSystemException
Finds a file in this file system.

Parameters:
name - The name of the file. This must be an absolute path.
Returns:
The file. Never returns null.
Throws:
FileSystemException - if an error occurs.

addListener

void addListener(FileObject file,
                 FileListener listener)
Adds a listener on a file in this file system.

Parameters:
file - The file to attach the listener to.
listener - The listener to add.

removeListener

void removeListener(FileObject file,
                    FileListener listener)
Removes a listener from a file in this file system.

Parameters:
file - The file to remove the listener from.
listener - The listener to remove.

addJunction

void addJunction(java.lang.String junctionPoint,
                 FileObject targetFile)
                 throws FileSystemException
Adds a junction to this file system. A junction is a link that attaches the supplied file to a point in this file system, making it look like part of the file system.

Parameters:
junctionPoint - The point in this file system to add the junction.
targetFile - The file to link to.
Throws:
FileSystemException - If this file system does not support junctions, or the junction point or target file is invalid (the file system may not support nested junctions, for example).

removeJunction

void removeJunction(java.lang.String junctionPoint)
                    throws FileSystemException
Removes a junction from this file system.

Parameters:
junctionPoint - The junction to remove.
Throws:
FileSystemException - On error removing the junction.

replicateFile

java.io.File replicateFile(FileObject file,
                           FileSelector selector)
                           throws FileSystemException
Creates a temporary local copy of a file and its descendents. If this file is already a local file, a copy is not made.

Note that the local copy may include additonal files, that were not selected by the given selector.

Parameters:
file - The file to replicate.
selector - The selector to use to select the files to replicate.
Returns:
The local copy of this file.
Throws:
FileSystemException - If this file does not exist, or on error replicating the file.

getFileSystemOptions

FileSystemOptions getFileSystemOptions()
Returns the FileSystemOptions used to instantiate this filesystem.

Returns:
The FileSystemOptions.

getFileSystemManager

FileSystemManager getFileSystemManager()
Returns a reference to the FileSytemManager.

Returns:
The FileSystemManager.

getLastModTimeAccuracy

double getLastModTimeAccuracy()
Returns the accuracy of the last modification time.

Returns:
ms 0 perfectly accurate, >0 might be off by this value e.g. sftp 1000ms.


Copyright © 2002-2011 Apache Software Foundation. All Rights Reserved.