View Javadoc
1   package com.atlassian.cache.memory;
2   
3   import java.util.concurrent.TimeUnit;
4   
5   import javax.annotation.Nonnull;
6   
7   import com.atlassian.cache.CacheSettings;
8   import com.atlassian.cache.ManagedCache;
9   
10  abstract class ManagedCacheSupport implements ManagedCache
11  {
12      private final String name;
13      protected final CacheSettings settings;
14  
15      public ManagedCacheSupport(String name, CacheSettings settings)
16      {
17          this.name = name;
18          this.settings = settings;
19      }
20  
21      @Nonnull
22      @Override
23      public final String getName()
24      {
25          return name;
26      }
27  
28      @Override
29      public final boolean isFlushable()
30      {
31          return settings.getFlushable(true);
32      }
33  
34      @Override
35      public final boolean isLocal()
36      {
37          return true;
38      }
39  
40      @Override
41      public final boolean isReplicateAsynchronously()
42      {
43          return false;
44      }
45  
46      @Override
47      public final boolean isReplicateViaCopy()
48      {
49          return false;
50      }
51  
52      @Override
53      public final Integer currentMaxEntries()
54      {
55          return settings.getMaxEntries();
56      }
57  
58      @Override
59      public final boolean updateMaxEntries(int newValue)
60      {
61          return false;
62      }
63  
64      @Override
65      public final Long currentExpireAfterAccessMillis()
66      {
67          return settings.getExpireAfterAccess();
68      }
69  
70      @Override
71      public final boolean updateExpireAfterAccess(long expireAfter, @Nonnull TimeUnit timeUnit)
72      {
73          return false;
74      }
75  
76      @Override
77      public final Long currentExpireAfterWriteMillis()
78      {
79          return settings.getExpireAfterWrite();
80      }
81  
82      @Override
83      public final boolean updateExpireAfterWrite(long expireAfter, @Nonnull TimeUnit timeUnit)
84      {
85          return false;
86      }
87  
88      @Override
89      public boolean isStatisticsEnabled()
90      {
91          return settings.getStatisticsEnabled(true);
92      }
93  
94      @Override
95      public void setStatistics(boolean enabled)
96      {
97          throw new UnsupportedOperationException("setStatistics not implemented");
98      }
99  }