org.apache.commons.vfs2.provider.local
Class LocalFile

java.lang.Object
  extended by org.apache.commons.vfs2.provider.AbstractFileObject
      extended by org.apache.commons.vfs2.provider.local.LocalFile
All Implemented Interfaces:
FileObject

public class LocalFile
extends AbstractFileObject
implements FileObject

A file object implementation which uses direct file access.

Author:
Commons VFS team

Constructor Summary
protected LocalFile(LocalFileSystem fileSystem, String rootFile, AbstractFileName name)
          Creates a non-root file.
 
Method Summary
protected  void doAttach()
          Attaches this file object to its file resource.
protected  void doCreateFolder()
          Creates this folder.
protected  void doDelete()
          Deletes this file, and all children.
protected  long doGetContentSize()
          Returns the size of the file content (in bytes).
protected  InputStream doGetInputStream()
          Creates an input stream to read the content from.
protected  long doGetLastModifiedTime()
          Gets 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()
          Returns the file's type.
protected  boolean doIsHidden()
          Determines if this file is hidden.
protected  boolean doIsReadable()
          Determines if this file can be read.
protected  boolean doIsSameFile(FileObject destFile)
          Checks if this fileObject is the same file as destFile just with a different name.
E.g.
protected  boolean doIsWriteable()
          Determines if this file can be written to.
protected  String[] doListChildren()
          Returns the children of the file.
protected  void doRename(FileObject newfile)
          rename this file
protected  boolean doSetLastModifiedTime(long modtime)
          Sets the last modified time of this file.
protected  File getLocalFile()
          Returns the local file that this file object represents.
 
Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, close, copyFrom, createFile, createFolder, delete, delete, doCreateFileContent, doDetach, doGetAttributes, doGetCertificates, doListChildrenResolved, doRemoveAttribute, doSetAttribute, endOutput, exists, finalize, findFiles, findFiles, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, 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.vfs2.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

LocalFile

protected LocalFile(LocalFileSystem fileSystem,
                    String rootFile,
                    AbstractFileName name)
             throws FileSystemException
Creates a non-root file.

Throws:
FileSystemException
Method Detail

getLocalFile

protected File getLocalFile()
Returns the local file that this file object represents.


doAttach

protected void doAttach()
                 throws Exception
Attaches this file object to its file resource.

Overrides:
doAttach in class AbstractFileObject
Throws:
Exception - if an error occurs.

doGetType

protected FileType doGetType()
                      throws Exception
Returns the file's type.

Specified by:
doGetType in class AbstractFileObject
Returns:
the type of the file.
Throws:
Exception - if an error occurs.

doListChildren

protected String[] doListChildren()
                           throws Exception
Returns the children of the file.

Specified by:
doListChildren in class AbstractFileObject
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:
Exception - if an error occurs.

doDelete

protected void doDelete()
                 throws Exception
Deletes this file, and all children.

Overrides:
doDelete in class AbstractFileObject
Throws:
Exception - if an error occurs.

doRename

protected void doRename(FileObject newfile)
                 throws Exception
rename this file

Overrides:
doRename in class AbstractFileObject
Parameters:
newfile - A FileObject with the new file name.
Throws:
Exception - if an error occurs.

doCreateFolder

protected void doCreateFolder()
                       throws Exception
Creates this folder.

Overrides:
doCreateFolder in class AbstractFileObject
Throws:
Exception - if an error occurs.

doIsWriteable

protected boolean doIsWriteable()
                         throws FileSystemException
Determines if this file can be written to.

Overrides:
doIsWriteable in class AbstractFileObject
Returns:
true if the file is writable.
Throws:
FileSystemException

doIsHidden

protected boolean doIsHidden()
Determines if this file is hidden.

Overrides:
doIsHidden in class AbstractFileObject
Returns:
true if the file is hidden, false otherwise.

doIsReadable

protected boolean doIsReadable()
                        throws FileSystemException
Determines if this file can be read.

Overrides:
doIsReadable in class AbstractFileObject
Returns:
true if the file is readable, false otherwise.
Throws:
FileSystemException

doGetLastModifiedTime

protected long doGetLastModifiedTime()
                              throws FileSystemException
Gets the last modified time of this file.

Overrides:
doGetLastModifiedTime in class AbstractFileObject
Returns:
The last modification time.
Throws:
FileSystemException

doSetLastModifiedTime

protected boolean doSetLastModifiedTime(long modtime)
                                 throws FileSystemException
Sets the last modified time of this file.

Overrides:
doSetLastModifiedTime in class AbstractFileObject
Parameters:
modtime - The last modification time.
Returns:
true if the time was set.
Throws:
FileSystemException
Since:
2.0

doGetInputStream

protected InputStream doGetInputStream()
                                throws Exception
Creates an input stream to read the content from.

Specified by:
doGetInputStream in class AbstractFileObject
Returns:
An InputStream to read the file content.
Throws:
Exception - if an error occurs.

doGetOutputStream

protected OutputStream doGetOutputStream(boolean bAppend)
                                  throws Exception
Creates an output stream to write the file content to.

Overrides:
doGetOutputStream in class AbstractFileObject
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:
Exception - if an error occurs.

doGetContentSize

protected long doGetContentSize()
                         throws Exception
Returns the size of the file content (in bytes).

Specified by:
doGetContentSize in class AbstractFileObject
Returns:
The size of the file in bytes.
Throws:
Exception - if an error occurs.

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
Parameters:
mode - The mode to access the file.
Returns:
The RandomAccessContext.
Throws:
Exception - if an error occurs.

doIsSameFile

protected boolean doIsSameFile(FileObject destFile)
                        throws FileSystemException
Description copied from class: AbstractFileObject
Checks if this fileObject is the same file as destFile just with a different name.
E.g. for case insensitive filesystems like windows.

Overrides:
doIsSameFile in class AbstractFileObject
Parameters:
destFile - The file to compare to.
Returns:
true if the FileObjects are the same.
Throws:
FileSystemException - if an error occurs.


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