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
12
13
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 }