View Javadoc

1   package net.sf.ehcache.pool.impl;
2   
3   import net.sf.ehcache.pool.SizeOfEngine;
4   
5   /***
6    * @author Ludovic Orban
7    */
8   public class ConstantSizeOfEngine implements SizeOfEngine {
9   
10      private final long keySize;
11      private final long valueSize;
12      private final long containerSize;
13  
14      public ConstantSizeOfEngine() {
15          this(
16              1536,  /* 1.5 KB*/
17              14336, /* 14 KB */
18              512    /* 0.5 KB */
19          );
20      }
21  
22      public ConstantSizeOfEngine(long keySize, long valueSize, long containerSize) {
23          this.keySize = keySize;
24          this.valueSize = valueSize;
25          this.containerSize = containerSize;
26      }
27  
28      public long sizeOf(Object key, Object value, Object container) {
29          long result = 0L;
30  
31          if (key != null) {
32              result += keySize;
33          }
34          if (value != null) {
35              result += valueSize;
36          }
37          if (container != null) {
38              result += containerSize;
39          }
40  
41          return result;
42      }
43  }