Class ConnectionFileObject
- All Implemented Interfaces:
Closeable,AutoCloseable,Comparable<org.apache.commons.vfs2.FileObject>,Iterable<org.apache.commons.vfs2.FileObject>,org.apache.commons.vfs2.FileObject,AliasedFileObject
FileObject implementation for the PVFS (Pentaho VFS) VFS provider.
The purpose of ConnectionFileObject is to represent a named connection FileObject.
ConnectionFileObject holds a reference to the resolved FileObject and delegates metadata calls to
that reference object, but for other calls, such as getChildren, ConnectionFileObject resolves the child file
objects, but converts them to PVFS file objects to maintain named connection information.
The various subclasses clarify the cases for which connection file objects and ConnectionFileName are used,
as well as allow providing more precise error messages to the user
(see requireResolvedFileObject()).
The subclasses are:
PvfsRootFileObjectUndefinedConnectionFileObjectConnectionWithBucketsRootFileObjectResolvedConnectionFileObject
ConnectionFileSystem.createFile(AbstractFileName).-
Field Summary
FieldsFields inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
DEFAULT_BUFFER_SIZEFields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidcopyFrom(org.apache.commons.vfs2.FileObject file, org.apache.commons.vfs2.FileSelector selector) protected org.apache.commons.vfs2.FileObjectcreateChild(org.apache.commons.vfs2.FileObject childProviderFileObject) Convert child provider file object to a child PVFS file object.voidvoidbooleandelete()intdelete(org.apache.commons.vfs2.FileSelector selector) intprotected longprotected InputStreamprotected org.apache.commons.vfs2.FileTypeprotected String[]Returns the original file object URI but swaps s3:// for s3a:// when neededorg.apache.commons.vfs2.FileObjectorg.apache.commons.vfs2.FileObject[]Resolve children from the delegated vfs provider then convert to PVFSorg.apache.commons.vfs2.FileContentorg.apache.commons.vfs2.operations.FileOperationsgetInputStream(int bufferSize) getName()Returns the string that contains original file object URI.getOutputStream(boolean bAppend) org.apache.commons.vfs2.RandomAccessContentgetRandomAccessContent(org.apache.commons.vfs2.util.RandomAccessMode mode) abstract org.apache.commons.vfs2.FileObjectGets the resolved file object.voidmoveTo(org.apache.commons.vfs2.FileObject destFile) voidrefresh()protected abstract org.apache.commons.vfs2.provider.AbstractFileObject<?>Gets the resolved file object, throwing if it is not available.Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, compareTo, doAttach, doCreateFileContent, doCreateFolder, doDelete, doDetach, doGetAttributes, doGetCertificates, doGetInputStream, doGetLastModifiedTime, doGetOutputStream, doGetRandomAccessContent, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doIsSymbolicLink, doIsWriteable, doListChildrenResolved, doRemoveAttribute, doRename, doSetAttribute, doSetExecutable, doSetLastModifiedTime, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getFileContentInfoFactory, getFileSystem, getParent, getPublicURIString, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isSymbolicLink, isWriteable, iterator, listFiles, notifyAllStreamsClosed, onChange, onChildrenChanged, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toStringMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.commons.vfs2.FileObject
getPath, getURIMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
DELIMITER
- See Also:
-
-
Constructor Details
-
ConnectionFileObject
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceorg.apache.commons.vfs2.FileObject- Overrides:
getNamein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>
-
doGetContentSize
- Specified by:
doGetContentSizein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
Exception
-
doGetInputStream
- Overrides:
doGetInputStreamin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
Exception
-
doGetType
- Specified by:
doGetTypein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
Exception
-
doListChildren
- Specified by:
doListChildrenin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
Exception
-
close
public void close() throws org.apache.commons.vfs2.FileSystemException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.apache.commons.vfs2.FileObject- Overrides:
closein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
copyFrom
public void copyFrom(org.apache.commons.vfs2.FileObject file, org.apache.commons.vfs2.FileSelector selector) throws org.apache.commons.vfs2.FileSystemException - Specified by:
copyFromin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
copyFromin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
createFile
public void createFile() throws org.apache.commons.vfs2.FileSystemException- Specified by:
createFilein interfaceorg.apache.commons.vfs2.FileObject- Overrides:
createFilein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
createFolder
public void createFolder() throws org.apache.commons.vfs2.FileSystemException- Specified by:
createFolderin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
createFolderin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
delete
public boolean delete() throws org.apache.commons.vfs2.FileSystemException- Specified by:
deletein interfaceorg.apache.commons.vfs2.FileObject- Overrides:
deletein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
delete
public int delete(org.apache.commons.vfs2.FileSelector selector) throws org.apache.commons.vfs2.FileSystemException - Specified by:
deletein interfaceorg.apache.commons.vfs2.FileObject- Overrides:
deletein classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
deleteAll
public int deleteAll() throws org.apache.commons.vfs2.FileSystemException- Specified by:
deleteAllin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
deleteAllin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getChild
@Nullable public org.apache.commons.vfs2.FileObject getChild(String name) throws org.apache.commons.vfs2.FileSystemException - Specified by:
getChildin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
getChildin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getChildren
public org.apache.commons.vfs2.FileObject[] getChildren() throws org.apache.commons.vfs2.FileSystemExceptionResolve children from the delegated vfs provider then convert to PVFS- Specified by:
getChildrenin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
getChildrenin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Returns:
- File objects with PVFS scheme
- Throws:
org.apache.commons.vfs2.FileSystemException- File doesn't exist
-
createChild
@NonNull protected org.apache.commons.vfs2.FileObject createChild(@NonNull org.apache.commons.vfs2.FileObject childProviderFileObject) throws org.apache.commons.vfs2.FileSystemException Convert child provider file object to a child PVFS file object.- Parameters:
childProviderFileObject- The child provider FileObject.- Returns:
- The child PVFS FileObject.
- Throws:
org.apache.commons.vfs2.FileSystemException- File doesn't exist
-
getContent
public org.apache.commons.vfs2.FileContent getContent() throws org.apache.commons.vfs2.FileSystemException- Specified by:
getContentin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
getContentin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getFileOperations
public org.apache.commons.vfs2.operations.FileOperations getFileOperations() throws org.apache.commons.vfs2.FileSystemException- Specified by:
getFileOperationsin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
getFileOperationsin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getInputStream
- Overrides:
getInputStreamin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getInputStream
public InputStream getInputStream(int bufferSize) throws org.apache.commons.vfs2.FileSystemException - Overrides:
getInputStreamin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getOutputStream
- Overrides:
getOutputStreamin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getOutputStream
public OutputStream getOutputStream(boolean bAppend) throws org.apache.commons.vfs2.FileSystemException - Overrides:
getOutputStreamin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getRandomAccessContent
public org.apache.commons.vfs2.RandomAccessContent getRandomAccessContent(org.apache.commons.vfs2.util.RandomAccessMode mode) throws org.apache.commons.vfs2.FileSystemException - Overrides:
getRandomAccessContentin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
moveTo
public void moveTo(org.apache.commons.vfs2.FileObject destFile) throws org.apache.commons.vfs2.FileSystemException - Specified by:
moveToin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
moveToin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
refresh
public void refresh() throws org.apache.commons.vfs2.FileSystemException- Specified by:
refreshin interfaceorg.apache.commons.vfs2.FileObject- Overrides:
refreshin classorg.apache.commons.vfs2.provider.AbstractFileObject<ConnectionFileSystem>- Throws:
org.apache.commons.vfs2.FileSystemException
-
getResolvedFileObject
@Nullable public abstract org.apache.commons.vfs2.FileObject getResolvedFileObject()Gets the resolved file object.- Returns:
- The resolved file object, if one is available;
null, otherwise.
-
requireResolvedFileObject
@NonNull protected abstract org.apache.commons.vfs2.provider.AbstractFileObject<?> requireResolvedFileObject() throws org.apache.commons.vfs2.FileSystemExceptionGets the resolved file object, throwing if it is not available.Implementers of this method should throw an exception that makes it clear the reason for a resolved file object not being available, such as being the PVFS root or an undefined connection.
- Returns:
- The resolved file object.
- Throws:
org.apache.commons.vfs2.FileSystemException
-
getOriginalURIString
Description copied from interface:AliasedFileObjectReturns the string that contains original file object URI.- Specified by:
getOriginalURIStringin interfaceAliasedFileObject- Returns:
- original URI string
-
getAELSafeURIString
Description copied from interface:AliasedFileObjectReturns the original file object URI but swaps s3:// for s3a:// when needed- Specified by:
getAELSafeURIStringin interfaceAliasedFileObject- Returns:
-