Class RamFileObject
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractFileObject<RamFileSystem>
-
- org.apache.commons.vfs2.provider.ram.RamFileObject
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Comparable<FileObject>,java.lang.Iterable<FileObject>,FileObject
public class RamFileObject extends AbstractFileObject<RamFileSystem>
A RAM File contains a single RAM FileData instance, it provides methods to access the data by implementing FileObject interface.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRamFileObject(AbstractFileName name, RamFileSystem fs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoAttach()Attaches this file object to its file resource.protected voiddoCreateFolder()Creates this file as a folder.protected voiddoDelete()Deletes the file.protected longdoGetContentSize()Returns the size of the file content (in bytes).protected java.io.InputStreamdoGetInputStream()Creates an input stream to read the file content from.protected longdoGetLastModifiedTime()Returns the last modified time of this file.protected java.io.OutputStreamdoGetOutputStream(boolean bAppend)Creates an output stream to write the file content to.protected RandomAccessContentdoGetRandomAccessContent(RandomAccessMode mode)Creates access to the file for random i/o.protected FileTypedoGetType()Determines the type of this file.protected java.lang.String[]doListChildren()Lists the children of this file.protected voiddoRename(FileObject newFile)Renames the file.protected booleandoSetLastModifiedTime(long modtime)Sets the last modified time of this file.protected voidendOutput()Called when the output stream for this file is closed.protected voidinjectType(FileType fileType)-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
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
-
-
-
-
Constructor Detail
-
RamFileObject
protected RamFileObject(AbstractFileName name, RamFileSystem fs)
- Parameters:
name- The name of the file.fs- The FileSystem.
-
-
Method Detail
-
doGetType
protected FileType doGetType() throws java.lang.Exception
Description copied from class:AbstractFileObjectDetermines the type of this file. Must not return null. The return value of this method is cached, so the implementation can be expensive.- Specified by:
doGetTypein classAbstractFileObject<RamFileSystem>- Returns:
- the type of the file.
- Throws:
java.lang.Exception- if an error occurs.
-
doListChildren
protected java.lang.String[] doListChildren() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectLists the children of this file. Is only called ifAbstractFileObject.doGetType()returnsFileType.FOLDER. The return value of this method is cached, so the implementation can be expensive.- Specified by:
doListChildrenin classAbstractFileObject<RamFileSystem>- 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:
java.lang.Exception- if an error occurs.
-
doGetContentSize
protected long doGetContentSize() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectReturns the size of the file content (in bytes). Is only called ifAbstractFileObject.doGetType()returnsFileType.FILE.- Specified by:
doGetContentSizein classAbstractFileObject<RamFileSystem>- Returns:
- The size of the file in bytes.
- Throws:
java.lang.Exception- if an error occurs.
-
doGetInputStream
protected java.io.InputStream doGetInputStream() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectCreates an input stream to read the file content from. Is only called ifAbstractFileObject.doGetType()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.
- Specified by:
doGetInputStreamin classAbstractFileObject<RamFileSystem>- Returns:
- An InputStream to read the file content.
- Throws:
java.lang.Exception- if an error occurs.
-
doGetOutputStream
protected java.io.OutputStream doGetOutputStream(boolean bAppend) throws java.lang.ExceptionDescription copied from class:AbstractFileObjectCreates an output stream to write the file content to. Is only called if:AbstractFileObject.doIsWriteable()returns true.AbstractFileObject.doGetType()returnsFileType.FILE, orAbstractFileObject.doGetType()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.
- Overrides:
doGetOutputStreamin classAbstractFileObject<RamFileSystem>- 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:
java.lang.Exception- if an error occurs.
-
doDelete
protected void doDelete() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectDeletes the file. Is only called when:AbstractFileObject.doGetType()does not returnFileType.IMAGINARY.AbstractFileObject.doIsWriteable()returns true.- This file has no children, if a folder.
- Overrides:
doDeletein classAbstractFileObject<RamFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
doGetLastModifiedTime
protected long doGetLastModifiedTime() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectReturns the last modified time of this file. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation throws an exception.
- Overrides:
doGetLastModifiedTimein classAbstractFileObject<RamFileSystem>- Returns:
- The last modification time.
- Throws:
java.lang.Exception- if an error occurs.
-
doSetLastModifiedTime
protected boolean doSetLastModifiedTime(long modtime) throws java.lang.ExceptionDescription copied from class:AbstractFileObjectSets the last modified time of this file.Is only called if
AbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation throws an exception.
- Overrides:
doSetLastModifiedTimein classAbstractFileObject<RamFileSystem>- Parameters:
modtime- The last modification time.- Returns:
- true if the time was set.
- Throws:
java.lang.Exception- Any Exception thrown is wrapped in FileSystemException.- Since:
- 2.0
-
doCreateFolder
protected void doCreateFolder() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectCreates this file as a folder. Is only called when:AbstractFileObject.doGetType()returnsFileType.IMAGINARY.- The parent folder exists and is writeable, or this file is the root of the file system.
- Overrides:
doCreateFolderin classAbstractFileObject<RamFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
doRename
protected void doRename(FileObject newFile) throws java.lang.Exception
Description copied from class:AbstractFileObjectRenames the file.Is only called when:
AbstractFileObject.doIsWriteable()returns true.
This implementation throws an exception.
- Overrides:
doRenamein classAbstractFileObject<RamFileSystem>- Parameters:
newFile- A FileObject with the new file name.- Throws:
java.lang.Exception- if an error occurs.
-
doGetRandomAccessContent
protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws java.lang.Exception
Description copied from class:AbstractFileObjectCreates access to the file for random i/o. Is only called ifAbstractFileObject.doGetType()returnsFileType.FILE.It is guaranteed that there are no open output streams for this file when this method is called.
- Overrides:
doGetRandomAccessContentin classAbstractFileObject<RamFileSystem>- Parameters:
mode- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
java.lang.Exception- if an error occurs.
-
doAttach
protected void doAttach() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectAttaches 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 initialisation.
This implementation does nothing.
- Overrides:
doAttachin classAbstractFileObject<RamFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
injectType
protected void injectType(FileType fileType)
- Overrides:
injectTypein classAbstractFileObject<RamFileSystem>
-
endOutput
protected void endOutput() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectCalled when the output stream for this file is closed.- Overrides:
endOutputin classAbstractFileObject<RamFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
-