Constructs the application with a pre-initialised service and the user-specified options.

Parameters:

service - a pre-initialised service (including Provider credentials)

doAction - Files will only be transferred if true.

isQuiet - Report will only include summary of actions if true.

isNoProgress - Upload/download progress updates will not be printed.

isForce - Files will be overwritten when unchanged if true.

isKeepFiles - Files will not be replaced/deleted if true.

isMoveEnabled - If true, items will be moved rather than just copied. Files will be
deleted after they have been uploaded, and objects will be deleted
after they have been downloaded.

isBatchMode - If true, uploads or downloads will proceed in batches rather than all at
once. This mode is useful for large buckets where listing all the
objects and their details at once may consume a large amount of time
and memory.

isNoDelete - Files will not be deleted if true, but may be replaced.

isGzipEnabled - Files will be gzipped prior to upload if true.

isEncryptionEnabled - Files will be encrypted prior to upload if true.

reportLevel - The level or amount of reporting to perform. The default value is
REPORT_LEVEL_ALL.

properties - The configuration properties that will be used by this instance.

Copies the contents of a local directory to a service, storing them in the given root path.

A set of comparisons is used to determine exactly how the local files differ from the
contents of the service location, and files are transferred based on these comparisons and
options set by the user.

The following object properties are set when a file is uploaded:

The object's key name

Content-Length: The size of the uploaded file. This will be 0 for directories, and will
differ from the original file if gzip or encryption options are set.

Copies the contents of a root path in service to the local file system.

A set of comparisons is used to determine exactly how the service objects differ from the
local target, and files are transferred based on these comparisons and options set by the user.

If an object is gzipped (according to its Content-Type) and the gzip option is set, the object
is inflated. If an object is encrypted (according to the metadata item
Constants.METADATA_JETS3T_CRYPTO_ALGORITHM) and the crypt option is set, the object
is decrypted. If encrypted and/or gzipped objects are restored without the corresponding option
being set, the user will be responsible for inflating or decrypting the data.

Note: If a file was backed-up with both encryption and gzip options it cannot be
restored with only the gzip option set, as files are gzipped prior to being encrypted and cannot
be inflated without first being decrypted.