Interface CachingAwareRepository

All Superinterfaces:
BambooPluginModule, BuildConfigurationAwarePlugin, ConfigurablePlugin, ConvertibleFromConfig, DescriptionProvider, InitablePluginModule, NameProvider, RenderableBuildConfiguration, Repository, RepositoryV2, Serializable
All Known Subinterfaces:
BitbucketDelegatedRepository, StashRepository
All Known Implementing Classes:
BitbucketRepository, GitHubRepository, GitRepository, StashRepositoryImpl, SvnRepository

public interface CachingAwareRepository extends Repository
Should be implemented by repositories supporting caching of its method calls.
  • Method Details

    • getCacheId

      @Nullable @Nullable CacheId getCacheId(@NotNull @NotNull CachingAwareRepository.CachableOperation cachableOperation)
      Cache id has to fulfill the following: Given two Repository objects A and B, returning equal CacheId (in terms of equals()) and a cachable operation foo(), in the following sequence of calls made in a short time period: 1. A::foo() 2. B::foo() 3. A::foo() the result of B::foo() should be the same as either the first or the second call to A::foo().
      Returns:
      the cache id of repository, null if the supplied operation cannot be cached
    • isCachingSupportedFor

      boolean isCachingSupportedFor(@NotNull @NotNull CachingAwareRepository.CachableOperation cachableOperation)
      Returns:
      true if the repository supports generation of CacheIds for a given operation