|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.vfs.provider.AbstractVfsComponent
org.apache.commons.vfs.provider.AbstractFileSystem
public abstract class AbstractFileSystem
A partial FileSystem implementation.
| Field Summary | |
|---|---|
private FileSystemKey |
cacheKey
|
private java.util.Collection |
caps
|
private FileSystemOptions |
fileSystemOptions
FileSystemOptions used for configuration |
private java.util.Map |
listenerMap
Map from FileName to an ArrayList of listeners for that file. |
private static org.apache.commons.logging.Log |
log
|
private int |
openStreams
open streams counter for this filesystem |
private FileObject |
parentLayer
|
private FileName |
rootName
|
private long |
useCount
How many fileObjects are handed out |
| Constructor Summary | |
|---|---|
protected |
AbstractFileSystem(FileName rootName,
FileObject parentLayer,
FileSystemOptions fileSystemOptions)
|
| Method Summary | |
|---|---|
protected abstract void |
addCapabilities(java.util.Collection caps)
Adds the capabilities of this file system. |
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. |
void |
close()
Closes this component. |
void |
closeCommunicationLink()
Close the underlaying link used to access the files |
protected abstract FileObject |
createFile(FileName name)
Creates a file object. |
protected FileObject |
decorateFileObject(FileObject file)
|
protected void |
doCloseCommunicationLink()
Close the underlaying link used to access the files |
protected java.io.File |
doReplicateFile(FileObject file,
FileSelector selector)
Creates a temporary local copy of a file and its descendents. |
(package private) void |
fileObjectDestroyed(FileObject fileObject)
|
(package private) void |
fileObjectHanded(FileObject fileObject)
|
private void |
fireEvent(AbstractFileChangeEvent event)
Fires an event. |
void |
fireFileChanged(FileObject file)
Fires a file changed event. |
void |
fireFileCreated(FileObject file)
Fires a file create event. |
void |
fireFileDeleted(FileObject file)
Fires a file delete event. |
(package private) void |
freeResources()
|
java.lang.Object |
getAttribute(java.lang.String attrName)
Retrieves the attribute with the specified name. |
private FilesCache |
getCache()
|
(package private) FileSystemKey |
getCacheKey()
|
protected FileObject |
getFileFromCache(FileName name)
Returns a cached file. |
FileSystemManager |
getFileSystemManager()
Return the FileSystemManager used to instantiate this filesystem |
FileSystemOptions |
getFileSystemOptions()
Return 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 of this file system. |
boolean |
hasCapability(Capability capability)
Determines if this file system has a particular capability. |
void |
init()
Initialises this component. |
boolean |
isOpen()
check if this filesystem has open streams |
boolean |
isReleaseable()
returns true if no file is using this filesystem |
protected void |
notifyAllStreamsClosed()
will be called after all file-objects closed their streams. |
protected void |
putFileToCache(FileObject file)
Adds a file object to the cache. |
protected void |
removeFileFromCache(FileName name)
remove a cached file. |
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. |
private FileObject |
resolveFile(FileName name,
boolean useCache)
|
FileObject |
resolveFile(java.lang.String nameStr)
Finds a file in this file system. |
void |
setAttribute(java.lang.String attrName,
java.lang.Object value)
Sets the attribute with the specified name. |
(package private) void |
setCacheKey(FileSystemKey cacheKey)
|
(package private) void |
streamClosed()
|
(package private) void |
streamOpened()
|
| Methods inherited from class org.apache.commons.vfs.provider.AbstractVfsComponent |
|---|
getContext, getLogger, setContext, setLogger |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final org.apache.commons.logging.Log log
private final FileName rootName
private FileObject parentLayer
private final java.util.Collection caps
private final java.util.Map listenerMap
private final FileSystemOptions fileSystemOptions
private long useCount
private FileSystemKey cacheKey
private int openStreams
| Constructor Detail |
|---|
protected AbstractFileSystem(FileName rootName,
FileObject parentLayer,
FileSystemOptions fileSystemOptions)
| Method Detail |
|---|
public void init()
throws FileSystemException
init in interface VfsComponentinit in class AbstractVfsComponentFileSystemExceptionpublic void close()
close in interface VfsComponentclose in class AbstractVfsComponentpublic void closeCommunicationLink()
protected void doCloseCommunicationLink()
protected abstract FileObject createFile(FileName name)
throws java.lang.Exception
java.lang.Exceptionprotected abstract void addCapabilities(java.util.Collection caps)
public FileName getRootName()
getRootName in interface FileSystemprotected void putFileToCache(FileObject file)
private FilesCache getCache()
protected FileObject getFileFromCache(FileName name)
protected void removeFileFromCache(FileName name)
public boolean hasCapability(Capability capability)
hasCapability in interface FileSystemcapability - The capability to check for.
public java.lang.Object getAttribute(java.lang.String attrName)
throws FileSystemException
getAttribute in interface FileSystemattrName - The name of the attribute.
FileSystemException - If the file does not exist, or is being written, or if the
attribute is unknown.FileContent.getAttribute(java.lang.String)
public void setAttribute(java.lang.String attrName,
java.lang.Object value)
throws FileSystemException
setAttribute in interface FileSystemattrName - The name of the attribute.value - The value of the attribute.
FileSystemException - If the file is read-only, or is being read, or if the attribute
is not supported, or on error setting the attribute.FileContent.setAttribute(java.lang.String, java.lang.Object)
public FileObject getParentLayer()
throws FileSystemException
getParentLayer in interface FileSystemFileSystemException
public FileObject getRoot()
throws FileSystemException
getRoot in interface FileSystemFileSystemException
public FileObject resolveFile(java.lang.String nameStr)
throws FileSystemException
resolveFile in interface FileSystemnameStr - The name of the file. This must be an absolute path.
FileSystemException
public FileObject resolveFile(FileName name)
throws FileSystemException
resolveFile in interface FileSystemname - The name of the file.
FileSystemException
private FileObject resolveFile(FileName name,
boolean useCache)
throws FileSystemException
FileSystemException
protected FileObject decorateFileObject(FileObject file)
throws FileSystemException
FileSystemException
public java.io.File replicateFile(FileObject file,
FileSelector selector)
throws FileSystemException
replicateFile in interface FileSystemfile - The file to replicate.selector - The selector to use to select the files to replicate.
FileSystemException - If this file does not exist, or on error replicating the file.public FileSystemOptions getFileSystemOptions()
getFileSystemOptions in interface FileSystempublic FileSystemManager getFileSystemManager()
getFileSystemManager in interface FileSystempublic double getLastModTimeAccuracy()
getLastModTimeAccuracy in interface FileSystem
protected java.io.File doReplicateFile(FileObject file,
FileSelector selector)
throws java.lang.Exception
java.lang.Exception
public void addJunction(java.lang.String junctionPoint,
FileObject targetFile)
throws FileSystemException
addJunction in interface FileSystemjunctionPoint - The point in this file system to add the junction.targetFile - The file to link to.
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).
public void removeJunction(java.lang.String junctionPoint)
throws FileSystemException
removeJunction in interface FileSystemjunctionPoint - The junction to remove.
FileSystemException - On error removing the junction.
public void addListener(FileObject file,
FileListener listener)
addListener in interface FileSystemfile - The file to attach the listener to.listener - The listener to add.
public void removeListener(FileObject file,
FileListener listener)
removeListener in interface FileSystemfile - The file to remove the listener from.listener - The listener to remove.public void fireFileCreated(FileObject file)
public void fireFileDeleted(FileObject file)
public void fireFileChanged(FileObject file)
FileMonitor.
public boolean isReleaseable()
void freeResources()
private void fireEvent(AbstractFileChangeEvent event)
void fileObjectHanded(FileObject fileObject)
void fileObjectDestroyed(FileObject fileObject)
void setCacheKey(FileSystemKey cacheKey)
FileSystemKey getCacheKey()
void streamOpened()
void streamClosed()
protected void notifyAllStreamsClosed()
public boolean isOpen()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||