AFS
- A subclass of AbstractFileSystem.java.io.Closeable
, java.lang.AutoCloseable
, java.lang.Comparable<AFS>
, java.lang.Iterable<AFS>
, FileListener
, FileObject
public class DelegateFileObject<AFS extends AbstractFileSystem> extends AbstractFileObject<AFS> implements FileListener
TODO - Extract subclass that overlays the children.
Constructor | Description |
---|---|
DelegateFileObject(AbstractFileName name,
AFS fileSystem,
FileObject file) |
Modifier and Type | Method | Description |
---|---|---|
void |
attachChild(FileName baseName,
FileType type) |
Adds a child to this file.
|
void |
close() |
Close the delegated file.
|
protected void |
doCreateFolder() |
Creates this file as a folder.
|
protected void |
doDelete() |
Deletes the file.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
doGetAttributes() |
Returns the attributes of this file.
|
protected java.security.cert.Certificate[] |
doGetCertificates() |
Returns the certificates of this file.
|
protected FileContentInfo |
doGetContentInfo() |
Return file content info.
|
protected long |
doGetContentSize() |
Returns the size of the file content (in bytes).
|
protected java.io.InputStream |
doGetInputStream() |
Creates an input stream to read the file content from.
|
protected long |
doGetLastModifiedTime() |
Returns the last-modified time of this file.
|
protected java.io.OutputStream |
doGetOutputStream(boolean bAppend) |
Creates an output stream to write the file content to.
|
protected RandomAccessContent |
doGetRandomAccessContent(RandomAccessMode mode) |
Creates access to the file for random i/o.
|
protected FileType |
doGetType() |
Determines the type of the file, returns null if the file does not exist.
|
protected boolean |
doIsExecutable() |
Determines if this file is executable.
|
protected boolean |
doIsHidden() |
Determines if this file is hidden.
|
protected boolean |
doIsReadable() |
Determines if this file can be read.
|
protected boolean |
doIsWriteable() |
Determines if this file can be written to.
|
protected java.lang.String[] |
doListChildren() |
Lists the children of the file.
|
protected void |
doRemoveAttribute(java.lang.String atttrName) |
Removes an attribute of this file.
|
protected void |
doRename(FileObject newFile) |
Renames the file.
|
protected void |
doSetAttribute(java.lang.String atttrName,
java.lang.Object value) |
Sets an attribute of this file.
|
protected boolean |
doSetLastModifiedTime(long modtime) |
Sets the last-modified time of this file.
|
void |
fileChanged(FileChangeEvent event) |
Called when a file is changed.
|
void |
fileCreated(FileChangeEvent event) |
Called when a file is created.
|
void |
fileDeleted(FileChangeEvent event) |
Called when a file is deleted.
|
FileObject |
getDelegateFile() |
Get access to the delegated file.
|
void |
refresh() |
Refresh file information.
|
void |
setFile(FileObject file) |
Attaches or detaches the target file.
|
canRenameTo, childrenChanged, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doAttach, doCreateFileContent, doDetach, doIsSameFile, doListChildrenResolved, doSetExecutable, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
public DelegateFileObject(AbstractFileName name, AFS fileSystem, FileObject file) throws FileSystemException
FileSystemException
public FileObject getDelegateFile()
public void attachChild(FileName baseName, FileType type) throws java.lang.Exception
baseName
- The base FileName.type
- The FileType.java.lang.Exception
- if an error occurs.public void setFile(FileObject file) throws java.lang.Exception
file
- The FileObject.java.lang.Exception
- if an error occurs.protected FileType doGetType() throws FileSystemException
doGetType
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
protected boolean doIsReadable() throws FileSystemException
doIsReadable
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
protected boolean doIsWriteable() throws FileSystemException
doIsWriteable
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
protected boolean doIsExecutable() throws FileSystemException
doIsExecutable
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
protected boolean doIsHidden() throws FileSystemException
doIsHidden
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
protected java.lang.String[] doListChildren() throws java.lang.Exception
doListChildren
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected void doCreateFolder() throws java.lang.Exception
doCreateFolder
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected void doDelete() throws java.lang.Exception
doDelete
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected long doGetContentSize() throws java.lang.Exception
doGetType()
returns
FileType.FILE
.doGetContentSize
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected java.util.Map<java.lang.String,java.lang.Object> doGetAttributes() throws java.lang.Exception
doGetAttributes
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected void doSetAttribute(java.lang.String atttrName, java.lang.Object value) throws java.lang.Exception
doSetAttribute
in class AbstractFileObject<AFS extends AbstractFileSystem>
atttrName
- The attribute name.value
- The value to be associated with the attribute name.java.lang.Exception
- if an error occurs.protected java.security.cert.Certificate[] doGetCertificates() throws java.lang.Exception
doGetCertificates
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected long doGetLastModifiedTime() throws java.lang.Exception
doGetLastModifiedTime
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected boolean doSetLastModifiedTime(long modtime) throws java.lang.Exception
doSetLastModifiedTime
in class AbstractFileObject<AFS extends AbstractFileSystem>
modtime
- The last modification time.java.lang.Exception
- Any Exception thrown is wrapped in FileSystemException.protected java.io.InputStream doGetInputStream() throws java.lang.Exception
doGetInputStream
in class AbstractFileObject<AFS extends AbstractFileSystem>
java.lang.Exception
- if an error occurs.protected java.io.OutputStream doGetOutputStream(boolean bAppend) throws java.lang.Exception
doGetOutputStream
in class AbstractFileObject<AFS extends AbstractFileSystem>
bAppend
- true if the file should be appended to, false if it should be overwritten.java.lang.Exception
- if an error occurs.public void fileCreated(FileChangeEvent event) throws java.lang.Exception
fileCreated
in interface FileListener
event
- The FileChangeEvent.java.lang.Exception
- if an error occurs.public void fileDeleted(FileChangeEvent event) throws java.lang.Exception
fileDeleted
in interface FileListener
event
- The FileChangeEvent.java.lang.Exception
- if an error occurs.public void fileChanged(FileChangeEvent event) throws java.lang.Exception
This will only happen if you monitor the file using FileMonitor
.
fileChanged
in interface FileListener
event
- The FileChangeEvent.java.lang.Exception
- if an error occurs.public void close() throws FileSystemException
close
in interface java.lang.AutoCloseable
close
in interface java.io.Closeable
close
in interface FileObject
close
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
- if an error occurs.FileContent.close()
public void refresh() throws FileSystemException
refresh
in interface FileObject
refresh
in class AbstractFileObject<AFS extends AbstractFileSystem>
FileSystemException
- if an error occurs.protected FileContentInfo doGetContentInfo() throws java.lang.Exception
java.lang.Exception
- Any thrown Exception is wrapped in FileSystemException.protected void doRename(FileObject newFile) throws java.lang.Exception
doRename
in class AbstractFileObject<AFS extends AbstractFileSystem>
newFile
- the new location/name.java.lang.Exception
- Any thrown Exception is wrapped in FileSystemException.protected void doRemoveAttribute(java.lang.String atttrName) throws java.lang.Exception
doRemoveAttribute
in class AbstractFileObject<AFS extends AbstractFileSystem>
atttrName
- The name of the attribute to remove.java.lang.Exception
- if an error occurs.protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws java.lang.Exception
doGetRandomAccessContent
in class AbstractFileObject<AFS extends AbstractFileSystem>
mode
- The mode to access the file.java.lang.Exception
- if an error occurs.