maspack.fileutil
Interface FileTransferMonitor

All Superinterfaces:
java.lang.Runnable
All Known Implementing Classes:
MultiFileTransferMonitor

public interface FileTransferMonitor
extends java.lang.Runnable

Interface for class responsible for monitoring one or more file transfers by examining the destination file. It is associated with a set of FileTransferListener objects that listen to transfer events fired by this monitor.

Author:
"Antonio Sanchez" Creation date: 17 Nov 2012

Method Summary
 void addListener(FileTransferListener listener)
          Adds a listener object to respond to transfer events
 void fireCompleteEvent(org.apache.commons.vfs2.FileObject destFile)
          Convenience function for firing a "complete" event for the transfer
 void fireEvent(FileTransferEvent event)
          Fires the supplied event to all listeners associated with this monitor
 void fireStartEvent(org.apache.commons.vfs2.FileObject destFile)
          Convenience function for firing a "start" event for the transfer
 FileTransferListener[] getListeners()
           
 long getPollSleep()
          Time in milliseconds between polls when checking for an update in the transfer status.
 void monitor(org.apache.commons.vfs2.FileObject destFile, org.apache.commons.vfs2.FileObject srcFile)
          Informs this monitor object to monitor a file transfer.
 void monitor(org.apache.commons.vfs2.FileObject destFile, org.apache.commons.vfs2.FileObject srcFile, long size, java.lang.String displayName)
          Informs this monitor object to monitor a file transfer.
 void monitor(org.apache.commons.vfs2.FileObject destFile, long size)
          Informs this monitor object to monitor a file transfer.
 void release(org.apache.commons.vfs2.FileObject destFile)
          Discontinues monitoring a file transfer based on the supplied destination file.
 void removeListener(FileTransferListener listener)
          Removes a listener object
 void setPollSleep(long period)
          Sets the polling period
 void start()
          Starts the monitoring thread
 void stop()
          Stops the monitoring thread
 
Methods inherited from interface java.lang.Runnable
run
 

Method Detail

addListener

void addListener(FileTransferListener listener)
Adds a listener object to respond to transfer events

Parameters:
listener -

removeListener

void removeListener(FileTransferListener listener)
Removes a listener object

Parameters:
listener -

getListeners

FileTransferListener[] getListeners()
Returns:
the set of all listeners

getPollSleep

long getPollSleep()
Time in milliseconds between polls when checking for an update in the transfer status.

Returns:
the polling period

setPollSleep

void setPollSleep(long period)
Sets the polling period

Parameters:
period -

fireEvent

void fireEvent(FileTransferEvent event)
Fires the supplied event to all listeners associated with this monitor

Parameters:
event -

fireStartEvent

void fireStartEvent(org.apache.commons.vfs2.FileObject destFile)
Convenience function for firing a "start" event for the transfer

Parameters:
destFile - The destination file for the transfer to uniquely identify the FileTransferMonitorAgent responsible for firing events

fireCompleteEvent

void fireCompleteEvent(org.apache.commons.vfs2.FileObject destFile)
Convenience function for firing a "complete" event for the transfer

Parameters:
destFile - The destination file for the transfer to uniquely identify the FileTransferMonitorAgent responsible for firing events

monitor

void monitor(org.apache.commons.vfs2.FileObject destFile,
             org.apache.commons.vfs2.FileObject srcFile)
Informs this monitor object to monitor a file transfer. If the monitor supports multiple files, adds this to a list of monitored files. Otherwise, sets the current transfer to monitor.

Parameters:
destFile - transfer destination
srcFile - transfer source

monitor

void monitor(org.apache.commons.vfs2.FileObject destFile,
             org.apache.commons.vfs2.FileObject srcFile,
             long size,
             java.lang.String displayName)
Informs this monitor object to monitor a file transfer. If the monitor supports multiple files, adds this to a list of monitored files. Otherwise, sets the current transfer to monitor.

Parameters:
destFile - transfer destination
srcFile - transfer source
size - the size of the source file (total transfer size). If <0, then we determine the transfer size from srcFile
displayName - the name associated with the transfer (may be different than destFile if .part is used)

monitor

void monitor(org.apache.commons.vfs2.FileObject destFile,
             long size)
Informs this monitor object to monitor a file transfer. If the monitor supports multiple files, adds this to a list of monitored files. Otherwise, sets the current one.

Parameters:
destFile - transfer destination
size - Total transfer size

release

void release(org.apache.commons.vfs2.FileObject destFile)
Discontinues monitoring a file transfer based on the supplied destination file.

Parameters:
destFile -

start

void start()
Starts the monitoring thread


stop

void stop()
Stops the monitoring thread