|
||||||||||
| 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 AbstractFileObjectjava.io.IOException
private void getInfo(boolean flush)
throws java.io.IOException
java.io.IOException
public void refresh()
throws FileSystemException
AbstractFileObject
refresh in interface FileObjectrefresh in class AbstractFileObjectFileSystemExceptionprotected 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 AbstractFileObjectjava.io.IOException
protected FileType doGetType()
throws java.lang.Exception
doGetType in class AbstractFileObjectjava.lang.Exception
private FileObject getLinkDestination()
throws FileSystemException
FileSystemException
protected FileObject[] doListChildrenResolved()
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.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 AbstractFileObjectjava.lang.Exception
protected java.lang.String[] doListChildren()
throws java.lang.Exception
doListChildren in class AbstractFileObjectjava.lang.Exception
protected void doDelete()
throws java.lang.Exception
doDelete in class AbstractFileObjectjava.lang.Exception
protected void doRename(FileObject newfile)
throws java.lang.Exception
doRename in class AbstractFileObjectjava.lang.Exception
protected void doCreateFolder()
throws java.lang.Exception
doCreateFolder in class AbstractFileObjectjava.lang.Exception
protected long doGetContentSize()
throws java.lang.Exception
doGetContentSize in class AbstractFileObjectjava.lang.Exception
protected long doGetLastModifiedTime()
throws java.lang.Exception
doGetLastModifiedTime in class AbstractFileObjectjava.lang.ExceptionAbstractFileObject.doGetLastModifiedTime()
protected java.io.InputStream doGetInputStream()
throws java.lang.Exception
doGetInputStream in class AbstractFileObjectjava.lang.Exception
protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode)
throws java.lang.Exception
AbstractFileObjectAbstractFileObject.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 AbstractFileObjectjava.lang.Exception
protected java.io.OutputStream doGetOutputStream(boolean bAppend)
throws java.lang.Exception
doGetOutputStream in class AbstractFileObjectjava.lang.Exceptionjava.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 | |||||||||