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

COVERAGE SUMMARY FOR SOURCE FILE [AbstractEventHandler.java]

nameclass, %method, %block, %line, %
AbstractEventHandler.java100% (1/1)65%  (13/20)82%  (134/163)71%  (34/48)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AbstractEventHandler100% (1/1)65%  (13/20)82%  (134/163)71%  (34/48)
reset (): void 0%   (0/1)0%   (0/1)0%   (0/1)
setCardinality (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setConsumes (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setContext (Object): void 0%   (0/1)0%   (0/4)0%   (0/2)
setMode (EventHandlerBase$Mode): void 0%   (0/1)0%   (0/4)0%   (0/2)
setOneOff (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setPriority (Comparable): void 0%   (0/1)0%   (0/4)0%   (0/2)
AbstractEventHandler (int, Comparable, Object, boolean, boolean, EventHandler... 100% (1/1)90%  (35/39)93%  (13/14)
AbstractEventHandler (): void 100% (1/1)100% (12/12)100% (5/5)
AbstractEventHandler (int, Comparable, Object, boolean, boolean, EventHandler... 100% (1/1)100% (11/11)100% (2/2)
consumes (): boolean 100% (1/1)100% (3/3)100% (1/1)
getCardinality (): int 100% (1/1)100% (3/3)100% (1/1)
getContext (): Object 100% (1/1)100% (3/3)100% (1/1)
getMode (): EventHandlerBase$Mode 100% (1/1)100% (3/3)100% (1/1)
getPredicate (): Predicate 100% (1/1)100% (3/3)100% (1/1)
getPriority (): Comparable 100% (1/1)100% (3/3)100% (1/1)
isOneOff (): boolean 100% (1/1)100% (3/3)100% (1/1)
setPredicate (Predicate): void 100% (1/1)100% (4/4)100% (2/2)
toString (): String 100% (1/1)100% (31/31)100% (3/3)
wrap (Predicate []): Predicate 100% (1/1)100% (20/20)100% (5/5)

1package com.hammurapi.eventbus;
2 
3import com.hammurapi.extract.CommutativeAnd;
4import com.hammurapi.extract.Predicate;
5import com.hammurapi.extract.True;
6 
7/**
8 * Base class for event handlers.
9 * @author Pavel Vlasov
10 *
11 * @param <E>
12 * @param <P>
13 * @param <C>
14 */
15public abstract class AbstractEventHandler<E, P extends Comparable<P>, C, H extends EventBus.Handle<E,P,C>, S extends EventStore<E,P,C,H,S>> implements EventHandler<E, P, C, H, S> {
16        
17        private boolean oneOff;
18        private Mode mode = Mode.POST;
19        private Predicate<E, C> predicate;
20 
21        public AbstractEventHandler() {
22                // Default constructor.
23        }
24        
25        public AbstractEventHandler(
26                        int cardinality, 
27                        P priority, 
28                        C context, 
29                        boolean consumes, 
30                        boolean oneOff, 
31                        Mode mode, 
32                        Predicate<E, C> predicate) {
33                super();
34                this.cardinality = cardinality;
35                this.priority = priority;
36                this.context = context;
37                this.consumes = consumes;
38                this.oneOff = oneOff;
39                this.mode = mode;
40                if (predicate == null) {
41                        this.predicate = True.getInstance();
42                } else {
43                        this.predicate = predicate;
44                }
45        }
46 
47        public AbstractEventHandler(
48                        int cardinality, 
49                        P priority, 
50                        C context, 
51                        boolean consumes, 
52                        boolean oneOff, 
53                        Mode mode, 
54                        Predicate<E, C>... predicates) {
55                this(cardinality, priority, context, consumes, oneOff, mode, wrap(predicates));
56        }
57        
58        private static <E,C> Predicate<E, C> wrap(Predicate<E, C>[] predicates) {
59                if (predicates.length==0) {
60                        return True.getInstance();
61                }
62                
63                if (predicates.length==1) {
64                        return predicates[0];
65                }
66                
67                return new CommutativeAnd<E,C>(0, null, predicates);
68        }
69 
70        private boolean consumes = true;
71        private P priority;
72        private int cardinality = 1;
73        private C context;
74        
75        public void setCardinality(int cardinality) {
76                this.cardinality = cardinality;
77        }
78        
79        public void setConsumes(boolean consumes) {
80                this.consumes = consumes;
81        }
82        
83        public void setContext(C context) {
84                this.context = context;
85        }
86        
87        public void setPriority(P priority) {
88                this.priority = priority;
89        }
90 
91        @Override
92        public boolean consumes() {
93                return consumes;
94        }
95 
96        @Override
97        public P getPriority() {
98                return priority;
99        }
100 
101        @Override
102        public int getCardinality() {
103                return cardinality;
104        }
105 
106        @Override
107        public void reset() {
108                // NOP, override if needed.
109        }
110 
111        @Override
112        public C getContext() {
113                return context;
114        }
115 
116        @Override
117        public String toString() {
118                return "AbstractEventHandler("+super.toString()+") [consumes=" + consumes + ", priority="
119                                + priority + ", cardinality=" + cardinality + ", context="
120                                + context + "]";
121        }
122 
123        @Override
124        public boolean isOneOff() {
125                return oneOff;
126        }
127        
128        public void setOneOff(boolean oneOff) {
129                this.oneOff = oneOff;
130        }
131 
132        @Override
133        public Mode getMode() {
134                return mode;
135        }
136        
137        public void setMode(Mode mode) {
138                this.mode = mode;
139        }
140 
141        @Override
142        public Predicate<E, C> getPredicate() {
143                return predicate;
144        }
145        
146        public void setPredicate(Predicate<E, C> predicate) {
147                this.predicate = predicate;
148        }
149 
150}

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