Overview
This class is returned to the Servoy client from the FileProvider js_streamFilesFromServer or js_streamFilesToServer method
It is used to monitor the uploads/downloads calling back a Servoy method that can then get the status of the transfer(s)
It is called repeatedly by a Timer when scheduled with a fixed interval to callback the Servoy method provided.
Methods Summarized
Type Name Summary Cancels the transfer process.
Returns the number of bytes to transfer for the current file.
Returns the index of the current file being transferred.
Returns the number of bytes already transferred for the current file.
Returns the name of the current file being transferred.
Returns the total bytes to transfer to or from the server (sum of all the files size)
Returns the total number of files to transfer.
Returns the total bytes already transferred (for all files)
Returns true if the process was canceled.
Returns true if the process is finished.
Sets a method to be called repeatedly at the given interval (in seconds), the method will receive an instance of this JSProgressMonitor updated with the latest values.
Sets a method to be called repeatedly at the given interval (in seconds), the method will receive an instance of this JSProgressMonitor updated with the latest values.
Methods Detailed
cancel()
Cancels the transfer process.
Returns: Boolean
Sample
getCurrentBytesToTransfer()
Returns the number of bytes to transfer for the current file.
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getCurrentFileIndex()
Returns the index of the current file being transferred.
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getCurrentTransferredBytes()
Returns the number of bytes already transferred for the current file.
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getCurrentTransferredFileName()
Returns the name of the current file being transferred.
Returns: String
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getTotalBytesToTransfer()
Returns the total bytes to transfer to or from the server (sum of all the files size)
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getTotalFilesToTransfer()
Returns the total number of files to transfer.
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
getTotalTransferredBytes()
Returns the total bytes already transferred (for all files)
Returns: Number
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
isCanceled()
Returns true if the process was canceled.
Returns: Boolean
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
isFinished()
Returns true if the process is finished.
Returns: Boolean
Sample
Copy application.output('total transferred: ' + monitor.getTotalTransferredBytes() + ' / ' + monitor.getTotalBytesToTransfer());
application.output('current file: ' + monitor.getCurrentTransferredFileName() + ' ( ' + monitor.getCurrentFileIndex() + ' / ' + monitor.getTotalFilesToTransfer() + ' )');
application.output('current bytes transferred: '+monitor.getCurrentTransferredBytes() + ' / ' + monitor.getCurrentBytesToTransfer());
if ( monitor .isCanceled ()) {
application .output ( 'canceled!' )
}
if ( monitor .isFinished ()) {
application .output ( 'finished!' )
}
setProgressCallBack(function, interval)
Sets a method to be called repeatedly at the given interval (in seconds), the method will receive an instance of this JSProgressMonitor updated with the latest values. Can use an optional delay (for testing purpose in developer).
Parameters
Function function the Function to call back at the specified interval
Number interval the interval (in seconds) to use
Returns: JSProgressMonitor this for chaining
Sample
Copy // call the progressCallbackFuntion every 2 and a half seconds (with a delay of 200ms in developer):
monitor .setProgressCallBack (progressCallbackFunction , 2.5 , ( application .isInDeveloper () ? 200 : 0 ));
setProgressCallBack(function, interval, delay)
Sets a method to be called repeatedly at the given interval (in seconds), the method will receive an instance of this JSProgressMonitor updated with the latest values. Can use an optional delay (for testing purpose in developer).
Parameters
Function function the Function to call back at the specified interval
Number interval the interval (in seconds) to use
Number delay adds a delay for testing purpose in Developer
Returns: JSProgressMonitor this for chaining
Sample
Copy // call the progressCallbackFuntion every 2 and a half seconds (with a delay of 200ms in developer):
monitor .setProgressCallBack (progressCallbackFunction , 2.5 , ( application .isInDeveloper () ? 200 : 0 ));