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

COVERAGE SUMMARY FOR SOURCE FILE [LocalJoiner.java]

nameclass, %method, %block, %line, %
LocalJoiner.java0%   (0/1)0%   (0/3)0%   (0/19)0%   (0/7)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LocalJoiner0%   (0/1)0%   (0/3)0%   (0/19)0%   (0/7)
LocalJoiner (Joiner$Collector [], Class, boolean): void 0%   (0/1)0%   (0/11)0%   (0/3)
endJoin (): void 0%   (0/1)0%   (0/4)0%   (0/2)
startJoin (): void 0%   (0/1)0%   (0/4)0%   (0/2)

1package com.hammurapi.common;
2 
3import java.util.concurrent.locks.Lock;
4import java.util.concurrent.locks.ReentrantLock;
5 
6/**
7 * LocalJoiner uses java.util.concurrent.locks.ReentrantLock to protect simultaneous access
8 * to input collectors. 
9 * @author Pavel Vlasov
10 *
11 * @param <T>
12 * @param <C>
13 * @param <R>
14 */
15public abstract class LocalJoiner<T, C, R> extends Joiner<T, C, R> {
16        
17        Lock lock = new ReentrantLock();
18 
19        protected LocalJoiner(
20                        Collector<T>[] inputCollectors, 
21                        Class<T> inputType,
22                        boolean outerJoin) {
23                super(inputCollectors, inputType, outerJoin);
24        }
25        
26        @Override
27        protected void startJoin() {
28                lock.lock();                
29        }
30        
31        @Override
32        protected void endJoin() {
33                lock.unlock();                
34        }
35 
36}

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