View Javadoc

1   package com.atlassian.vcache.internal.core.metrics;
2   
3   import com.atlassian.vcache.RequestCache;
4   
5   /**
6    * Wrapper for a {@link RequestCache} that records metrics.
7    *
8    * @param <K> the key type
9    * @param <V> the value type
10   * @since 1.0.0
11   */
12  class TimedRequestCache<K, V>
13          extends TimedLocalCacheOperations<K, V>
14          implements RequestCache<K, V> {
15      private final RequestCache<K, V> delegate;
16  
17      TimedRequestCache(RequestCache<K, V> delegate, MetricsRecorder metricsRecorder) {
18          super(delegate.getName(), CacheType.REQUEST, metricsRecorder);
19          this.delegate = delegate;
20      }
21  
22      @Override
23      protected RequestCache<K, V> getDelegate() {
24          return delegate;
25      }
26  
27      @Override
28      public String getName() {
29          return delegate.getName();
30      }
31  }