EMMA Coverage Report (generated Tue Jul 10 07:50:22 IST 2012)
[all classes][org.wso2.siddhi.core.util]

COVERAGE SUMMARY FOR SOURCE FILE [SchedulerQueue.java]

nameclass, %method, %block, %line, %
SchedulerQueue.java100% (1/1)100% (6/6)100% (55/55)100% (18/18)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SchedulerQueue100% (1/1)100% (6/6)100% (55/55)100% (18/18)
SchedulerQueue (): void 100% (1/1)100% (11/11)100% (3/3)
iterator (): Iterator 100% (1/1)100% (4/4)100% (1/1)
peek (): Object 100% (1/1)100% (11/11)100% (4/4)
poll (): Object 100% (1/1)100% (11/11)100% (4/4)
put (Object): boolean 100% (1/1)100% (14/14)100% (5/5)
take (): Object 100% (1/1)100% (4/4)100% (1/1)

1/*
2*  Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
3*
4*  WSO2 Inc. licenses this file to you under the Apache License,
5*  Version 2.0 (the "License"); you may not use this file except
6*  in compliance with the License.
7*  You may obtain a copy of the License at
8*
9*    http://www.apache.org/licenses/LICENSE-2.0
10*
11* Unless required by applicable law or agreed to in writing,
12* software distributed under the License is distributed on an
13* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14* KIND, either express or implied.  See the License for the
15* specific language governing permissions and limitations
16* under the License.
17*/
18package org.wso2.siddhi.core.util;
19 
20import java.util.Iterator;
21import java.util.concurrent.LinkedBlockingQueue;
22 
23public class SchedulerQueue<T> {
24    private volatile boolean isScheduledForDispatching = false;
25    private LinkedBlockingQueue<T> linkedBlockingQueue = new LinkedBlockingQueue<T>();
26 
27    public boolean put(T t) throws InterruptedException {
28        linkedBlockingQueue.put(t);
29        if (!isScheduledForDispatching) {
30            isScheduledForDispatching = true;
31            return false;
32        }
33        return true;
34    }
35 
36 
37    public T poll() {
38        T t = linkedBlockingQueue.poll();
39        if (t == null) {
40            isScheduledForDispatching = false;
41        }
42        return t;
43    }
44 
45 
46    public T take() throws InterruptedException {
47        return linkedBlockingQueue.take();
48    }
49 
50    public T peek() {
51        T t = linkedBlockingQueue.peek();
52        if (t == null) {
53            isScheduledForDispatching = false;
54        }
55        return t;
56    }
57 
58    public Iterator<T> iterator() {
59        return linkedBlockingQueue.iterator();
60    }
61 
62}

[all classes][org.wso2.siddhi.core.util]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov