public class RamFileObject extends AbstractFileObject<RamFileSystem>
| Modifier and Type | Field and Description |
|---|---|
private RamFileData |
data
RAM File Object Data.
|
| Modifier | Constructor and Description |
|---|---|
protected |
RamFileObject(AbstractFileName name,
RamFileSystem fs) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doAttach()
Attaches this file object to its file resource.
|
protected void |
doCreateFolder()
Creates this file as a folder.
|
protected void |
doDelete()
Deletes the file.
|
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 this file.
|
protected java.lang.String[] |
doListChildren()
Lists the children of this file.
|
protected void |
doRename(FileObject newFile)
Renames the file.
|
protected boolean |
doSetLastModifiedTime(long modtime)
Sets the last modified time of this file.
|
protected void |
endOutput()
Called when the output stream for this file is closed.
|
(package private) RamFileData |
getData() |
protected void |
injectType(FileType fileType) |
(package private) void |
resize(long newSize) |
private void |
save() |
(package private) void |
setData(RamFileData data) |
(package private) int |
size() |
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doCreateFileContent, doDetach, doGetAttributes, doGetCertificates, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doIsSymbolicLink, doIsWriteable, doListChildrenResolved, doRemoveAttribute, doSetAttribute, doSetExecutable, doSetReadable, doSetWritable, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isSymbolicLink, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toStringprivate RamFileData data
protected RamFileObject(AbstractFileName name, RamFileSystem fs)
name - The name of the file.fs - The FileSystem.private void save()
throws FileSystemException
FileSystemExceptionprotected FileType doGetType() throws java.lang.Exception
AbstractFileObjectdoGetType in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected java.lang.String[] doListChildren()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() returns FileType.FOLDER. The return
value of this method is cached, so the implementation can be expensive.doListChildren in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected long doGetContentSize()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() returns
FileType.FILE.doGetContentSize in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected java.io.InputStream doGetInputStream()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() returns
FileType.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.
doGetInputStream in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected java.io.OutputStream doGetOutputStream(boolean bAppend)
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doIsWriteable() returns true.
AbstractFileObject.doGetType() returns FileType.FILE, or AbstractFileObject.doGetType() returns FileType.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.
doGetOutputStream in class AbstractFileObject<RamFileSystem>bAppend - true if the file should be appended to, false if it should be overwritten.java.lang.Exception - if an error occurs.protected void doDelete()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() does not return FileType.IMAGINARY.AbstractFileObject.doIsWriteable() returns true.doDelete in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected long doGetLastModifiedTime()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() does not return
FileType.IMAGINARY.
This implementation throws an exception.
doGetLastModifiedTime in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected boolean doSetLastModifiedTime(long modtime)
throws java.lang.Exception
AbstractFileObject
Is only called if AbstractFileObject.doGetType() does not return FileType.IMAGINARY.
This implementation throws an exception.
doSetLastModifiedTime in class AbstractFileObject<RamFileSystem>modtime - The last modification time.java.lang.Exception - Any Exception thrown is wrapped in FileSystemException.protected void doCreateFolder()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() returns FileType.IMAGINARY.doCreateFolder in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.protected void doRename(FileObject newFile) throws java.lang.Exception
AbstractFileObjectIs only called when:
AbstractFileObject.doIsWriteable() returns true.This implementation throws an exception.
doRename in class AbstractFileObject<RamFileSystem>newFile - A FileObject with the new file name.java.lang.Exception - if an error occurs.protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws java.lang.Exception
AbstractFileObjectAbstractFileObject.doGetType() returns FileType.FILE.
It is guaranteed that there are no open output streams for this file when this method is called.
doGetRandomAccessContent in class AbstractFileObject<RamFileSystem>mode - The mode to access the file.java.lang.Exception - if an error occurs.protected void doAttach()
throws java.lang.Exception
AbstractFileObjectThis method is called before any of the doBlah() or onBlah() methods. Sub-classes can use this method to perform lazy initialisation.
This implementation does nothing.
doAttach in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.RamFileData getData()
void setData(RamFileData data)
data - The data to set.protected void injectType(FileType fileType)
injectType in class AbstractFileObject<RamFileSystem>protected void endOutput()
throws java.lang.Exception
AbstractFileObjectendOutput in class AbstractFileObject<RamFileSystem>java.lang.Exception - if an error occurs.int size()
RamFileData.void resize(long newSize)
throws java.io.IOException
newSize - java.io.IOException - if the new size exceeds the limit