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 remotePath, 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.

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 remotePath, 
                File destFile)

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

Parameters
remotePath 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

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