com.atlassian.bamboo.build.artifact
Class CachingArtifactLinkDataProviderDecorator

java.lang.Object
  extended by com.atlassian.bamboo.build.artifact.CachingArtifactLinkDataProviderDecorator
All Implemented Interfaces:
ArtifactLinkDataProvider

public class CachingArtifactLinkDataProviderDecorator
extends Object
implements ArtifactLinkDataProvider

Caches all values returned from the decorated provider.


Field Summary
 com.atlassian.util.concurrent.Supplier<Date> lastModified
           
 com.atlassian.util.concurrent.Supplier<Long> size
           
 
Constructor Summary
CachingArtifactLinkDataProviderDecorator(ArtifactLinkDataProvider artifactLinkDataProvider)
           
 
Method Summary
static ArtifactLinkDataProvider decorate(ArtifactLinkDataProvider artifactLinkDataProvider)
           
 boolean exists()
           
 boolean exists(Iterable<String> pathComponents)
           
 String getRootUrl()
           
 long getSize()
           
 Date lastModified()
           
 Iterable<ArtifactFileData> listObjects(String subpath)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lastModified

public com.atlassian.util.concurrent.Supplier<Date> lastModified

size

public com.atlassian.util.concurrent.Supplier<Long> size
Constructor Detail

CachingArtifactLinkDataProviderDecorator

public CachingArtifactLinkDataProviderDecorator(ArtifactLinkDataProvider artifactLinkDataProvider)
Method Detail

getRootUrl

@NotNull
public String getRootUrl()
Specified by:
getRootUrl in interface ArtifactLinkDataProvider

listObjects

@NotNull
public Iterable<ArtifactFileData> listObjects(@Nullable
                                                      String subpath)
Specified by:
listObjects in interface ArtifactLinkDataProvider

lastModified

@Nullable
public Date lastModified()
Specified by:
lastModified in interface ArtifactLinkDataProvider

getSize

public long getSize()
Specified by:
getSize in interface ArtifactLinkDataProvider

exists

public boolean exists()
Specified by:
exists in interface ArtifactLinkDataProvider

exists

public boolean exists(Iterable<String> pathComponents)
Specified by:
exists in interface ArtifactLinkDataProvider

decorate

public static ArtifactLinkDataProvider decorate(ArtifactLinkDataProvider artifactLinkDataProvider)


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.