org.apache.commons.vfs.provider.ram
Class RamFileObject

java.lang.Object
  extended byorg.apache.commons.vfs.provider.AbstractFileObject
      extended byorg.apache.commons.vfs.provider.ram.RamFileObject
All Implemented Interfaces:
FileObject

public class RamFileObject
extends AbstractFileObject
implements FileObject

A RAM File contains a single RAM FileData instance, it provides methods to access the data by implementing FileObject interface.


Constructor Summary
protected RamFileObject(FileName name, RamFileSystem fs)
           
 
Method Summary
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  InputStream doGetInputStream()
          Creates an input stream to read the file content from.
protected  long doGetLastModifiedTime()
          Returns the last modified time of this file.
protected  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  String[] doListChildren()
          Lists the children of this file.
protected  void doRename(FileObject newfile)
          Renames the file.
protected  void doSetLastModifiedTime(long modtime)
          Sets the last modified time of this file.
protected  void endOutput()
          Called when the ouput stream for this file is closed.
protected  void injectType(FileType fileType)
           
 
Methods inherited from class org.apache.commons.vfs.provider.AbstractFileObject
canRenameTo, childrenChanged, childrenChanged, close, copyFrom, createFile, createFolder, delete, delete, doDetach, doGetAttributes, doGetCertificates, doIsHidden, doIsReadable, doIsSameFile, doIsWriteable, doListChildrenResolved, doSetAttribute, exists, finalize, findFiles, findFiles, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, isAttached, isContentOpen, isHidden, isReadable, isSameFile, isWriteable, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.commons.vfs.FileObject
canRenameTo, close, copyFrom, createFile, createFolder, delete, delete, exists, findFiles, findFiles, getChild, getChildren, getContent, getFileOperations, getFileSystem, getName, getParent, getType, getURL, isAttached, isContentOpen, isHidden, isReadable, isWriteable, moveTo, refresh, resolveFile, resolveFile
 

Constructor Detail

RamFileObject

protected RamFileObject(FileName name,
                        RamFileSystem fs)
Parameters:
name -
fs -
Method Detail

doGetType

protected FileType doGetType()
                      throws Exception
Description copied from class: AbstractFileObject
Determines 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:
doGetType in class AbstractFileObject
Throws:
Exception

doListChildren

protected String[] doListChildren()
                           throws Exception
Description copied from class: AbstractFileObject
Lists the children of this file. Is only called if AbstractFileObject.doGetType() returns FileType.FOLDER. The return value of this method is cached, so the implementation can be expensive.

Specified by:
doListChildren in class AbstractFileObject
Throws:
Exception

doGetContentSize

protected long doGetContentSize()
                         throws Exception
Description copied from class: AbstractFileObject
Returns the size of the file content (in bytes). Is only called if AbstractFileObject.doGetType() returns FileType.FILE.

Specified by:
doGetContentSize in class AbstractFileObject
Throws:
Exception

doGetInputStream

protected InputStream doGetInputStream()
                                throws Exception
Description copied from class: AbstractFileObject
Creates an input stream to read the file content from. Is only called if 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.

Specified by:
doGetInputStream in class AbstractFileObject
Throws:
Exception

doGetOutputStream

protected OutputStream doGetOutputStream(boolean bAppend)
                                  throws Exception
Description copied from class: AbstractFileObject
Creates an output stream to write the file content to. Is only called if:

It is guaranteed that there are no open stream (input or output) for this file when this method is called.

The returned stream does not have to be buffered.

This implementation throws an exception.

Overrides:
doGetOutputStream in class AbstractFileObject
Throws:
Exception

doDelete

protected void doDelete()
                 throws Exception
Description copied from class: AbstractFileObject
Deletes the file. Is only called when:

This implementation throws an exception.

Overrides:
doDelete in class AbstractFileObject
Throws:
Exception

doGetLastModifiedTime

protected long doGetLastModifiedTime()
                              throws Exception
Description copied from class: AbstractFileObject
Returns the last modified time of this file. Is only called if AbstractFileObject.doGetType() does not return FileType.IMAGINARY.

This implementation throws an exception.

Overrides:
doGetLastModifiedTime in class AbstractFileObject
Throws:
Exception

doSetLastModifiedTime

protected void doSetLastModifiedTime(long modtime)
                              throws Exception
Description copied from class: AbstractFileObject
Sets the last modified time of this file. Is only called if AbstractFileObject.doGetType() does not return FileType.IMAGINARY.

This implementation throws an exception.

Overrides:
doSetLastModifiedTime in class AbstractFileObject
Throws:
Exception

doCreateFolder

protected void doCreateFolder()
                       throws Exception
Description copied from class: AbstractFileObject
Creates this file as a folder. Is only called when:

This implementation throws an exception.

Overrides:
doCreateFolder in class AbstractFileObject
Throws:
Exception

doRename

protected void doRename(FileObject newfile)
                 throws Exception
Description copied from class: AbstractFileObject
Renames the file. Is only called when:

This implementation throws an exception.

Overrides:
doRename in class AbstractFileObject
Throws:
Exception

doGetRandomAccessContent

protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode)
                                                throws Exception
Description copied from class: AbstractFileObject
Creates access to the file for random i/o. Is only called if AbstractFileObject.doGetType() returns FileType.FILE.

It is guaranteed that there are no open output streams for this file when this method is called.

Overrides:
doGetRandomAccessContent in class AbstractFileObject
Throws:
Exception

doAttach

protected void doAttach()
                 throws Exception
Description copied from class: AbstractFileObject
Attaches 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:
doAttach in class AbstractFileObject
Throws:
Exception

injectType

protected void injectType(FileType fileType)
Overrides:
injectType in class AbstractFileObject

endOutput

protected void endOutput()
                  throws Exception
Description copied from class: AbstractFileObject
Called when the ouput stream for this file is closed.

Overrides:
endOutput in class AbstractFileObject
Throws:
Exception


Copyright © 2002-2006 The Apache Software Foundation. All Rights Reserved.