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          //noinspection unchecked
14          return (GetOrInitVersionEntryProcessor<T>) INSTANCE;
15      }
16  
17      private GetOrInitVersionEntryProcessor()
18      {
19      }
20  
21      @Override
22      public Object process(Map.Entry<K, Long> entry)
23      {
24          Long value = entry.getValue();
25          if (value == null)
26          {
27              value = 1L;
28              entry.setValue(value);
29          }
30          return value;
31      }
32  }