Interface CaffeineCacheComponents

All Superinterfaces:
ConfigurationComponents, PekkoComponents

public interface CaffeineCacheComponents extends ConfigurationComponents, PekkoComponents
Caffeine Cache Java Components for compile time injection.

Usage:

 public class MyComponents extends BuiltInComponentsFromContext implements CaffeineCacheComponents {

   public MyComponents(ApplicationLoader.Context context) {
       super(context);
   }

   // A service class that depends on cache APIs
   public CachedService someService() {
       // defaultCacheApi is provided by CaffeineCacheComponents
       return new CachedService(defaultCacheApi());
   }

   // Another service that depends on a specific named cache
   public AnotherService someService() {
       // cacheApi provided by CaffeineCacheComponents and
       // "anotherService" is the name of the cache.
       return new CachedService(cacheApi("anotherService"));
   }

   // other methods
 }