AFS
- A subclass of AbstractFileSystem.public class DelegateFileObject<AFS extends AbstractFileSystem> extends AbstractFileObject<AFS> implements FileListener
TODO - Extract subclass that overlays the children.
Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.String> |
children |
private FileObject |
file |
private boolean |
ignoreEvent |
Constructor and Description |
---|
DelegateFileObject(AbstractFileName name,
AFS fileSystem,
FileObject file) |
Modifier and Type | Method and 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.
|
private void |
maybeTypeChanged(FileType oldType)
Checks whether the file's type has changed, and fires the appropriate events.
|
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, doIsSymbolicLink, 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, isSymbolicLink, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
private FileObject file
private final java.util.Set<java.lang.String> children
private boolean ignoreEvent
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.private void maybeTypeChanged(FileType oldType) throws java.lang.Exception
oldType
- The old FileType.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.io.Closeable
close
in interface java.lang.AutoCloseable
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.