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

COVERAGE SUMMARY FOR SOURCE FILE [DefaultContext.java]

nameclass, %method, %block, %line, %
DefaultContext.java100% (1/1)25%  (1/4)22%  (11/49)37%  (3.7/10)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DefaultContext100% (1/1)25%  (1/4)22%  (11/49)37%  (3.7/10)
lookup (Class): Object 0%   (0/1)0%   (0/16)0%   (0/3)
lookup (String): Object 0%   (0/1)0%   (0/10)0%   (0/1)
lookupAll (Class): Iterator 0%   (0/1)0%   (0/8)0%   (0/2)
DefaultContext (ClassLoader, Map): void 100% (1/1)73%  (11/15)93%  (3.7/4)

1package com.hammurapi.common;
2 
3import java.util.Iterator;
4import java.util.Map;
5import java.util.ServiceLoader;
6 
7/**
8 * Default context uses ServiceLoader to find services in 
9 * a given classloader and map of bindings.
10 * @author Pavel Vlasov
11 *
12 */
13public class DefaultContext implements Context {
14        
15        private ClassLoader classLoader;
16        private Map<String, Object> bindings;
17 
18        /**
19         * @param classLoader ClassLoader for services. Can be null.
20         * @param bindings Name bindings. Can be null.
21         */
22        public DefaultContext(ClassLoader classLoader, Map<String, Object> bindings) {
23                this.classLoader = classLoader==null ? this.getClass().getClassLoader() : classLoader;
24                this.bindings = bindings;
25        }
26 
27        public Object lookup(String name) {
28                return bindings==null ? null : bindings.get(name);
29        }
30 
31        public <T> T lookup(Class<T> serviceClass) {
32                ServiceLoader<T> sl = ServiceLoader.load(serviceClass, classLoader);
33                Iterator<T> sit = sl.iterator();                
34                return sit.hasNext() ? sit.next() : null;
35        }
36 
37        public <T> Iterator<T> lookupAll(Class<T> serviceClass) {
38                ServiceLoader<T> sl = ServiceLoader.load(serviceClass, classLoader);
39                return sl.iterator();                
40        }
41 
42}

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