Class AbstractFileObject<AFS extends AbstractFileSystem>
- Type Parameters:
AFS
- An AbstractFileSystem subclass
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Comparable<FileObject>
,Iterable<FileObject>
,FileObject
- Direct Known Subclasses:
CompressedFileFileObject
,DelegateFileObject
,FtpFileObject
,Http4FileObject
,Http5FileObject
,HttpFileObject
,LocalFile
,RamFileObject
,SftpFileObject
,TarFileObject
,UrlFileObject
,ZipFileObject
TODO - Check caps in methods like getChildren(), etc, and give better error messages (eg 'this file type does not support listing children', vs 'this is not a folder')
-
Field Summary
FieldsFields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractFileObject
(AbstractFileName fileName, AFS fileSystem) Constructs a new instance for subclasses. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canRenameTo
(FileObject newfile) Queries the object if a simple rename to the file name ofnewfile
is possible.protected void
childrenChanged
(FileName childName, FileType newType) Notifies the file that its children have changed.void
close()
Closes this file, and its content.int
compareTo
(FileObject file) Compares two FileObjects (ignores case).void
copyFrom
(FileObject file, FileSelector selector) Copies another file 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 this file, and all children matching theselector
.int
Deletes this file and all children.protected void
doAttach()
Attaches this file object to its file resource.protected FileContent
Create a FileContent implementation.protected void
Creates this file as a folder.protected void
doDelete()
Deletes the file.protected void
doDetach()
Detaches this file object from its file resource.Returns the attributes of this file.protected Certificate[]
Returns the certificates used to sign this file.protected abstract long
Returns the size of the file content (in bytes).protected InputStream
Creates an input stream to read the file content from.protected InputStream
doGetInputStream
(int bufferSize) Creates an input stream to read the file content from.protected long
Returns the last modified time of this file.protected OutputStream
doGetOutputStream
(boolean bAppend) Creates an output stream to write the file content to.protected RandomAccessContent
Creates access to the file for random i/o.protected abstract FileType
Determines the type of this file.protected boolean
Determines if this file is executable.protected boolean
Determines if this file is hidden.protected boolean
Determines if this file can be read.protected boolean
doIsSameFile
(FileObject destFile) Checks if this fileObject is the same file asdestFile
just with a different name.protected boolean
Determines if this file is a symbolic link.protected boolean
Determines if this file can be written to.protected abstract String[]
Lists the children of this file.protected FileObject[]
Lists the children of this file.protected void
doRemoveAttribute
(String attrName) Removes an attribute of this file.protected void
doRename
(FileObject newFile) Renames the file.protected void
doSetAttribute
(String attrName, Object value) Sets an attribute of this file.protected boolean
doSetExecutable
(boolean executable, boolean ownerOnly) Make the file executable.protected boolean
doSetLastModifiedTime
(long modtime) Sets the last modified time of this file.protected boolean
doSetReadable
(boolean readable, boolean ownerOnly) Make the file or folder readable.protected boolean
doSetWritable
(boolean writable, boolean ownerOnly) Make the file or folder writable.protected void
Called when the output stream for this file is closed.boolean
exists()
Determines if the file exists.protected void
finalize()
findFiles
(FileSelector selector) Finds the set of matching descendants of this file, in depthwise order.void
findFiles
(FileSelector selector, boolean depthwise, List<FileObject> selected) Traverses the descendants of this file, and builds a list of selected files.protected AFS
Returns the file system this file belongs to.Returns a child of this file.Returns the children of the file.Returns the file's content.protected FileContentInfoFactory
Creates the FileContentInfo factory.Gets this instance's FileOperations.Returns the file system this file belongs to.Returns an input stream to use to read the content of the file.getInputStream
(int bufferSize) Returns an input stream to use to read the content of the file.getName()
Returns the name of the file.Prepares this file for writing.getOutputStream
(boolean bAppend) Prepares this file for writing.Returns the parent of the file.Returns the receiver as a URI String for public display, like, without a password.Returns an input/output stream to use to read and write the content of the file in and random manner.getType()
Returns the file's type.getURL()
Returns a URL representation of the file.protected void
Called when this file is changed.protected void
handleCreate
(FileType newType) Called when this file is created.protected void
Called when this file is deleted.void
holdObject
(Object strongRef) This method is meant to add an object where this object holds a strong reference then.protected void
injectType
(FileType fileType) Sets the file type.boolean
Check if the internal state is "attached".boolean
Check if the content stream is open.boolean
Determines if this file is executable.boolean
isFile()
Checks if this file is a regular file by using its file type.boolean
isFolder()
Checks if this file is a folder by using its file type.boolean
isHidden()
Determines if this file can be read.boolean
Determines if this file can be read.protected boolean
isSameFile
(FileObject destFile) Checks if this fileObject is the same file asdestFile
just with a different name.boolean
Determines if this file can be read.boolean
Determines if this file can be written to.iterator()
Returns an iterator over a set of all FileObject in this file object.listFiles
(FileSelector selector) Lists the set of matching descendants of this file, in depthwise order.void
moveTo
(FileObject destFile) Moves (rename) the file to another one.protected void
Called after this file-object closed all its streams.protected void
onChange()
Called when the type or content of this file changes.protected void
onChildrenChanged
(FileName child, FileType newType) Called when the children of this file change.void
refresh()
This will prepare the fileObject to get resynchronized with the underlying file system if required.resolveFile
(String path) Finds a file, relative to this file.resolveFile
(String name, NameScope scope) Returns a child by name.boolean
setExecutable
(boolean readable, boolean ownerOnly) Sets the owner's (or everybody's) write permission.boolean
setReadable
(boolean readable, boolean ownerOnly) Sets the owner's (or everybody's) read permission.boolean
setWritable
(boolean readable, boolean ownerOnly) Sets the owner's (or everybody's) write permission.toString()
Returns the URI as a String.Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.vfs2.FileObject
getPath, getURI
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
DEFAULT_BUFFER_SIZE
Same asBufferedInputStream
.- See Also:
-
-
Constructor Details
-
AbstractFileObject
Constructs a new instance for subclasses.- Parameters:
fileName
- the file name.fileSystem
- the file system.
-
-
Method Details
-
canRenameTo
Queries the object if a simple rename to the file name ofnewfile
is possible.- Specified by:
canRenameTo
in interfaceFileObject
- Parameters:
newfile
- the new file name- Returns:
- true if rename is possible
-
childrenChanged
Notifies the file that its children have changed.- Parameters:
childName
- The name of the child.newType
- The type of the child.- Throws:
Exception
- if an error occurs.
-
close
Closes this file, and its content.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceFileObject
- Throws:
FileSystemException
- if an error occurs.- See Also:
-
compareTo
Compares two FileObjects (ignores case).- Specified by:
compareTo
in interfaceComparable<AFS extends AbstractFileSystem>
- Parameters:
file
- the object to compare.- Returns:
- a negative integer, zero, or a positive integer when this object is less than, equal to, or greater than the given object.
-
copyFrom
Copies another file to this file.- Specified by:
copyFrom
in interfaceFileObject
- Parameters:
file
- The FileObject to copy.selector
- The FileSelector.- Throws:
FileSystemException
- if an error occurs.
-
createFile
Creates this file, if it does not exist.- Specified by:
createFile
in interfaceFileObject
- Throws:
FileSystemException
- if an error occurs.
-
createFolder
Creates this folder, if it does not exist. Also creates any ancestor files which do not exist.- Specified by:
createFolder
in interfaceFileObject
- Throws:
FileSystemException
- if an error occurs.
-
delete
Deletes this file.TODO - This will not fail if this is a non-empty folder.
- Specified by:
delete
in interfaceFileObject
- Returns:
- true if this object has been deleted
- Throws:
FileSystemException
- if an error occurs.
-
delete
Deletes this file, and all children matching theselector
.- Specified by:
delete
in interfaceFileObject
- Parameters:
selector
- The FileSelector.- Returns:
- the number of deleted files.
- Throws:
FileSystemException
- if an error occurs.
-
deleteAll
Deletes this file and all children. Shorthand fordelete(Selectors.SELECT_ALL)
- Specified by:
deleteAll
in interfaceFileObject
- Returns:
- the number of deleted files.
- Throws:
FileSystemException
- if an error occurs.- See Also:
-
doAttach
Attaches this file object to its file resource.This method is called before any of the doBlah() or onBlah() methods. Sub-classes can use this method to perform lazy initialization.
This implementation does nothing.
- Throws:
Exception
- if an error occurs.
-
doCreateFileContent
Create a FileContent implementation.- Returns:
- The FileContent.
- Throws:
FileSystemException
- if an error occurs.- Since:
- 2.0
-
doCreateFolder
Creates this file as a folder. Is only called when:doGetType()
returnsFileType.IMAGINARY
.- The parent folder exists and is writable, or this file is the root of the file system.
- Throws:
Exception
- if an error occurs.
-
doDelete
Deletes the file. Is only called when:doGetType()
does not returnFileType.IMAGINARY
.doIsWriteable()
returns true.- This file has no children, if a folder.
- Throws:
Exception
- if an error occurs.
-
doDetach
Detaches this file object from its file resource.Called when this file is closed. Note that the file object may be reused later, so should be able to be reattached.
This implementation does nothing.
- Throws:
Exception
- if an error occurs.
-
doGetAttributes
Returns the attributes of this file. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns an empty map.
- Returns:
- The attributes of the file.
- Throws:
Exception
- if an error occurs.
-
doGetCertificates
Returns the certificates used to sign this file. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns null.
- Returns:
- The certificates used to sign the file.
- Throws:
Exception
- if an error occurs.
-
doGetContentSize
Returns the size of the file content (in bytes). Is only called ifdoGetType()
returnsFileType.FILE
.- Returns:
- The size of the file in bytes.
- Throws:
Exception
- if an error occurs.
-
doGetInputStream
Creates an input stream to read the file content from. Is only called ifdoGetType()
returnsFileType.FILE
.It is guaranteed that there are no open output streams for this file when this method is called.
The returned stream does not have to be buffered.
- Returns:
- An InputStream to read the file content.
- Throws:
Exception
- if an error occurs.
-
doGetInputStream
Creates an input stream to read the file content from. Is only called ifdoGetType()
returnsFileType.FILE
.It is guaranteed that there are no open output streams for this file when this method is called.
The returned stream does not have to be buffered.
- Parameters:
bufferSize
- Buffer size hint.- Returns:
- An InputStream to read the file content.
- Throws:
Exception
- if an error occurs.
-
doGetLastModifiedTime
Returns the last modified time of this file. Is only called ifdoGetType()
does not returnThis implementation throws an exception.
- Returns:
- The last modification time.
- Throws:
Exception
- if an error occurs.
-
doGetOutputStream
Creates an output stream to write the file content to. Is only called if:doIsWriteable()
returns true.doGetType()
returnsFileType.FILE
, ordoGetType()
returnsFileType.IMAGINARY
, and the file's parent exists and is a folder.
The returned stream does not have to be buffered.
This implementation throws an exception.
- Parameters:
bAppend
- true if the file should be appended to, false if it should be overwritten.- Returns:
- An OutputStream to write to the file.
- Throws:
Exception
- if an error occurs.
-
doGetRandomAccessContent
Creates access to the file for random i/o. Is only called ifdoGetType()
returnsFileType.FILE
.It is guaranteed that there are no open output streams for this file when this method is called.
- Parameters:
mode
- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
Exception
- if an error occurs.
-
doGetType
Determines the type of this file. Must not return null. The return value of this method is cached, so the implementation can be expensive.- Returns:
- the type of the file.
- Throws:
Exception
- if an error occurs.
-
doIsExecutable
Determines if this file is executable. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns false.
- Returns:
- true if the file is executable, false otherwise.
- Throws:
Exception
- if an error occurs.
-
doIsHidden
Determines if this file is hidden. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns false.
- Returns:
- true if the file is hidden, false otherwise.
- Throws:
Exception
- if an error occurs.
-
doIsReadable
Determines if this file can be read. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns true.
- Returns:
- true if the file is readable, false otherwise.
- Throws:
Exception
- if an error occurs.
-
doIsSameFile
Checks if this fileObject is the same file asdestFile
just with a different name. E.g. for case-insensitive file systems like Windows.- Parameters:
destFile
- The file to compare to.- Returns:
- true if the FileObjects are the same.
- Throws:
FileSystemException
- if an error occurs.
-
doIsSymbolicLink
Determines if this file is a symbolic link. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns false.
- Returns:
- true if the file is readable, false otherwise.
- Throws:
Exception
- if an error occurs.- Since:
- 2.4
-
doIsWriteable
Determines if this file can be written to. Is only called ifdoGetType()
does not returnFileType.IMAGINARY
.This implementation always returns true.
- Returns:
- true if the file is writable.
- Throws:
Exception
- if an error occurs.
-
doListChildren
Lists the children of this file. Is only called ifdoGetType()
returnsFileType.FOLDER
. The return value of this method is cached, so the implementation can be expensive.- Returns:
- a possible empty String array if the file is a directory or null or an exception if the file is not a directory or can't be read.
- Throws:
Exception
- if an error occurs.
-
doListChildrenResolved
Lists the children of this file.Is only called if
doGetType()
returnsFileType.FOLDER
.The return value of this method is cached, so the implementation can be expensive. Other than
doListChildren
you could return FileObject's to e.g. reinitialize the type of the file.(Introduced for WebDAV: "permission denied on resource" during getType())
- Returns:
- The children of this FileObject.
- Throws:
Exception
- if an error occurs.
-
doRemoveAttribute
Removes an attribute of this file.Is only called if
doGetType()
does not returnFileType.IMAGINARY
.This implementation throws an exception.
- Parameters:
attrName
- The name of the attribute to remove.- Throws:
Exception
- if an error occurs.- Since:
- 2.0
-
doRename
Renames the file.Is only called when:
doIsWriteable()
returns true.
This implementation throws an exception.
- Parameters:
newFile
- A FileObject with the new file name.- Throws:
Exception
- if an error occurs.
-
doSetAttribute
Sets an attribute of this file.Is only called if
doGetType()
does not returnFileType.IMAGINARY
.This implementation throws an exception.
- Parameters:
attrName
- The attribute name.value
- The value to be associated with the attribute name.- Throws:
Exception
- if an error occurs.
-
doSetExecutable
Make the file executable.Only called if
doGetType()
does not returnFileType.IMAGINARY
.This implementation returns false.
- Parameters:
executable
- True to allow 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:
Exception
- Any Exception thrown is wrapped in FileSystemException.- Since:
- 2.1
- See Also:
-
doSetLastModifiedTime
Sets the last modified time of this file.Is only called if
doGetType()
does not returnFileType.IMAGINARY
.This implementation throws an exception.
- Parameters:
modtime
- The last modification time.- Returns:
- true if the time was set.
- Throws:
Exception
- Any Exception thrown is wrapped in FileSystemException.
-
doSetReadable
Make the file or folder readable.Only called if
doGetType()
does not returnFileType.IMAGINARY
.This implementation returns false.
- Parameters:
readable
- True to allow access, false to disallowownerOnly
- Iftrue
, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
Exception
- Any Exception thrown is wrapped in FileSystemException.- Since:
- 2.1
- See Also:
-
doSetWritable
Make the file or folder writable.Only called if
doGetType()
does not returnFileType.IMAGINARY
.- Parameters:
writable
- True to allow access, false to disallowownerOnly
- Iftrue
, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
Exception
- Any Exception thrown is wrapped in FileSystemException.- Since:
- 2.1
- See Also:
-
endOutput
Called when the output stream for this file is closed.- Throws:
Exception
- if an error occurs.
-
exists
Determines if the file exists.- Specified by:
exists
in interfaceFileObject
- Returns:
- true if the file exists, false otherwise,
- Throws:
FileSystemException
- if an error occurs.
-
finalize
-
findFiles
Finds the set of matching descendants of this file, in depthwise order.- Specified by:
findFiles
in interfaceFileObject
- Parameters:
selector
- The FileSelector.- Returns:
- list of files or null if the base file (this object) do not exist
- Throws:
FileSystemException
- if an error occurs.
-
findFiles
public void findFiles(FileSelector selector, boolean depthwise, List<FileObject> selected) throws FileSystemException Traverses the descendants of this file, and builds a list of selected files.- Specified by:
findFiles
in interfaceFileObject
- Parameters:
selector
- The FileSelector.depthwise
- if true files are added after their descendants, before otherwise.selected
- A List of the located FileObjects.- Throws:
FileSystemException
- if an error occurs.
-
getAbstractFileSystem
Returns the file system this file belongs to.- Returns:
- The FileSystem this file is associated with.
-
getChild
Returns a child of this file.- Specified by:
getChild
in interfaceFileObject
- Parameters:
name
- The name of the child to locate.- Returns:
- The FileObject for the file or null if the child does not exist.
- Throws:
FileSystemException
- if an error occurs.
-
getChildren
Returns the children of the file.- Specified by:
getChildren
in interfaceFileObject
- Returns:
- an array of FileObjects, one per child.
- Throws:
FileSystemException
- if an error occurs.
-
getContent
Returns the file's content.- Specified by:
getContent
in interfaceFileObject
- Returns:
- the FileContent for this FileObject.
- Throws:
FileSystemException
- if an error occurs.
-
getFileContentInfoFactory
Creates the FileContentInfo factory.- Returns:
- The FileContentInfoFactory.
-
getFileOperations
Description copied from interface:FileObject
Gets this instance's FileOperations.- Specified by:
getFileOperations
in interfaceFileObject
- Returns:
- FileOperations interface that provides access to the operations API.
- Throws:
FileSystemException
- if an error occurs.
-
getFileSystem
Returns the file system this file belongs to.- Specified by:
getFileSystem
in interfaceFileObject
- Returns:
- The FileSystem this file is associated with.
-
getInputStream
Returns an input stream to use to read the content of the file.- Returns:
- The InputStream to access this file's content.
- Throws:
FileSystemException
- if an error occurs.
-
getInputStream
Returns an input stream to use to read the content of the file.- Parameters:
bufferSize
- buffer size hint.- Returns:
- The InputStream to access this file's content.
- Throws:
FileSystemException
- if an error occurs.
-
getName
Returns the name of the file.- Specified by:
getName
in interfaceFileObject
- Returns:
- The FileName, never
null
.
-
getOutputStream
Prepares this file for writing. Makes sure it is either a file, or its parent folder exists. Returns an output stream to use to write the content of the file to.- Returns:
- An OutputStream where the new contents of the file can be written.
- Throws:
FileSystemException
- if an error occurs.
-
getOutputStream
Prepares this file for writing. Makes sure it is either a file, or its parent folder exists. Returns an output stream to use to write the content of the file to.- Parameters:
bAppend
- true when append to the file. Note: If the underlying file system does not support appending, a FileSystemException is thrown.- Returns:
- An OutputStream where the new contents of the file can be written.
- Throws:
FileSystemException
- if an error occurs; for example: bAppend is true, and the underlying FileSystem does not support it
-
getParent
Returns the parent of the file.- Specified by:
getParent
in interfaceFileObject
- Returns:
- the parent FileObject.
- Throws:
FileSystemException
- if an error occurs.
-
getPublicURIString
Returns the receiver as a URI String for public display, like, without a password.- Specified by:
getPublicURIString
in interfaceFileObject
- Returns:
- A URI String without a password, never
null
.
-
getRandomAccessContent
Returns an input/output stream to use to read and write the content of the file in and random manner.- Parameters:
mode
- The RandomAccessMode.- Returns:
- The RandomAccessContent.
- Throws:
FileSystemException
- if an error occurs.
-
getType
Returns the file's type.- Specified by:
getType
in interfaceFileObject
- Returns:
- The FileType.
- Throws:
FileSystemException
- if an error occurs.
-
getURL
Returns a URL representation of the file.- Specified by:
getURL
in interfaceFileObject
- Returns:
- The URL representation of the file.
- Throws:
FileSystemException
- if an error occurs.
-
handleChanged
Called when this file is changed.This will only happen if you monitor the file using
FileMonitor
.- Throws:
Exception
- if an error occurs.
-
handleCreate
Called when this file is created. Updates cached info and notifies the parent and file system.- Parameters:
newType
- The type of the file.- Throws:
Exception
- if an error occurs.
-
handleDelete
Called when this file is deleted. Updates cached info and notifies subclasses, parent and file system.- Throws:
Exception
- if an error occurs.
-
holdObject
This method is meant to add an object where this object holds a strong reference then. E.g. an archive-file system creates a list of all children and they shouldn't get garbage collected until the container is garbage collected- Parameters:
strongRef
- The Object to add.
-
injectType
Sets the file type.- Parameters:
fileType
- the file type.
-
isAttached
Check if the internal state is "attached".- Specified by:
isAttached
in interfaceFileObject
- Returns:
- true if this is the case
-
isContentOpen
Check if the content stream is open.- Specified by:
isContentOpen
in interfaceFileObject
- Returns:
- true if this is the case
-
isExecutable
Determines if this file is executable.- Specified by:
isExecutable
in interfaceFileObject
- Returns:
true
if this file is executable,false
if not.- Throws:
FileSystemException
- On error determining if this file exists.
-
isFile
Checks if this file is a regular file by using its file type.- Specified by:
isFile
in interfaceFileObject
- Returns:
- true if this file is a regular file.
- Throws:
FileSystemException
- if an error occurs.- See Also:
-
isFolder
Checks if this file is a folder by using its file type.- Specified by:
isFolder
in interfaceFileObject
- Returns:
- true if this file is a regular file.
- Throws:
FileSystemException
- if an error occurs.- See Also:
-
isHidden
Determines if this file can be read.- Specified by:
isHidden
in interfaceFileObject
- Returns:
- true if the file is a hidden file, false otherwise.
- Throws:
FileSystemException
- if an error occurs.
-
isReadable
Determines if this file can be read.- Specified by:
isReadable
in interfaceFileObject
- Returns:
- true if the file can be read, false otherwise.
- Throws:
FileSystemException
- if an error occurs.
-
isSameFile
Checks if this fileObject is the same file asdestFile
just with a different name. E.g. for case-insensitive file systems like windows.- Parameters:
destFile
- The file to compare to.- Returns:
- true if the FileObjects are the same.
- Throws:
FileSystemException
- if an error occurs.
-
isSymbolicLink
Determines if this file can be read.- Specified by:
isSymbolicLink
in interfaceFileObject
- Returns:
- true if the file can be read, false otherwise.
- Throws:
FileSystemException
- if an error occurs.- Since:
- 2.4
-
isWriteable
Determines if this file can be written to.- Specified by:
isWriteable
in interfaceFileObject
- Returns:
- true if the file can be written to, false otherwise.
- Throws:
FileSystemException
- if an error occurs.
-
iterator
Returns an iterator over a set of all FileObject in this file object.- Specified by:
iterator
in interfaceIterable<AFS extends AbstractFileSystem>
- Returns:
- an Iterator.
-
listFiles
Lists the set of matching descendants of this file, in depthwise order.- Parameters:
selector
- The FileSelector.- Returns:
- list of files or null if the base file (this object) do not exist or the
selector
is null - Throws:
FileSystemException
- if an error occurs.
-
moveTo
Moves (rename) the file to another one.- Specified by:
moveTo
in interfaceFileObject
- Parameters:
destFile
- The target FileObject.- Throws:
FileSystemException
- if an error occurs.
-
notifyAllStreamsClosed
Called after this file-object closed all its streams. -
onChange
Called when the type or content of this file changes.This implementation does nothing.
- Throws:
Exception
- if an error occurs.
-
onChildrenChanged
Called when the children of this file change. Allows subclasses to refresh any cached information about the children of this file.This implementation does nothing.
- Parameters:
child
- The name of the child that changed.newType
- The type of the file.- Throws:
Exception
- if an error occurs.
-
refresh
This will prepare the fileObject to get resynchronized with the underlying file system if required.- Specified by:
refresh
in interfaceFileObject
- Throws:
FileSystemException
- if an error occurs.
-
resolveFile
Finds a file, relative to this file.- Specified by:
resolveFile
in interfaceFileObject
- Parameters:
path
- The path of the file to locate. Can either be a relative path, which is resolved relative to this file, or an absolute path, which is resolved relative to the file system that contains this file.- Returns:
- The FileObject.
- Throws:
FileSystemException
- if an error occurs.
-
resolveFile
Returns a child by name.- Specified by:
resolveFile
in interfaceFileObject
- Parameters:
name
- The name of the child to locate.scope
- the NameScope.- Returns:
- The FileObject for the file or null if the child does not exist.
- Throws:
FileSystemException
- if an error occurs.
-
setExecutable
Description copied from interface:FileObject
Sets the owner's (or everybody's) write permission.- Specified by:
setExecutable
in interfaceFileObject
- Parameters:
readable
- 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
Description copied from interface:FileObject
Sets the owner's (or everybody's) read permission.- Specified by:
setReadable
in 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
Description copied from interface:FileObject
Sets the owner's (or everybody's) write permission.- Specified by:
setWritable
in 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.
-
toString
Returns the URI as a String.
-