Package org.apache.commons.vfs.impl
Class SynchronizedFileObject
- java.lang.Object
-
- org.apache.commons.vfs.impl.DecoratedFileObject
-
- org.apache.commons.vfs.impl.SynchronizedFileObject
-
- All Implemented Interfaces:
FileObject
public class SynchronizedFileObject extends DecoratedFileObject
This decorator synchronize all access to the FileObject- Version:
- $Revision: 485638 $ $Date: 2006-12-11 13:20:55 +0100 (Mon, 11 Dec 2006) $
- Author:
- Mario Ivankovits
-
-
Constructor Summary
Constructors Constructor Description SynchronizedFileObject(FileObject fileObject)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this file, and its content.voidcopyFrom(FileObject srcFile, FileSelector selector)Copies another file, and all its descendents, to this file.voidcreateFile()Creates this file, if it does not exist.voidcreateFolder()Creates this folder, if it does not exist.booleandelete()Deletes this file.intdelete(FileSelector selector)Deletes all descendents of this file that match a selector.booleanexists()Determines if this file exists.FileObject[]findFiles(FileSelector selector)Finds the set of matching descendents of this file, in depthwise order.voidfindFiles(FileSelector selector, boolean depthwise, java.util.List selected)Finds the set of matching descendents of this file.FileObjectgetChild(java.lang.String name)Returns a child of this file.FileObject[]getChildren()Lists the children of this file.FileContentgetContent()Returns this file's content.FileTypegetType()Returns this file's type.booleanisHidden()Determines if this file is hidden.booleanisReadable()Determines if this file can be read.booleanisWriteable()Determines if this file can be written to.voidmoveTo(FileObject destFile)Move this file.FileObjectresolveFile(java.lang.String path)Finds a file, relative to this file.FileObjectresolveFile(java.lang.String name, NameScope scope)Finds a file, relative to this file.-
Methods inherited from class org.apache.commons.vfs.impl.DecoratedFileObject
canRenameTo, getDecoratedFileObject, getFileOperations, getFileSystem, getName, getParent, getURL, isAttached, isContentOpen, refresh, toString
-
-
-
-
Constructor Detail
-
SynchronizedFileObject
public SynchronizedFileObject(FileObject fileObject)
-
-
Method Detail
-
close
public void close() throws FileSystemExceptionDescription copied from interface:FileObjectCloses this file, and its content. This method is a hint to the implementation that it can release any resources associated with the file.The file object can continue to be used after this method is called.
- Specified by:
closein interfaceFileObject- Overrides:
closein classDecoratedFileObject- Throws:
FileSystemException- On error closing the file.- See Also:
FileContent.close()
-
copyFrom
public void copyFrom(FileObject srcFile, FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectCopies another file, and all its descendents, to this file. If this file does not exist, it is created. Its parent folder is also created, if necessary. If this file does exist, it is deleted first.This method is not transactional. If it fails and throws an exception, this file will potentially only be partially copied.
- Specified by:
copyFromin interfaceFileObject- Overrides:
copyFromin classDecoratedFileObject- Parameters:
srcFile- The source file to copy.selector- The selector to use to select which files to copy.- Throws:
FileSystemException- If this file is read-only, or if the source file does not exist, or on error copying the file.
-
createFile
public void createFile() throws FileSystemExceptionDescription copied from interface:FileObjectCreates this file, if it does not exist. Also creates any ancestor folders which do not exist. This method does nothing if the file already exists and is a file.- Specified by:
createFilein interfaceFileObject- Overrides:
createFilein classDecoratedFileObject- Throws:
FileSystemException- If the file already exists with the wrong type, or the parent folder is read-only, or on error creating this file or one of its ancestors.
-
createFolder
public void createFolder() throws FileSystemExceptionDescription copied from interface:FileObjectCreates this folder, if it does not exist. Also creates any ancestor folders which do not exist. This method does nothing if the folder already exists.- Specified by:
createFolderin interfaceFileObject- Overrides:
createFolderin classDecoratedFileObject- Throws:
FileSystemException- If the folder already exists with the wrong type, or the parent folder is read-only, or on error creating this folder or one of its ancestors.
-
delete
public boolean delete() throws FileSystemExceptionDescription copied from interface:FileObjectDeletes this file. Does nothing if this file does not exist of if it is a folder that has children. Does not delete any descendents of this file, useFileObject.delete(FileSelector)for that.- Specified by:
deletein interfaceFileObject- Overrides:
deletein classDecoratedFileObject- Returns:
- true if this object has been deleted
- Throws:
FileSystemException- If this file is a non-empty folder, or if this file is read-only, or on error deleteing this file.
-
delete
public int delete(FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectDeletes all descendents of this file that match a selector. Does nothing if this file does not exist.This method is not transactional. If it fails and throws an exception, this file will potentially only be partially deleted.
- Specified by:
deletein interfaceFileObject- Overrides:
deletein classDecoratedFileObject- Parameters:
selector- The selector to use to select which files to delete.- Returns:
- the number of deleted objects
- Throws:
FileSystemException- If this file or one of its descendents is read-only, or on error deleting this file or one of its descendents.
-
exists
public boolean exists() throws FileSystemExceptionDescription copied from interface:FileObjectDetermines if this file exists.- Specified by:
existsin interfaceFileObject- Overrides:
existsin classDecoratedFileObject- Returns:
trueif this file exists,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
findFiles
public void findFiles(FileSelector selector, boolean depthwise, java.util.List selected) throws FileSystemException
Description copied from interface:FileObjectFinds the set of matching descendents of this file.- Specified by:
findFilesin interfaceFileObject- Overrides:
findFilesin classDecoratedFileObject- Parameters:
selector- the selector used to determine if the file should be selecteddepthwise- controls the ordering in the list. e.g. deepest firstselected- container for selected files. list needs not to be empty.- Throws:
FileSystemException
-
findFiles
public FileObject[] findFiles(FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectFinds the set of matching descendents of this file, in depthwise order.- Specified by:
findFilesin interfaceFileObject- Overrides:
findFilesin classDecoratedFileObject- Parameters:
selector- The selector to use to select matching files.- Returns:
- The matching files. The files are returned in depthwise order (that is, a child appears in the list before its parent).
- Throws:
FileSystemException
-
getChild
public FileObject getChild(java.lang.String name) throws FileSystemException
Description copied from interface:FileObjectReturns a child of this file. Note that this method returnsnullwhen the child does not exist. This differs fromFileObject.resolveFile( String, NameScope)which never returns null.- Specified by:
getChildin interfaceFileObject- Overrides:
getChildin classDecoratedFileObject- Parameters:
name- The name of the child.- Returns:
- The child, or null if there is no such child.
- Throws:
FileSystemException- If this file does not exist, or is not a folder, or on error determining this file's children.
-
getChildren
public FileObject[] getChildren() throws FileSystemException
Description copied from interface:FileObjectLists the children of this file.- Specified by:
getChildrenin interfaceFileObject- Overrides:
getChildrenin classDecoratedFileObject- Returns:
- An array containing the children of this file. The array is unordered. If the file does not have any children, a zero-length array is returned. This method never returns null.
- Throws:
FileSystemException- If this file does not exist, or is not a folder, or on error listing this file's children.
-
getContent
public FileContent getContent() throws FileSystemException
Description copied from interface:FileObjectReturns this file's content. TheFileContentreturned by this method can be used to read and write the content of the file.This method can be called if the file does not exist, and the returned
FileContentcan be used to create the file by writing its content.- Specified by:
getContentin interfaceFileObject- Overrides:
getContentin classDecoratedFileObject- Returns:
- This file's content.
- Throws:
FileSystemException- On error getting this file's content.
-
getType
public FileType getType() throws FileSystemException
Description copied from interface:FileObjectReturns this file's type.- Specified by:
getTypein interfaceFileObject- Overrides:
getTypein classDecoratedFileObject- Returns:
- One of the
FileTypeconstants. Never returns null. - Throws:
FileSystemException- On error determining the file's type.
-
isHidden
public boolean isHidden() throws FileSystemExceptionDescription copied from interface:FileObjectDetermines if this file is hidden.- Specified by:
isHiddenin interfaceFileObject- Overrides:
isHiddenin classDecoratedFileObject- Returns:
trueif this file is hidden,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
isReadable
public boolean isReadable() throws FileSystemExceptionDescription copied from interface:FileObjectDetermines if this file can be read.- Specified by:
isReadablein interfaceFileObject- Overrides:
isReadablein classDecoratedFileObject- Returns:
trueif this file is readable,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
isWriteable
public boolean isWriteable() throws FileSystemExceptionDescription copied from interface:FileObjectDetermines if this file can be written to.- Specified by:
isWriteablein interfaceFileObject- Overrides:
isWriteablein classDecoratedFileObject- Returns:
trueif this file is writeable,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
moveTo
public void moveTo(FileObject destFile) throws FileSystemException
Description copied from interface:FileObjectMove this file.If the destFile exists, it is deleted first
- Specified by:
moveToin interfaceFileObject- Overrides:
moveToin classDecoratedFileObject- Parameters:
destFile- the New filename.- Throws:
FileSystemException- If this file is read-only, or if the source file does not exist, or on error copying the file.
-
resolveFile
public FileObject resolveFile(java.lang.String name, NameScope scope) throws FileSystemException
Description copied from interface:FileObjectFinds a file, relative to this file. Refer toNameScopefor a description of how names are resolved in the different scopes.- Specified by:
resolveFilein interfaceFileObject- Overrides:
resolveFilein classDecoratedFileObject- Parameters:
name- The name to resolve.- Returns:
- The file.
- Throws:
FileSystemException- On error parsing the path, or on error finding the file.
-
resolveFile
public FileObject resolveFile(java.lang.String path) throws FileSystemException
Description copied from interface:FileObjectFinds a file, relative to this file. Equivalent to callingresolveFile( path, NameScope.FILE_SYSTEM ).- Specified by:
resolveFilein interfaceFileObject- Overrides:
resolveFilein classDecoratedFileObject- Parameters:
path- The path of the file to locate. Can either be a relative path or an absolute path.- Returns:
- The file.
- Throws:
FileSystemException- On error parsing the path, or on error finding the file.
-
-