View Javadoc

1   package com.atlassian.cache.hazelcast;
2   
3   import java.util.Map;
4   
5   import com.hazelcast.map.AbstractEntryProcessor;
6   
7   class GetOrInitVersionEntryProcessor<K> extends AbstractEntryProcessor<K, Long>
8   {
9       private static GetOrInitVersionEntryProcessor<Object> INSTANCE = new GetOrInitVersionEntryProcessor<Object>();
10  
11      protected static <T> GetOrInitVersionEntryProcessor<T> getInstance()
12      {
13          return (GetOrInitVersionEntryProcessor<T>) INSTANCE;
14      }
15  
16      private GetOrInitVersionEntryProcessor()
17      {
18      }
19  
20      @Override
21      public Object process(Map.Entry<K, Long> entry)
22      {
23          Long value = entry.getValue();
24          if (value == null)
25          {
26              value = 1L;
27              entry.setValue(value);
28          }
29          return value;
30      }
31  }