Class HttpFileObject<FS extends HttpFileSystem>
java.lang.Object
org.apache.commons.vfs2.provider.AbstractFileObject<FS>
org.apache.commons.vfs2.provider.http.HttpFileObject<FS>
- Type Parameters:
FS- AnHttpFileSystemsubclass
- All Implemented Interfaces:
Closeable,AutoCloseable,Comparable<FileObject>,Iterable<FileObject>,FileObject
A file object backed by Apache Commons HttpClient.
TODO - status codes.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHttpFileObject(AbstractFileName name, FS fileSystem) protectedHttpFileObject(AbstractFileName name, FS fileSystem, HttpFileSystemConfigBuilder builder) -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoDetach()Detaches this file object from its file resource.protected longReturns the size of the file content (in bytes).protected InputStreamCreates an input stream to read the file content from.protected longReturns the last modified time of this file.protected RandomAccessContentCreates access to the file for random i/o.protected FileTypeDetermines the type of this file.protected booleanDetermines if this file can be written to.protected String[]Lists the children of this file.protected StringencodePath(String decodedPath) protected FileContentInfoFactoryCreates the FileContentInfo factory.protected booleanprotected Stringprotected Stringprotected voidsetupMethod(org.apache.commons.httpclient.HttpMethod method) Prepares a HttpMethod object.Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doAttach, doCreateFileContent, doCreateFolder, doDelete, doGetAttributes, doGetCertificates, doGetOutputStream, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doListChildrenResolved, doRemoveAttribute, doRename, doSetAttribute, doSetExecutable, doSetLastModifiedTime, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toStringMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
HttpFileObject
-
HttpFileObject
-
-
Method Details
-
doDetach
Detaches this file object from its file resource.- Overrides:
doDetachin classAbstractFileObject<FS extends HttpFileSystem>- Throws:
Exception- if an error occurs.
-
doGetContentSize
Returns the size of the file content (in bytes).- Specified by:
doGetContentSizein classAbstractFileObject<FS extends HttpFileSystem>- Returns:
- The size of the file in bytes.
- Throws:
Exception- if an error occurs.
-
doGetInputStream
Creates an input stream to read the file content from. Is only called ifdoGetType()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<FS extends HttpFileSystem>- Returns:
- An InputStream to read the file content.
- Throws:
Exception- if an error occurs.
-
doGetLastModifiedTime
Returns the last modified time of this file.This implementation throws an exception.
- Overrides:
doGetLastModifiedTimein classAbstractFileObject<FS extends HttpFileSystem>- Returns:
- The last modification time.
- Throws:
Exception- if an error occurs.
-
doGetRandomAccessContent
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<FS extends HttpFileSystem>- Parameters:
mode- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
Exception- if an error occurs.
-
doGetType
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:
doGetTypein classAbstractFileObject<FS extends HttpFileSystem>- Returns:
- the type of the file.
- Throws:
Exception- if an error occurs.
-
doIsWriteable
Description copied from class:AbstractFileObjectDetermines if this file can be written to. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation always returns true.
- Overrides:
doIsWriteablein classAbstractFileObject<FS extends HttpFileSystem>- Returns:
- true if the file is writable.
- Throws:
Exception- if an error occurs.
-
doListChildren
Lists the children of this file.- Specified by:
doListChildrenin classAbstractFileObject<FS extends HttpFileSystem>- 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.
-
encodePath
- Throws:
org.apache.commons.httpclient.URIException
-
getFileContentInfoFactory
Description copied from class:AbstractFileObjectCreates the FileContentInfo factory.- Overrides:
getFileContentInfoFactoryin classAbstractFileObject<FS extends HttpFileSystem>- Returns:
- The FileContentInfoFactory.
-
getFollowRedirect
-
getUserAgent
-
getUrlCharset
-
setupMethod
protected void setupMethod(org.apache.commons.httpclient.HttpMethod method) throws FileSystemException, org.apache.commons.httpclient.URIException Prepares a HttpMethod object.- Parameters:
method- The object which gets prepared to access the file object.- Throws:
FileSystemException- if an error occurs.org.apache.commons.httpclient.URIException- if path cannot be represented.- Since:
- 2.0 (was package)
-