FileDownloadCache
  public
  
  
  
  class
  FileDownloadCache
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | com.android.tradefed.build.FileDownloadCache | 
A helper class that maintains a local filesystem LRU cache of downloaded files.
Summary
| Public methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      deleteCacheEntry(String remoteFilePath)
      Allow deleting an entry from the cache. | 
| 
        
        
        
        
        
        void | 
      fetchRemoteFile(IFileDownloader downloader, String remoteFilePath, File destFile)
      Download the file or link the cache to the destination file. | 
| 
        
        
        
        
        
        File | 
      fetchRemoteFile(IFileDownloader downloader, String remoteFilePath)
      Returns a local file corresponding to the given remotePath The local  | 
| 
        
        
        
        
        
        void | 
      setMaxCacheSize(long numBytes)
      Set the maximum size of the local file cache. | 
| Protected methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      lockFile(String remoteFilePath)
      Acquires the lock for a file. | 
| 
        
        
        
        
        
        boolean | 
      tryLockFile(String remoteFilePath)
      Acquire the lock for a file only if it is not held by another thread. | 
| 
        
        
        
        
        
        void | 
      unlockFile(String remoteFilePath)
      Attempt to release a lock for a file. | 
Public methods
deleteCacheEntry
public void deleteCacheEntry (String remoteFilePath)
Allow deleting an entry from the cache. In case the entry is invalid or corrupted.
| Parameters | |
|---|---|
| remoteFilePath | String | 
fetchRemoteFile
public void fetchRemoteFile (IFileDownloader downloader, String remoteFilePath, File destFile)
Download the file or link the cache to the destination file.
| Parameters | |
|---|---|
| downloader | IFileDownloader: theIFileDownloader | 
| remoteFilePath | String: the remote file. | 
| destFile | File: The destination file of the download. | 
| Throws | |
|---|---|
|  | com.android.tradefed.build.BuildRetrievalError | 
| BuildRetrievalError | |
fetchRemoteFile
public File fetchRemoteFile (IFileDownloader downloader, String remoteFilePath)
Returns a local file corresponding to the given remotePath
The local ERROR(/File) will be copied from the cache if it exists, otherwise will be
 downloaded via the given IFileDownloader.
| Parameters | |
|---|---|
| downloader | IFileDownloader: theIFileDownloader | 
| remoteFilePath | String: the remote file. | 
| Returns | |
|---|---|
| File | a local ERROR(/File)containing contents of remotePath | 
| Throws | |
|---|---|
| BuildRetrievalError | if file could not be retrieved | 
setMaxCacheSize
public void setMaxCacheSize (long numBytes)
Set the maximum size of the local file cache.
Cache will not be adjusted immediately if set to a smaller size than current, but will take effect on next file download.
Protected methods
lockFile
protected void lockFile (String remoteFilePath)
Acquires the lock for a file.
| Parameters | |
|---|---|
| remoteFilePath | String | 
tryLockFile
protected boolean tryLockFile (String remoteFilePath)
Acquire the lock for a file only if it is not held by another thread.
| Parameters | |
|---|---|
| remoteFilePath | String | 
| Returns | |
|---|---|
| boolean | true if the lock was acquired, and false otherwise. | 
unlockFile
protected void unlockFile (String remoteFilePath)
Attempt to release a lock for a file.
| Parameters | |
|---|---|
| remoteFilePath | String | 
