EMMA Coverage Report (generated Thu Jan 20 11:39:44 EST 2011)
[all classes][com.hammurapi.store.local]

COVERAGE SUMMARY FOR SOURCE FILE [LocalStoreImpl.java]

nameclass, %method, %block, %line, %
LocalStoreImpl.java100% (4/4)64%  (7/11)61%  (36/59)73%  (11/15)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LocalStoreImpl$LocalDeputyStore100% (1/1)50%  (2/4)43%  (10/23)60%  (3/5)
createDeputy (): LocalStore 0%   (0/1)0%   (0/7)0%   (0/1)
createLiveView (Predicate): LocalStore 0%   (0/1)0%   (0/6)0%   (0/1)
LocalStoreImpl$LocalDeputyStore (AbstractStore, ReadWriteLock): void 100% (1/1)100% (5/5)100% (2/2)
createUnmodifiableFacade (): LocalStore 100% (1/1)100% (5/5)100% (1/1)
     
class LocalStoreImpl$LocalLiveView100% (1/1)50%  (1/2)50%  (5/10)67%  (2/3)
createUnmodifiableFacade (): LocalStore 0%   (0/1)0%   (0/5)0%   (0/1)
LocalStoreImpl$LocalLiveView (LocalStore, Predicate): void 100% (1/1)100% (5/5)100% (2/2)
     
class LocalStoreImpl100% (1/1)75%  (3/4)77%  (17/22)80%  (4/5)
createUnmodifiableFacade (): LocalStore 0%   (0/1)0%   (0/5)0%   (0/1)
LocalStoreImpl (LocalStoreBase$Config): void 100% (1/1)100% (4/4)100% (2/2)
createDeputy (): LocalStore 100% (1/1)100% (7/7)100% (1/1)
createLiveView (Predicate): LocalStore 100% (1/1)100% (6/6)100% (1/1)
     
class LocalStoreImpl$LocalUnmodifiableStore100% (1/1)100% (1/1)100% (4/4)100% (2/2)
LocalStoreImpl$LocalUnmodifiableStore (LocalStore): void 100% (1/1)100% (4/4)100% (2/2)

1package com.hammurapi.store.local;
2 
3import java.util.concurrent.locks.ReadWriteLock;
4 
5import com.hammurapi.extract.Predicate;
6import com.hammurapi.store.AbstractStore;
7import com.hammurapi.store.DeputyStore;
8import com.hammurapi.store.LiveView;
9import com.hammurapi.store.UnmodifiableStore;
10 
11/**
12 * In-memory object store.
13 * @author Pavel Vlasov
14 *
15 * @param <T>
16 */
17public class LocalStoreImpl<T, PK> extends LocalStoreBase<T, PK, LocalStore<T,PK>> implements LocalStore<T, PK> {
18 
19 
20        public LocalStoreImpl(Config<T, PK, LocalStore<T, PK>> config) {
21                super(config);
22        }
23        
24        protected static class LocalDeputyStore<T, PK> extends DeputyStore<T, PK, LocalStore<T,PK>> implements LocalStore<T,PK> {
25 
26                public LocalDeputyStore(AbstractStore<T, PK, LocalStore<T, PK>> master,        ReadWriteLock masterLock) {
27                        super(master, masterLock);
28                }
29 
30                @Override
31                protected LocalStore<T, PK> createDeputy() {
32                        return new LocalDeputyStore<T, PK>(this, createMasterLock());
33                }
34                
35                @Override
36                public LocalStore<T, PK> createUnmodifiableFacade() {
37                        return new LocalUnmodifiableStore<T, PK>(this);
38                }
39 
40                @Override
41                protected LocalStore<T, PK> createLiveView(Predicate<T, LocalStore<T, PK>> selector) {
42                        return new LocalLiveView<T, PK>(this, selector);
43                }
44                
45        }
46        
47        protected static class LocalUnmodifiableStore<T, PK> extends UnmodifiableStore<T, PK, LocalStore<T, PK>> implements LocalStore<T, PK> {
48 
49                public LocalUnmodifiableStore(LocalStore<T, PK> master) {
50                        super(master);
51                }
52                
53        }
54        
55        protected static class LocalLiveView<T, PK> extends LiveView<T, PK, LocalStore<T, PK>> implements LocalStore<T, PK> {
56 
57                public LocalLiveView(LocalStore<T, PK> master, Predicate<T, LocalStore<T, PK>> selector) {
58                        super(master, selector);
59                }
60                
61                @Override
62                public LocalStore<T, PK> createUnmodifiableFacade() {
63                        return new LocalUnmodifiableStore<T, PK>(this);
64                }
65                
66        }
67 
68        @Override
69        protected LocalStore<T, PK> createDeputy() {
70                return new LocalDeputyStore<T,PK>(this, createMasterLock());
71        }
72        
73        @Override
74        public LocalStore<T, PK> createUnmodifiableFacade() {
75                return new LocalUnmodifiableStore<T, PK>(this);
76        }
77 
78        @Override
79        protected LocalStore<T, PK> createLiveView(Predicate<T, LocalStore<T, PK>> selector) {
80                return new LocalLiveView<T,PK>(this, selector);
81        }
82        
83}

[all classes][com.hammurapi.store.local]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov