EMMA Coverage Report (generated Tue Apr 17 08:51:20 BST 2007)
[all classes][org.jtoolkit.essence.concurrency]

COVERAGE SUMMARY FOR SOURCE FILE [CallbackUtils.java]

nameclass, %method, %block, %line, %
CallbackUtils.java100% (1/1)60%  (3/5)52%  (31/60)40%  (5.5/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class CallbackUtils100% (1/1)60%  (3/5)52%  (31/60)40%  (5.5/14)
CallbackUtils (): void 0%   (0/1)0%   (0/3)0%   (0/2)
makeCallbackEx (Callback): CallbackEx 0%   (0/1)0%   (0/11)0%   (0/3)
isImmediate (Callback): boolean 100% (1/1)62%  (10/16)59%  (1.8/3)
isThreaded (Callback): boolean 100% (1/1)62%  (10/16)59%  (1.8/3)
makeThreaded (Callback): CallbackEx 100% (1/1)79%  (11/14)67%  (2/3)

1package org.jtoolkit.essence.concurrency;
2 
3import org.jtoolkit.essence.concurrency.impl.CallbackWrapper;
4import org.jtoolkit.essence.concurrency.impl.ThreadedCallbackImpl;
5 
6public class CallbackUtils {
7    private CallbackUtils() {
8    }
9 
10    public static <T> CallbackEx<T> makeCallbackEx(Callback<T> callback) {
11        if (callback instanceof CallbackEx)
12            return (CallbackEx<T>) callback;
13        return new CallbackWrapper<T>(callback);
14    }
15 
16    public static boolean isImmediate(Callback callback) {
17        if (callback instanceof CallbackWrapper)
18            callback = ((CallbackWrapper) callback).getCallback();
19        return callback.getClass().getAnnotation(Callback.Immediate.class) != null;
20    }
21 
22    public static boolean isThreaded(Callback callback) {
23        if (callback instanceof CallbackWrapper)
24            callback = ((CallbackWrapper) callback).getCallback();
25        return callback.getClass().getAnnotation(Callback.Threaded.class) != null;
26    }
27 
28    public static <T> CallbackEx<T> makeThreaded(Callback<T> callback) {
29        if (isImmediate(callback) || isThreaded(callback))
30            return makeCallbackEx(callback);
31        return new ThreadedCallbackImpl<T>(callback);
32    }
33}

[all classes][org.jtoolkit.essence.concurrency]
EMMA 2.0.5312 (C) Vladimir Roubtsov