|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.vfs.provider.AbstractFileObject
org.apache.commons.vfs.provider.ftp.FtpFileObject
public class FtpFileObject
An FTP file.
Nested Class Summary | |
---|---|
(package private) class |
FtpFileObject.FtpInputStream
An InputStream that monitors for end-of-file. |
private class |
FtpFileObject.FtpOutputStream
An OutputStream that monitors for end-of-file. |
Field Summary | |
---|---|
private java.util.Map |
children
|
private static java.util.Map |
EMPTY_FTP_FILE_MAP
|
private org.apache.commons.net.ftp.FTPFile |
fileInfo
|
private FtpFileSystem |
ftpFs
|
private boolean |
inRefresh
|
private FileObject |
linkDestination
|
private org.apache.commons.logging.Log |
log
|
private java.lang.String |
relPath
|
Constructor Summary | |
---|---|
protected |
FtpFileObject(FileName name,
FtpFileSystem fileSystem,
FileName rootName)
|
Method Summary | |
---|---|
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. |
private void |
doGetChildren()
Fetches the children of this file, if not already cached. |
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()
get the last modified time on an ftp 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 java.lang.String[] |
doListChildren()
Lists the children of the file. |
protected FileObject[] |
doListChildrenResolved()
Lists the children of this file. |
protected void |
doRename(FileObject newfile)
Renames the file |
private org.apache.commons.net.ftp.FTPFile |
getChildFile(java.lang.String name,
boolean flush)
Called by child file objects, to locate their ftp file info. |
private void |
getInfo(boolean flush)
Fetches the info for this file. |
(package private) FtpFileObject.FtpInputStream |
getInputStream(long filePointer)
|
private FileObject |
getLinkDestination()
|
(package private) java.lang.String |
getRelPath()
|
protected void |
onChange()
Called when the type or content of this file changes. |
protected void |
onChildrenChanged(FileName child,
FileType newType)
Called when the children of this file change. |
void |
refresh()
This will prepare the fileObject to get resynchronized with the underlaying filesystem if required |
Methods inherited from class org.apache.commons.vfs.provider.AbstractFileObject |
---|
canRenameTo, childrenChanged, childrenChanged, close, copyFrom, createFile, createFolder, delete, delete, doGetAttributes, doGetCertificates, doIsHidden, doIsReadable, doIsSameFile, doIsWriteable, doSetAttribute, doSetLastModifiedTime, endOutput, exists, finalize, findFiles, findFiles, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isHidden, isReadable, isSameFile, isWriteable, moveTo, notifyAllStreamsClosed, resolveFile, resolveFile, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private org.apache.commons.logging.Log log
private static final java.util.Map EMPTY_FTP_FILE_MAP
private final FtpFileSystem ftpFs
private final java.lang.String relPath
private org.apache.commons.net.ftp.FTPFile fileInfo
private java.util.Map children
private FileObject linkDestination
private boolean inRefresh
Constructor Detail |
---|
protected FtpFileObject(FileName name, FtpFileSystem fileSystem, FileName rootName) throws FileSystemException
FileSystemException
Method Detail |
---|
private org.apache.commons.net.ftp.FTPFile getChildFile(java.lang.String name, boolean flush) throws java.io.IOException
name
- the filename in its native form ie. without uri stuff (%nn)flush
- recreate children cache
java.io.IOException
private void doGetChildren() throws java.io.IOException
java.io.IOException
protected void doAttach() throws java.io.IOException
doAttach
in class AbstractFileObject
java.io.IOException
private void getInfo(boolean flush) throws java.io.IOException
java.io.IOException
public void refresh() throws FileSystemException
AbstractFileObject
refresh
in interface FileObject
refresh
in class AbstractFileObject
FileSystemException
protected void doDetach()
doDetach
in class AbstractFileObject
protected void onChildrenChanged(FileName child, FileType newType)
onChildrenChanged
in class AbstractFileObject
protected void onChange() throws java.io.IOException
onChange
in class AbstractFileObject
java.io.IOException
protected FileType doGetType() throws java.lang.Exception
doGetType
in class AbstractFileObject
java.lang.Exception
private FileObject getLinkDestination() throws FileSystemException
FileSystemException
protected FileObject[] doListChildrenResolved() throws java.lang.Exception
AbstractFileObject
AbstractFileObject.doGetType()
returns FileType.FOLDER
. The return value of this method
is cached, so the implementation can be expensive.doListChildren
you could return FileObject's to e.g. reinitialize the type of the file.
doListChildrenResolved
in class AbstractFileObject
java.lang.Exception
protected java.lang.String[] doListChildren() throws java.lang.Exception
doListChildren
in class AbstractFileObject
java.lang.Exception
protected void doDelete() throws java.lang.Exception
doDelete
in class AbstractFileObject
java.lang.Exception
protected void doRename(FileObject newfile) throws java.lang.Exception
doRename
in class AbstractFileObject
java.lang.Exception
protected void doCreateFolder() throws java.lang.Exception
doCreateFolder
in class AbstractFileObject
java.lang.Exception
protected long doGetContentSize() throws java.lang.Exception
doGetContentSize
in class AbstractFileObject
java.lang.Exception
protected long doGetLastModifiedTime() throws java.lang.Exception
doGetLastModifiedTime
in class AbstractFileObject
java.lang.Exception
AbstractFileObject.doGetLastModifiedTime()
protected java.io.InputStream doGetInputStream() throws java.lang.Exception
doGetInputStream
in class AbstractFileObject
java.lang.Exception
protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws java.lang.Exception
AbstractFileObject
AbstractFileObject.doGetType()
returns FileType.FILE
.
It is guaranteed that there are no open output streams for this file when this method is called.
doGetRandomAccessContent
in class AbstractFileObject
java.lang.Exception
protected java.io.OutputStream doGetOutputStream(boolean bAppend) throws java.lang.Exception
doGetOutputStream
in class AbstractFileObject
java.lang.Exception
java.lang.String getRelPath()
FtpFileObject.FtpInputStream getInputStream(long filePointer) throws java.io.IOException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |