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,
17 14336,
18 512
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 }