View Javadoc

1   package com.atlassian.vcache.internal.core;
2   
3   import com.atlassian.marshalling.api.MarshallingPair;
4   import com.atlassian.vcache.DirectExternalCache;
5   import com.atlassian.vcache.JvmCache;
6   import com.atlassian.vcache.RequestCache;
7   import com.atlassian.vcache.StableReadExternalCache;
8   import com.atlassian.vcache.TransactionalExternalCache;
9   
10  /**
11   * Provides methods to wrap standard VCache types for instrumentation.
12   *
13   * @since 1.0.0
14   */
15  public interface Instrumentor {
16      TransactionControl wrap(TransactionControl control, String cacheName);
17  
18      <T> MarshallingPair<T> wrap(MarshallingPair<T> marshalling, String cacheName);
19  
20      <K, V> JvmCache<K, V> wrap(JvmCache<K, V> cache);
21  
22      <K, V> RequestCache<K, V> wrap(RequestCache<K, V> cache);
23  
24      <V> DirectExternalCache<V> wrap(DirectExternalCache<V> cache);
25  
26      <V> StableReadExternalCache<V> wrap(StableReadExternalCache<V> cache);
27  
28      <V> TransactionalExternalCache<V> wrap(TransactionalExternalCache<V> cache);
29  }