org.mentaqueue
Class NonBatchingQueue<E>

java.lang.Object
  extended by org.mentaqueue.NonBatchingQueue<E>
Type Parameters:
E -
All Implemented Interfaces:
Iterable<E>, Collection<E>, Queue<E>

public class NonBatchingQueue<E>
extends Object
implements Queue<E>

A non-batching queue wrapper that takes a BatchingQueue and makes it non-batching by implementing only the poll() and offer() methods. Since it implements java.util.Queue you can use this wrapper as a replacement of the standard Java queue implementations. However you should keep in mind that batching is one of the things that make MentaQueue fast, so a non-batching queue will be many times slower. It is highly recommended that you refactor your code to use the BatchingQueue interface because the performance gains are much larger.

Author:
Sergio Oliveira Jr.

Nested Class Summary
static class NonBatchingQueue.Entry<E>
           
 
Constructor Summary
NonBatchingQueue(BatchingQueue<NonBatchingQueue.Entry<E>> queue)
           
NonBatchingQueue(BatchingQueue<NonBatchingQueue.Entry<E>> queue, boolean isLazySet)
           
 
Method Summary
 boolean add(E e)
           
 boolean addAll(Collection<? extends E> c)
           
 void clear()
           
 boolean contains(Object o)
           
 boolean containsAll(Collection<?> c)
           
 E element()
           
 boolean isEmpty()
           
 Iterator<E> iterator()
           
 boolean offer(E e)
           
 E peek()
           
 E poll()
           
 E remove()
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 boolean retainAll(Collection<?> c)
           
 int size()
           
 Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 

Constructor Detail

NonBatchingQueue

public NonBatchingQueue(BatchingQueue<NonBatchingQueue.Entry<E>> queue)

NonBatchingQueue

public NonBatchingQueue(BatchingQueue<NonBatchingQueue.Entry<E>> queue,
                        boolean isLazySet)
Method Detail

size

public int size()
Specified by:
size in interface Collection<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<E>

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<E>

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<E>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface Collection<E>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E>

containsAll

public boolean containsAll(Collection<?> c)
Specified by:
containsAll in interface Collection<E>

addAll

public boolean addAll(Collection<? extends E> c)
Specified by:
addAll in interface Collection<E>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<E>

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>

add

public boolean add(E e)
Specified by:
add in interface Collection<E>
Specified by:
add in interface Queue<E>

offer

public boolean offer(E e)
Specified by:
offer in interface Queue<E>

remove

public E remove()
Specified by:
remove in interface Queue<E>

poll

public E poll()
Specified by:
poll in interface Queue<E>

element

public E element()
Specified by:
element in interface Queue<E>

peek

public E peek()
Specified by:
peek in interface Queue<E>


Copyright © 2012. All Rights Reserved.