FileDownloadCacheWrapper

public class FileDownloadCacheWrapper
extends Object implements IFileDownloader

java.lang.Object
   ↳ com.android.tradefed.build.FileDownloadCacheWrapper


A wrapper class that provides FileDownloadCache facilities while implementing the IFileDownloader interface.

Useful for cases where you want to abstract the use of the cache from callers.

Summary

Public constructors

FileDownloadCacheWrapper(File cacheDir, IFileDownloader delegateDownloader)

Public methods

void downloadFile(String remoteFilePath, File destFile)

Alternate form of downloadFile(String), that allows caller to specify the destination file the remote contents should be placed in.

File downloadFile(String remoteFilePath)

Downloads a remote file to a temporary file on local disk.

void downloadZippedFiles(File destDir, String remoteFilePath, includeFilters, excludeFilters)

Download the files matching given filters in a remote zip file.

boolean isFresh(File localFile, String remoteFilePath)

Check local file's freshness.

Public constructors

FileDownloadCacheWrapper

public FileDownloadCacheWrapper (File cacheDir, 
                IFileDownloader delegateDownloader)

Parameters
cacheDir File

delegateDownloader IFileDownloader

Public methods

downloadFile

public void downloadFile (String remoteFilePath, 
                File destFile)

Alternate form of downloadFile(String), that allows caller to specify the destination file the remote contents should be placed in.

Parameters
remoteFilePath String: the remote path to the file to download, relative to an implementation-specific root.

destFile File: the file to place the downloaded contents into. Should not exist.

Throws
BuildRetrievalError

downloadFile

public File downloadFile (String remoteFilePath)

Downloads a remote file to a temporary file on local disk.

Parameters
remoteFilePath String: the remote path to the file to download, relative to a implementation specific root.

Returns
File the temporary local downloaded ERROR(/File).

Throws
BuildRetrievalError

downloadZippedFiles

public void downloadZippedFiles (File destDir, 
                String remoteFilePath, 
                 includeFilters, 
                 excludeFilters)

Download the files matching given filters in a remote zip file.

A file inside the remote zip file is only downloaded to its path matches any of the include filters but not the exclude filters.

Parameters
destDir File: the file to place the downloaded contents into.

remoteFilePath String: the remote path to the file to download, relative to an implementation specific root.

includeFilters : a list of filters to download matching files.

excludeFilters : a list of filters to skip downloading matching files.

Throws
BuildRetrievalError

isFresh

public boolean isFresh (File localFile, 
                String remoteFilePath)

Check local file's freshness. If local file is the same as remote file, then it's fresh. If not, local file is stale. This is mainly used for cache. The default implementation will always return true, so if the file is immutable it will never need to check freshness.

Parameters
localFile File: local file.

remoteFilePath String: remote file path.

Returns
boolean True if local file is fresh, otherwise false.

Throws
BuildRetrievalError