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