Package org.apache.commons.vfs.impl
Class DecoratedFileObject
java.lang.Object
org.apache.commons.vfs.impl.DecoratedFileObject
- All Implemented Interfaces:
FileObject
- Direct Known Subclasses:
OnCallRefreshFileObject
,SynchronizedFileObject
Base class to build a fileObject decoration
- Version:
- $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Wed, 29 Nov 2006) $
- Author:
- Mario Ivankovits
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canRenameTo
(FileObject newfile) Queries the file if it is possible to rename it to newfile.void
close()
Closes this file, and its content.void
copyFrom
(FileObject srcFile, FileSelector selector) Copies another file, and all its descendents, to this file.void
Creates this file, if it does not exist.void
Creates this folder, if it does not exist.boolean
delete()
Deletes this file.int
delete
(FileSelector selector) Deletes all descendents of this file that match a selector.boolean
exists()
Determines if this file exists.findFiles
(FileSelector selector) Finds the set of matching descendents of this file, in depthwise order.void
findFiles
(FileSelector selector, boolean depthwise, List selected) Finds the set of matching descendents of this file.Returns a child of this file.Lists the children of this file.Returns this file's content.Returns the file system that contains this file.getName()
Returns the name of this file.Returns the folder that contains this file.getType()
Returns this file's type.getURL()
Returns a URL representing this file.boolean
check if the fileObject is attacedboolean
check if someone reads/write to this fileboolean
isHidden()
Determines if this file is hidden.boolean
Determines if this file can be read.boolean
Determines if this file can be written to.void
moveTo
(FileObject destFile) Move this file.void
refresh()
This will prepare the fileObject to get resynchronized with the underlaying filesystem if requiredresolveFile
(String path) Finds a file, relative to this file.resolveFile
(String name, NameScope scope) Finds a file, relative to this file.toString()
-
Constructor Details
-
DecoratedFileObject
-
-
Method Details
-
canRenameTo
Description copied from interface:FileObject
Queries the file if it is possible to rename it to newfile.- Specified by:
canRenameTo
in interfaceFileObject
- Parameters:
newfile
- the new file(-name)- Returns:
- true it this is the case
-
close
Description copied from interface:FileObject
Closes 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:
close
in interfaceFileObject
- Throws:
FileSystemException
- On error closing the file.- See Also:
-
copyFrom
Description copied from interface:FileObject
Copies 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:
copyFrom
in interfaceFileObject
- 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
Description copied from interface:FileObject
Creates 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:
createFile
in interfaceFileObject
- 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
Description copied from interface:FileObject
Creates 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:
createFolder
in interfaceFileObject
- 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
Description copied from interface:FileObject
Deletes 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:
delete
in interfaceFileObject
- 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
Description copied from interface:FileObject
Deletes 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:
delete
in interfaceFileObject
- 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
Description copied from interface:FileObject
Determines if this file exists.- Specified by:
exists
in interfaceFileObject
- Returns:
true
if this file exists,false
if not.- Throws:
FileSystemException
- On error determining if this file exists.
-
findFiles
public void findFiles(FileSelector selector, boolean depthwise, List selected) throws FileSystemException Description copied from interface:FileObject
Finds the set of matching descendents of this file.- Specified by:
findFiles
in interfaceFileObject
- 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
Description copied from interface:FileObject
Finds the set of matching descendents of this file, in depthwise order.- Specified by:
findFiles
in interfaceFileObject
- 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
Description copied from interface:FileObject
Returns a child of this file. Note that this method returnsnull
when the child does not exist. This differs fromFileObject.resolveFile(String, NameScope)
which never returns null.- Specified by:
getChild
in interfaceFileObject
- 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
Description copied from interface:FileObject
Lists the children of this file.- Specified by:
getChildren
in interfaceFileObject
- 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
Description copied from interface:FileObject
Returns this file's content. TheFileContent
returned 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
FileContent
can be used to create the file by writing its content.- Specified by:
getContent
in interfaceFileObject
- Returns:
- This file's content.
- Throws:
FileSystemException
- On error getting this file's content.
-
getFileSystem
Description copied from interface:FileObject
Returns the file system that contains this file.- Specified by:
getFileSystem
in interfaceFileObject
- Returns:
- The file system.
-
getName
Description copied from interface:FileObject
Returns the name of this file.- Specified by:
getName
in interfaceFileObject
-
getParent
Description copied from interface:FileObject
Returns the folder that contains this file.- Specified by:
getParent
in interfaceFileObject
- Returns:
- The folder that contains this file. Returns null if this file is the root of a file system.
- Throws:
FileSystemException
- On error finding the file's parent.
-
getType
Description copied from interface:FileObject
Returns this file's type.- Specified by:
getType
in interfaceFileObject
- Returns:
- One of the
FileType
constants. Never returns null. - Throws:
FileSystemException
- On error determining the file's type.
-
getURL
Description copied from interface:FileObject
Returns a URL representing this file.- Specified by:
getURL
in interfaceFileObject
- Throws:
FileSystemException
-
isHidden
Description copied from interface:FileObject
Determines if this file is hidden.- Specified by:
isHidden
in interfaceFileObject
- Returns:
true
if this file is hidden,false
if not.- Throws:
FileSystemException
- On error determining if this file exists.
-
isReadable
Description copied from interface:FileObject
Determines if this file can be read.- Specified by:
isReadable
in interfaceFileObject
- Returns:
true
if this file is readable,false
if not.- Throws:
FileSystemException
- On error determining if this file exists.
-
isWriteable
Description copied from interface:FileObject
Determines if this file can be written to.- Specified by:
isWriteable
in interfaceFileObject
- Returns:
true
if this file is writeable,false
if not.- Throws:
FileSystemException
- On error determining if this file exists.
-
moveTo
Description copied from interface:FileObject
Move this file.If the destFile exists, it is deleted first
- Specified by:
moveTo
in interfaceFileObject
- 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
Description copied from interface:FileObject
Finds a file, relative to this file. Refer toNameScope
for a description of how names are resolved in the different scopes.- Specified by:
resolveFile
in interfaceFileObject
- Parameters:
name
- The name to resolve.- Returns:
- The file.
- Throws:
FileSystemException
- On error parsing the path, or on error finding the file.
-
resolveFile
Description copied from interface:FileObject
Finds a file, relative to this file. Equivalent to callingresolveFile( path, NameScope.FILE_SYSTEM )
.- Specified by:
resolveFile
in interfaceFileObject
- 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.
-
refresh
Description copied from interface:FileObject
This will prepare the fileObject to get resynchronized with the underlaying filesystem if required- Specified by:
refresh
in interfaceFileObject
- Throws:
FileSystemException
-
getDecoratedFileObject
-
isAttached
public boolean isAttached()Description copied from interface:FileObject
check if the fileObject is attaced- Specified by:
isAttached
in interfaceFileObject
-
isContentOpen
public boolean isContentOpen()Description copied from interface:FileObject
check if someone reads/write to this file- Specified by:
isContentOpen
in interfaceFileObject
-
toString
-
getFileOperations
- Specified by:
getFileOperations
in interfaceFileObject
- Returns:
- FileOperations interface that provides access to the operations API.
- Throws:
FileSystemException
-