java.io.Closeable
, java.lang.AutoCloseable
, java.lang.Comparable<FileObject>
, java.lang.Iterable<FileObject>
, FileObject
public class RamFileObject extends AbstractFileObject<RamFileSystem>
Modifier | Constructor | Description |
---|---|---|
protected |
RamFileObject(AbstractFileName name,
RamFileSystem fs) |
Modifier and Type | Method | 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.
|
protected void |
injectType(FileType fileType) |
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doCreateFileContent, doDetach, doGetAttributes, doGetCertificates, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, 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, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
protected RamFileObject(AbstractFileName name, RamFileSystem fs)
name
- The name of the file.fs
- The FileSystem.protected FileType doGetType() throws java.lang.Exception
AbstractFileObject
doGetType
in class AbstractFileObject<RamFileSystem>
java.lang.Exception
- if an error occurs.protected java.lang.String[] doListChildren() throws java.lang.Exception
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
Is 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
AbstractFileObject
AbstractFileObject.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
AbstractFileObject
This 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.protected void injectType(FileType fileType)
injectType
in class AbstractFileObject<RamFileSystem>
protected void endOutput() throws java.lang.Exception
AbstractFileObject
endOutput
in class AbstractFileObject<RamFileSystem>
java.lang.Exception
- if an error occurs.