EMMA Coverage Report (generated Sun Mar 01 22:06:14 CET 2015)
[all classes][org.h2.util]

COVERAGE SUMMARY FOR SOURCE FILE [SmallLRUCache.java]

nameclass, %method, %block, %line, %
SmallLRUCache.java100% (1/1)75%  (3/4)85%  (23/27)71%  (5/7)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SmallLRUCache100% (1/1)75%  (3/4)85%  (23/27)71%  (5/7)
setMaxSize (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
SmallLRUCache (int): void 100% (1/1)100% (9/9)100% (3/3)
newInstance (int): SmallLRUCache 100% (1/1)100% (5/5)100% (1/1)
removeEldestEntry (Map$Entry): boolean 100% (1/1)100% (9/9)100% (1/1)

1/*
2 * Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0,
3 * and the EPL 1.0 (http://h2database.com/html/license.html).
4 * Initial Developer: H2 Group
5 */
6package org.h2.util;
7 
8import java.util.LinkedHashMap;
9import java.util.Map;
10 
11/**
12 * This class implements a small LRU object cache.
13 *
14 * @param <K> the key
15 * @param <V> the value
16 */
17public class SmallLRUCache<K, V> extends LinkedHashMap<K, V> {
18 
19    private static final long serialVersionUID = 1L;
20    private int size;
21 
22    private SmallLRUCache(int size) {
23        super(size, (float) 0.75, true);
24        this.size = size;
25    }
26 
27    /**
28     * Create a new object with all elements of the given collection.
29     *
30     * @param <K> the key type
31     * @param <V> the value type
32     * @param size the number of elements
33     * @return the object
34     */
35    public static <K, V> SmallLRUCache<K, V> newInstance(int size) {
36        return new SmallLRUCache<K, V>(size);
37    }
38 
39    public void setMaxSize(int size) {
40        this.size = size;
41    }
42 
43    @Override
44    protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
45        return size() > size;
46    }
47 
48}

[all classes][org.h2.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov