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

COVERAGE SUMMARY FOR SOURCE FILE [ReflectiveEventHandlerFactory.java]

nameclass, %method, %block, %line, %
ReflectiveEventHandlerFactory.java100% (1/1)100% (2/2)100% (46/46)100% (7/7)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ReflectiveEventHandlerFactory100% (1/1)100% (2/2)100% (46/46)100% (7/7)
ReflectiveEventHandlerFactory (ClassLoader, TokenExpander): void 100% (1/1)100% (5/5)100% (2/2)
createHandlers (Object, Class): Collection 100% (1/1)100% (41/41)100% (5/5)

1package com.hammurapi.eventbus;
2 
3import java.util.ArrayList;
4import java.util.Collection;
5 
6import com.hammurapi.common.TokenExpander;
7import com.hammurapi.extract.Predicate;
8 
9/**
10 * This class adds a single method to the base class - it creates predicate/handler pairs from 
11 * @author Pavel Vlasov
12 *
13 * @param <E>
14 * @param <C>
15 */
16public class ReflectiveEventHandlerFactory<E, C, H extends EventBus.Handle<E,Integer,C>, S extends EventStore<E,Integer,C,H,S>> extends IntrospectorBase<E, C> {
17 
18        protected ReflectiveEventHandlerFactory(ClassLoader classLoader, TokenExpander tokenExpander) {
19                super(classLoader, tokenExpander);
20        }
21        
22        /**
23         * Introspects class and creates predicate/handler pairs.
24         * @param handlerClass
25         * @param eventType
26         * @return
27         */
28        @SuppressWarnings("unchecked")
29        public Collection<ReflectiveEventHandler<E,C,H,S>> createHandlers(C instance, Class<E> eventType) {
30                Collection<ReflectiveEventHandler<E,C,H,S>> ret = new ArrayList<ReflectiveEventHandler<E,C,H,S>>();
31                for (IntrospectionResult<E, C> ir: introspect((Class<C>) instance.getClass(), eventType)) {
32                        ReflectiveEventHandler<E, C, H, S> handler = new ReflectiveEventHandler<E,C,H,S>(instance, ir.getOffset(), ir.getMethod(), ir.getParameterTypes(), ir.getHandlerAnnotation(), eventType, ir.getPredicates());                        
33                        ret.add(handler);
34                }
35 
36                return ret;
37        }
38}

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