org.apache.commons.vfs.provider.http
Class HttpFileObject

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

public class HttpFileObject
extends AbstractFileObject

A file object backed by commons httpclient.

Version:
$Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
Author:
Adam Murdoch

Constructor Summary
protected HttpFileObject(FileName name, HttpFileSystem fileSystem)
           
 
Method Summary
protected  void doDetach()
          Detaches this file object from its file resource.
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  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  String encodePath(String decodedPath)
           
protected  FileContentInfoFactory getFileContentInfoFactory()
          create the filecontentinfo implementation
 
Methods inherited from class org.apache.commons.vfs.provider.AbstractFileObject
canRenameTo, childrenChanged, childrenChanged, close, copyFrom, createFile, createFolder, delete, delete, doAttach, doCreateFolder, doDelete, doGetAttributes, doGetCertificates, doGetOutputStream, doIsHidden, doIsReadable, doIsSameFile, doIsWriteable, doListChildrenResolved, doRename, doSetAttribute, doSetLastModifiedTime, endOutput, exists, finalize, findFiles, findFiles, getChild, getChildren, getContent, 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
 

Constructor Detail

HttpFileObject

protected HttpFileObject(FileName name,
                         HttpFileSystem fileSystem)
Method Detail

doDetach

protected void doDetach()
                 throws Exception
Detaches this file object from its file resource.

Overrides:
doDetach in class AbstractFileObject
Throws:
Exception

doGetType

protected FileType doGetType()
                      throws Exception
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
Lists the children of this file.

Specified by:
doListChildren in class AbstractFileObject
Throws:
Exception

doGetContentSize

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

Specified by:
doGetContentSize in class AbstractFileObject
Throws:
Exception

doGetLastModifiedTime

protected long doGetLastModifiedTime()
                              throws Exception
Returns the last modified time of this file.

This implementation throws an exception.

Overrides:
doGetLastModifiedTime in class AbstractFileObject
Throws:
Exception

doGetInputStream

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

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

encodePath

protected String encodePath(String decodedPath)
                     throws org.apache.commons.httpclient.URIException
Throws:
org.apache.commons.httpclient.URIException

getFileContentInfoFactory

protected FileContentInfoFactory getFileContentInfoFactory()
Description copied from class: AbstractFileObject
create the filecontentinfo implementation

Overrides:
getFileContentInfoFactory in class AbstractFileObject


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