org.apache.commons.vfs.provider.webdav
Class WebdavFileObject

java.lang.Object
  extended by org.apache.commons.vfs.provider.AbstractFileObject
      extended by org.apache.commons.vfs.provider.webdav.WebdavFileObject
All Implemented Interfaces:
FileObject

public class WebdavFileObject
extends AbstractFileObject
implements FileObject

A WebDAV file.

Version:
$Revision: 484946 $ $Date: 2006-12-09 08:18:52 +0000 (Sat, 09 Dec 2006) $
Author:
Adam Murdoch

Nested Class Summary
static class WebdavFileObject.WebdavRandomAccesContent
           
 
Constructor Summary
protected WebdavFileObject(GenericFileName name, WebDavFileSystem fileSystem)
           
 
Method Summary
protected  void configureMethod(org.apache.commons.httpclient.HttpMethodBase httpMethod)
           
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  void doDetach()
          Detaches this file object from its file resource.
protected  java.util.Map doGetAttributes()
          Returns the properties of the Webdav resource.
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 the file, returns null if the file does not exist.
protected  boolean doIsReadable()
          Determines if this file can be read.
protected  boolean doIsWriteable()
          Determines if this file can be written to.
protected  java.lang.String[] doListChildren()
          Lists the children of the file.
protected  FileObject[] doListChildrenResolved()
          Lists the children of the file.
protected  void doRename(FileObject newfile)
          Rename the file.
protected  void handleCreate(FileType newType)
          Called when this file is created.
 
Methods inherited from class org.apache.commons.vfs.provider.AbstractFileObject
canRenameTo, childrenChanged, childrenChanged, close, copyFrom, createFile, createFolder, delete, delete, doCreateFileContent, doGetCertificates, doIsHidden, doIsSameFile, doRemoveAttribute, doSetAttribute, doSetLastModifiedTime, doSetLastModTime, endOutput, exists, finalize, findFiles, findFiles, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getRandomAccessContent, getType, getURL, handleChanged, 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.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

WebdavFileObject

protected WebdavFileObject(GenericFileName name,
                           WebDavFileSystem fileSystem)
Method Detail

doAttach

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

Overrides:
doAttach in class AbstractFileObject
Throws:
java.lang.Exception

doDetach

protected void doDetach()
                 throws java.lang.Exception
Description copied from class: AbstractFileObject
Detaches this file object from its file resource.

Called when this file is closed. Note that the file object may be reused later, so should be able to be reattached.

This implementation does nothing.

Overrides:
doDetach in class AbstractFileObject
Throws:
java.lang.Exception

configureMethod

protected void configureMethod(org.apache.commons.httpclient.HttpMethodBase httpMethod)

doGetType

protected FileType doGetType()
                      throws java.lang.Exception
Determines the type of the file, returns null if the file does not exist.

Specified by:
doGetType in class AbstractFileObject
Throws:
java.lang.Exception

doListChildren

protected java.lang.String[] doListChildren()
                                     throws java.lang.Exception
Lists the children of the file.

Specified by:
doListChildren in class AbstractFileObject
Throws:
java.lang.Exception

doListChildrenResolved

protected FileObject[] doListChildrenResolved()
                                       throws java.lang.Exception
Lists the children of the file.

Overrides:
doListChildrenResolved in class AbstractFileObject
Throws:
java.lang.Exception

doCreateFolder

protected void doCreateFolder()
                       throws java.lang.Exception
Creates this file as a folder.

Overrides:
doCreateFolder in class AbstractFileObject
Throws:
java.lang.Exception

doDelete

protected void doDelete()
                 throws java.lang.Exception
Deletes the file.

Overrides:
doDelete in class AbstractFileObject
Throws:
java.lang.Exception

doRename

protected void doRename(FileObject newfile)
                 throws java.lang.Exception
Rename the file.

Overrides:
doRename in class AbstractFileObject
Throws:
java.lang.Exception

doGetInputStream

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

Specified by:
doGetInputStream in class AbstractFileObject
Throws:
java.lang.Exception

doGetOutputStream

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

Overrides:
doGetOutputStream in class AbstractFileObject
Throws:
java.lang.Exception

doGetContentSize

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

Specified by:
doGetContentSize in class AbstractFileObject
Throws:
java.lang.Exception

handleCreate

protected void handleCreate(FileType newType)
                     throws java.lang.Exception
Description copied from class: AbstractFileObject
Called when this file is created. Updates cached info and notifies the parent and file system.

Overrides:
handleCreate in class AbstractFileObject
Throws:
java.lang.Exception

doGetLastModifiedTime

protected long doGetLastModifiedTime()
                              throws java.lang.Exception
Returns the last modified time of this file. Is only called if doGetType() does not return FileType.IMAGINARY.

Overrides:
doGetLastModifiedTime in class AbstractFileObject
Throws:
java.lang.Exception

doGetAttributes

protected java.util.Map doGetAttributes()
                                 throws java.lang.Exception
Returns the properties of the Webdav resource.

Overrides:
doGetAttributes in class AbstractFileObject
Throws:
java.lang.Exception

doIsReadable

protected boolean doIsReadable()
                        throws java.lang.Exception
Description copied from class: AbstractFileObject
Determines if this file can be read. Is only called if AbstractFileObject.doGetType() does not return FileType.IMAGINARY.

This implementation always returns true.

Overrides:
doIsReadable in class AbstractFileObject
Throws:
java.lang.Exception

doIsWriteable

protected boolean doIsWriteable()
                         throws java.lang.Exception
Description copied from class: AbstractFileObject
Determines if this file can be written to. Is only called if AbstractFileObject.doGetType() does not return FileType.IMAGINARY.

This implementation always returns true.

Overrides:
doIsWriteable in class AbstractFileObject
Throws:
java.lang.Exception

doGetRandomAccessContent

protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode)
                                                throws java.lang.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:
java.lang.Exception


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