Package org.apache.commons.vfs2.impl
Class DecoratedFileObject
- java.lang.Object
-
- org.apache.commons.vfs2.impl.DecoratedFileObject
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Comparable<FileObject>,java.lang.Iterable<FileObject>,FileObject
- Direct Known Subclasses:
OnCallRefreshFileObject,SynchronizedFileObject
public class DecoratedFileObject extends java.lang.Object implements FileObject
Base class to build a FileObject decoration.
-
-
Field Summary
-
Fields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description DecoratedFileObject(FileObject fileObject)Constructs a new instance to decorate the given FileObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanRenameTo(FileObject newfile)Queries the file if it is possible to rename it to newfile.voidclose()Closes this file, and its content.intcompareTo(FileObject fo)voidcopyFrom(FileObject srcFile, FileSelector selector)Copies another file, and all its descendants, 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 descendants of this file that match a selector.intdeleteAll()Deletes this file and all children.booleanexists()Determines if this file exists.FileObject[]findFiles(FileSelector selector)Finds the set of matching descendants of this file, in depthwise order.voidfindFiles(FileSelector selector, boolean depthwise, java.util.List<FileObject> selected)Finds the set of matching descendants of this file.FileObjectgetChild(java.lang.String name)Gets a child of this file.FileObject[]getChildren()Gets a lists of children of this file.FileContentgetContent()Gets this file's content.FileObjectgetDecoratedFileObject()Gets the decorated fileObject.FileOperationsgetFileOperations()Gets this instance's FileOperations.FileSystemgetFileSystem()Gets the file system that contains this file.FileNamegetName()Gets the name of this file.FileObjectgetParent()Gets the folder that contains this file.java.lang.StringgetPublicURIString()Gets the receiver as a URI String for public display, like, without a password.FileTypegetType()Gets this file's type.java.net.URLgetURL()Gets a URL representing this file.booleanisAttached()Checks if the fileObject is attached.booleanisContentOpen()Checks if someone reads/write to this file.booleanisExecutable()Determines if this file is executable.booleanisFile()Checks if this file is a regular file.booleanisFolder()Checks if this file is a folder.booleanisHidden()Determines if this file is hidden.booleanisReadable()Determines if this file can be read.booleanisWriteable()Determines if this file can be written to.java.util.Iterator<FileObject>iterator()voidmoveTo(FileObject destFile)Move this file.voidrefresh()This will prepare the fileObject to get resynchronized with the underlying file system if required.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.booleansetExecutable(boolean executable, boolean ownerOnly)Sets the owner's (or everybody's) write permission.booleansetReadable(boolean readable, boolean ownerOnly)Sets the owner's (or everybody's) read permission.booleansetWritable(boolean writable, boolean ownerOnly)Sets the owner's (or everybody's) write permission.java.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.commons.vfs2.FileObject
getPath, getURI, isSymbolicLink
-
-
-
-
Constructor Detail
-
DecoratedFileObject
public DecoratedFileObject(FileObject fileObject)
Constructs a new instance to decorate the given FileObject.- Parameters:
fileObject- the FileObject to decorate.
-
-
Method Detail
-
canRenameTo
public boolean canRenameTo(FileObject newfile)
Description copied from interface:FileObjectQueries the file if it is possible to rename it to newfile.- Specified by:
canRenameToin interfaceFileObject- Parameters:
newfile- the new file(-name)- Returns:
- true it this is the case
-
close
public void close() throws FileSystemException
Description 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 interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceFileObject- Throws:
FileSystemException- On error closing the file.- See Also:
FileContent.close()
-
compareTo
public int compareTo(FileObject fo)
- Specified by:
compareToin interfacejava.lang.Comparable<FileObject>
-
copyFrom
public void copyFrom(FileObject srcFile, FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectCopies another file, and all its descendants, 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- 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 FileSystemException
Description 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- 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 FileSystemException
Description 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- 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 FileSystemException
Description 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 descendants of this file, useFileObject.delete(FileSelector)orFileObject.deleteAll()for that.- Specified by:
deletein 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
public int delete(FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectDeletes all descendants 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- 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 descendants is read-only, or on error deleting this file or one of its descendants.
-
deleteAll
public int deleteAll() throws FileSystemException
Description copied from interface:FileObjectDeletes this file and all children.- Specified by:
deleteAllin interfaceFileObject- Returns:
- the number of deleted files.
- Throws:
FileSystemException- if an error occurs.- See Also:
FileObject.delete(FileSelector),Selectors.SELECT_ALL
-
exists
public boolean exists() throws FileSystemException
Description copied from interface:FileObjectDetermines if this file exists.- Specified by:
existsin interfaceFileObject- Returns:
trueif this file exists,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
findFiles
public FileObject[] findFiles(FileSelector selector) throws FileSystemException
Description copied from interface:FileObjectFinds the set of matching descendants of this file, in depthwise order.- Specified by:
findFilesin 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- if an error occurs.
-
findFiles
public void findFiles(FileSelector selector, boolean depthwise, java.util.List<FileObject> selected) throws FileSystemException
Description copied from interface:FileObjectFinds the set of matching descendants of this file.- Specified by:
findFilesin 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- if an error occurs.
-
getChild
public FileObject getChild(java.lang.String name) throws FileSystemException
Description copied from interface:FileObjectGets 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- 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:FileObjectGets a lists of children of this file.- Specified by:
getChildrenin 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
public FileContent getContent() throws FileSystemException
Description copied from interface:FileObjectGets 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- Returns:
- This file's content.
- Throws:
FileSystemException- On error getting this file's content.
-
getDecoratedFileObject
public FileObject getDecoratedFileObject()
Gets the decorated fileObject.- Returns:
- the decorated fileObject.
-
getFileOperations
public FileOperations getFileOperations() throws FileSystemException
Description copied from interface:FileObjectGets this instance's FileOperations.- Specified by:
getFileOperationsin interfaceFileObject- Returns:
- FileOperations interface that provides access to the operations API.
- Throws:
FileSystemException- if an error occurs.
-
getFileSystem
public FileSystem getFileSystem()
Description copied from interface:FileObjectGets the file system that contains this file.- Specified by:
getFileSystemin interfaceFileObject- Returns:
- The file system.
-
getName
public FileName getName()
Description copied from interface:FileObjectGets the name of this file.- Specified by:
getNamein interfaceFileObject- Returns:
- the FileName.
-
getParent
public FileObject getParent() throws FileSystemException
Description copied from interface:FileObjectGets the folder that contains this file.- Specified by:
getParentin 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.
-
getPublicURIString
public java.lang.String getPublicURIString()
Description copied from interface:FileObjectGets the receiver as a URI String for public display, like, without a password.- Specified by:
getPublicURIStringin interfaceFileObject- Returns:
- A URI String without a password, never
null.
-
getType
public FileType getType() throws FileSystemException
Description copied from interface:FileObjectGets this file's type.- Specified by:
getTypein interfaceFileObject- Returns:
- One of the
FileTypeconstants. Never returns null. - Throws:
FileSystemException- On error determining the file's type.
-
getURL
public java.net.URL getURL() throws FileSystemException
Description copied from interface:FileObjectGets a URL representing this file.- Specified by:
getURLin interfaceFileObject- Returns:
- the URL for the file.
- Throws:
FileSystemException- if an error occurs.
-
isAttached
public boolean isAttached()
Description copied from interface:FileObjectChecks if the fileObject is attached.- Specified by:
isAttachedin interfaceFileObject- Returns:
- true if the FileObject is attached.
-
isContentOpen
public boolean isContentOpen()
Description copied from interface:FileObjectChecks if someone reads/write to this file.- Specified by:
isContentOpenin interfaceFileObject- Returns:
- true if the file content is open.
-
isExecutable
public boolean isExecutable() throws FileSystemException
Description copied from interface:FileObjectDetermines if this file is executable.- Specified by:
isExecutablein interfaceFileObject- Returns:
trueif this file is executable,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
isFile
public boolean isFile() throws FileSystemException
Description copied from interface:FileObjectChecks if this file is a regular file.- Specified by:
isFilein interfaceFileObject- Returns:
- true if this file is a regular file.
- Throws:
FileSystemException- if an error occurs.- See Also:
FileObject.getType(),FileType.FILE
-
isFolder
public boolean isFolder() throws FileSystemException
Description copied from interface:FileObjectChecks if this file is a folder.- Specified by:
isFolderin interfaceFileObject- Returns:
- true if this file is a folder.
- Throws:
FileSystemException- if an error occurs.- See Also:
FileObject.getType(),FileType.FOLDER
-
isHidden
public boolean isHidden() throws FileSystemException
Description copied from interface:FileObjectDetermines if this file is hidden.- Specified by:
isHiddenin interfaceFileObject- Returns:
trueif this file is hidden,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
isReadable
public boolean isReadable() throws FileSystemException
Description copied from interface:FileObjectDetermines if this file can be read.- Specified by:
isReadablein interfaceFileObject- Returns:
trueif this file is readable,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
isWriteable
public boolean isWriteable() throws FileSystemException
Description copied from interface:FileObjectDetermines if this file can be written to.- Specified by:
isWriteablein interfaceFileObject- Returns:
trueif this file is writable,falseif not.- Throws:
FileSystemException- On error determining if this file exists.
-
iterator
public java.util.Iterator<FileObject> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<FileObject>
-
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- Parameters:
destFile- the New file name.- Throws:
FileSystemException- If this file is read-only, or if the source file does not exist, or on error copying the file.
-
refresh
public void refresh() throws FileSystemException
Description copied from interface:FileObjectThis will prepare the fileObject to get resynchronized with the underlying file system if required.- Specified by:
refreshin interfaceFileObject- Throws:
FileSystemException- if an error occurs.
-
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- 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.
-
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- Parameters:
name- The name to resolve.scope- the NameScope for the file.- Returns:
- The file.
- Throws:
FileSystemException- On error parsing the path, or on error finding the file.
-
setExecutable
public boolean setExecutable(boolean executable, boolean ownerOnly) throws FileSystemException
Description copied from interface:FileObjectSets the owner's (or everybody's) write permission.- Specified by:
setExecutablein interfaceFileObject- Parameters:
executable- True to allow read access, false to disallow.ownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded.
- Throws:
FileSystemException- On error determining if this file exists.
-
setReadable
public boolean setReadable(boolean readable, boolean ownerOnly) throws FileSystemException
Description copied from interface:FileObjectSets the owner's (or everybody's) read permission.- Specified by:
setReadablein interfaceFileObject- Parameters:
readable- True to allow read access, false to disallowownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
FileSystemException- On error determining if this file exists.
-
setWritable
public boolean setWritable(boolean writable, boolean ownerOnly) throws FileSystemException
Description copied from interface:FileObjectSets the owner's (or everybody's) write permission.- Specified by:
setWritablein interfaceFileObject- Parameters:
writable- True to allow read access, false to disallowownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
FileSystemException- On error determining if this file exists.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-