Class Http5FileObject<FS extends Http5FileSystem>
java.lang.Object
org.apache.commons.vfs2.provider.AbstractFileObject<FS>
org.apache.commons.vfs2.provider.http5.Http5FileObject<FS>
- Type Parameters:
FS
- AnHttp5FileSystem
subclass
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Comparable<FileObject>
,Iterable<FileObject>
,FileObject
A file object backed by Apache HttpComponents HttpClient v5.
- Since:
- 2.5.0
-
Field Summary
Fields inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
DEFAULT_BUFFER_SIZE
Fields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Http5FileObject
(AbstractFileName name, FS fileSystem) ConstructsHttp4FileObject
.protected
Http5FileObject
(AbstractFileName name, FS fileSystem, Http5FileSystemConfigBuilder builder) ConstructsHttp4FileObject
. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doDetach()
Detaches this file object from its file resource.protected long
Returns the size of the file content (in bytes).protected InputStream
doGetInputStream
(int bufferSize) Creates an input stream to read the file content from.protected long
Returns the last modified time of this file.protected RandomAccessContent
Creates access to the file for random i/o.protected FileType
Determines the type of this file.protected boolean
Determines if this file can be written to.protected String[]
Lists the children of this file.protected org.apache.hc.core5.http.ClassicHttpResponse
executeHttpUriRequest
(org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest) Execute the request using the givenhttpRequest
and return aClassicHttpResponse
from the execution.protected FileContentInfoFactory
Creates the FileContentInfo factory.protected URI
Gets the internalURI
object mapped to this file object.protected String
Gets URL charset string.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, doGetInputStream, doGetOutputStream, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doIsSymbolicLink, doListChildrenResolved, doRemoveAttribute, doRename, doSetAttribute, doSetExecutable, doSetLastModifiedTime, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileOperations, getFileSystem, getInputStream, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isSymbolicLink, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChange, onChildrenChanged, refresh, resolveFile, resolveFile, setExecutable, setReadable, setWritable, 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
getPath, getURI
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Http5FileObject
ConstructsHttp4FileObject
.- Parameters:
name
- file namefileSystem
- file system- Throws:
FileSystemException
- if any error occurs
-
Http5FileObject
protected Http5FileObject(AbstractFileName name, FS fileSystem, Http5FileSystemConfigBuilder builder) throws FileSystemException ConstructsHttp4FileObject
.- Parameters:
name
- file namefileSystem
- file systembuilder
-Http4FileSystemConfigBuilder
object- Throws:
FileSystemException
- if any error occurs
-
-
Method Details
-
doDetach
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 classAbstractFileObject<FS extends Http5FileSystem>
- Throws:
Exception
- if an error occurs.
-
doGetContentSize
Description copied from class:AbstractFileObject
Returns the size of the file content (in bytes). Is only called ifAbstractFileObject.doGetType()
returnsFileType.FILE
.- Specified by:
doGetContentSize
in classAbstractFileObject<FS extends Http5FileSystem>
- Returns:
- The size of the file in bytes.
- Throws:
Exception
- if an error occurs.
-
doGetInputStream
Description copied from class:AbstractFileObject
Creates an input stream to read the file content from. 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.
The returned stream does not have to be buffered.
- Overrides:
doGetInputStream
in classAbstractFileObject<FS extends Http5FileSystem>
- Parameters:
bufferSize
- Buffer size hint.- Returns:
- An InputStream to read the file content.
- Throws:
Exception
- if an error occurs.
-
doGetLastModifiedTime
Description copied from class:AbstractFileObject
Returns the last modified time of this file. Is only called ifAbstractFileObject.doGetType()
does not returnThis implementation throws an exception.
- Overrides:
doGetLastModifiedTime
in classAbstractFileObject<FS extends Http5FileSystem>
- Returns:
- The last modification time.
- Throws:
Exception
- if an error occurs.
-
doGetRandomAccessContent
Description copied from class:AbstractFileObject
Creates 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:
doGetRandomAccessContent
in classAbstractFileObject<FS extends Http5FileSystem>
- Parameters:
mode
- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
Exception
- if an error occurs.
-
doGetType
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 classAbstractFileObject<FS extends Http5FileSystem>
- Returns:
- the type of the file.
- Throws:
Exception
- if an error occurs.
-
doIsWriteable
Description copied from class:AbstractFileObject
Determines if this file can be written to. Is only called ifAbstractFileObject.doGetType()
does not returnFileType.IMAGINARY
.This implementation always returns true.
- Overrides:
doIsWriteable
in classAbstractFileObject<FS extends Http5FileSystem>
- Returns:
- true if the file is writable.
- Throws:
Exception
- if an error occurs.
-
doListChildren
Description copied from class:AbstractFileObject
Lists the children of this file. Is only called ifAbstractFileObject.doGetType()
returnsFileType.FOLDER
. The return value of this method is cached, so the implementation can be expensive.- Specified by:
doListChildren
in classAbstractFileObject<FS extends Http5FileSystem>
- 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.
-
executeHttpUriRequest
protected org.apache.hc.core5.http.ClassicHttpResponse executeHttpUriRequest(org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest) throws IOException Execute the request using the givenhttpRequest
and return aClassicHttpResponse
from the execution.- Parameters:
httpRequest
-HttpUriRequest
object- Returns:
ClassicHttpResponse
from the execution- Throws:
IOException
- if IO error occurs
-
getFileContentInfoFactory
Description copied from class:AbstractFileObject
Creates the FileContentInfo factory.- Overrides:
getFileContentInfoFactory
in classAbstractFileObject<FS extends Http5FileSystem>
- Returns:
- The FileContentInfoFactory.
-
getInternalURI
Gets the internalURI
object mapped to this file object.- Returns:
- the internal
URI
object mapped to this file object
-
getUrlCharset
Gets URL charset string.- Returns:
- URL charset string
-