jet.queue
Class FilteredQueue<E>

java.lang.Object
  extended by jet.queue.FilteredQueue<E>

public class FilteredQueue<E>
extends java.lang.Object

Author:
markus.meisters@web.de

Field Summary
protected  int capacity
           
protected  EventSupport<java.lang.Enum> eventSupport
           
protected  java.util.HashMap<java.lang.String,java.util.concurrent.ArrayBlockingQueue<E>> filteredQueues
           
protected  java.util.HashMap<java.lang.String,EventSupport<EventType>> filteredQueuesEventSupport
           
protected  java.util.HashMap<java.lang.String,java.util.concurrent.locks.ReentrantLock> filteredQueuesLock
           
protected  java.lang.String[] filters
           
protected  boolean fixFilters
           
protected  java.util.concurrent.locks.ReentrantLock LOCK_FilteredQueue
           
protected  java.util.concurrent.locks.ReentrantLock LOCK_FilteredQueueEventSupport
           
 
Constructor Summary
FilteredQueue(java.lang.String[] filters, int capacity)
           
FilteredQueue(java.lang.String[] filters, int capacity, boolean fixFilters)
           
 
Method Summary
 boolean add(java.lang.String filter, E o)
           
 boolean addAll(java.lang.String filter, java.util.Collection<? extends E> c)
           
 void addEventSupportToFilter(java.lang.String filter)
           
 void addFilterListener(java.lang.String filter, EventListener eventListener)
           
 void clear()
           
 java.lang.String contains(E o)
           
 java.lang.String[] containsAll(java.util.Collection<E> c)
           
 E element(java.lang.String filter)
           
 boolean equals(java.lang.Object obj)
           
 void fireEvent(java.lang.String filter, Event event)
           
private  void init(java.lang.String[] filters, int capacity, boolean fixFilters)
           
 boolean isEmpty(java.lang.String filter)
           
 java.util.Iterator<E> iterator(java.lang.String filter)
           
 boolean offer(java.lang.String filter, E o)
           
 E peek(java.lang.String filter)
           
 E poll(java.lang.String filter)
           
 E poll(java.lang.String filter, long timeout, java.util.concurrent.TimeUnit unit)
           
 boolean remove(java.lang.Object o, java.lang.String filter)
           
 java.util.concurrent.ArrayBlockingQueue<E> remove(java.lang.String filter)
           
 boolean removeAll(java.lang.String filter, java.util.Collection<?> c)
           
 EventSupport<EventType> removeEventSupport(java.lang.String filter)
           
 EventSupport<EventType> removeEventSupportandDestroyFilter(java.lang.String filter)
           
 boolean retainAll(java.lang.String filter, java.util.Collection<?> c)
           
 int size(java.lang.String filter)
           
 E[] toArray(E[] a, java.lang.String filter)
           
 java.lang.Object[] toArray(java.lang.String filter)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventSupport

protected EventSupport<java.lang.Enum> eventSupport

filteredQueuesEventSupport

protected java.util.HashMap<java.lang.String,EventSupport<EventType>> filteredQueuesEventSupport

filteredQueues

protected java.util.HashMap<java.lang.String,java.util.concurrent.ArrayBlockingQueue<E>> filteredQueues

filteredQueuesLock

protected java.util.HashMap<java.lang.String,java.util.concurrent.locks.ReentrantLock> filteredQueuesLock

filters

protected java.lang.String[] filters

fixFilters

protected boolean fixFilters

capacity

protected int capacity

LOCK_FilteredQueue

protected java.util.concurrent.locks.ReentrantLock LOCK_FilteredQueue

LOCK_FilteredQueueEventSupport

protected java.util.concurrent.locks.ReentrantLock LOCK_FilteredQueueEventSupport
Constructor Detail

FilteredQueue

public FilteredQueue(java.lang.String[] filters,
                     int capacity,
                     boolean fixFilters)

FilteredQueue

public FilteredQueue(java.lang.String[] filters,
                     int capacity)
Method Detail

init

private void init(java.lang.String[] filters,
                  int capacity,
                  boolean fixFilters)

addEventSupportToFilter

public void addEventSupportToFilter(java.lang.String filter)

add

public boolean add(java.lang.String filter,
                   E o)

addAll

public boolean addAll(java.lang.String filter,
                      java.util.Collection<? extends E> c)

clear

public void clear()

contains

public java.lang.String contains(E o)

containsAll

public java.lang.String[] containsAll(java.util.Collection<E> c)

element

public E element(java.lang.String filter)

isEmpty

public boolean isEmpty(java.lang.String filter)

iterator

public java.util.Iterator<E> iterator(java.lang.String filter)

offer

public boolean offer(java.lang.String filter,
                     E o)

peek

public E peek(java.lang.String filter)

poll

public E poll(java.lang.String filter)

poll

public E poll(java.lang.String filter,
              long timeout,
              java.util.concurrent.TimeUnit unit)
       throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

remove

public java.util.concurrent.ArrayBlockingQueue<E> remove(java.lang.String filter)

removeEventSupportandDestroyFilter

public EventSupport<EventType> removeEventSupportandDestroyFilter(java.lang.String filter)

removeEventSupport

public EventSupport<EventType> removeEventSupport(java.lang.String filter)

remove

public boolean remove(java.lang.Object o,
                      java.lang.String filter)

removeAll

public boolean removeAll(java.lang.String filter,
                         java.util.Collection<?> c)

retainAll

public boolean retainAll(java.lang.String filter,
                         java.util.Collection<?> c)

size

public int size(java.lang.String filter)

toArray

public java.lang.Object[] toArray(java.lang.String filter)

toArray

public E[] toArray(E[] a,
                   java.lang.String filter)

addFilterListener

public void addFilterListener(java.lang.String filter,
                              EventListener eventListener)

fireEvent

public void fireEvent(java.lang.String filter,
                      Event event)

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object