Class AbstractDelegatingQueue<T>
- java.lang.Object
-
- com.broadleafcommerce.search.index.core.queue.AbstractDelegatingQueue<T>
-
- Type Parameters:
T
- The type that will be on theReindexQueue
.
- All Implemented Interfaces:
Distributable
,IndexableTypeAware
,ReindexQueue<T>
,Iterable<T>
,Collection<T>
,BlockingQueue<T>
,Queue<T>
- Direct Known Subclasses:
DefaultLocalArrayBlockingDelegatingQueue
public abstract class AbstractDelegatingQueue<T> extends Object implements ReindexQueue<T>
Abstract implementation of a ReindexQueue that delegates its work to any implementation of a BlockingQueue.- Author:
- Kelly Tisdell
-
-
Constructor Summary
Constructors Constructor Description AbstractDelegatingQueue(@NonNull com.broadleafcommerce.search.api.type.IndexableType type, @NonNull BlockingQueue<T> delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(T e)
boolean
addAll(Collection<? extends T> c)
void
clear()
boolean
contains(Object o)
boolean
containsAll(Collection<?> c)
int
drainTo(Collection<? super T> c)
int
drainTo(Collection<? super T> c, int maxElements)
T
element()
BlockingQueue<T>
getDelegate()
The underlying queue which all work is delegated to.com.broadleafcommerce.search.api.type.IndexableType
getIndexableType()
Components that implement this method should return the same, non-null value on each invocation.String
getQueueName()
Any arbitrary Queue name.boolean
isEmpty()
boolean
isLoaded()
Indicates whether more data will be added to the Queue.Iterator<T>
iterator()
void
markLoaded()
Mark that there is no more data to add to this queue.boolean
offer(T e)
boolean
offer(T e, long timeout, TimeUnit unit)
T
peek()
T
poll()
T
poll(long timeout, TimeUnit unit)
void
put(T e)
int
remainingCapacity()
T
remove()
boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
boolean
retainAll(Collection<?> c)
int
size()
T
take()
Object[]
toArray()
<E> E[]
toArray(E[] 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, parallelStream, removeIf, spliterator, stream, toArray
-
Methods inherited from interface com.broadleafcommerce.search.index.core.Distributable
isDistributed
-
-
-
-
Constructor Detail
-
AbstractDelegatingQueue
public AbstractDelegatingQueue(@NonNull @NonNull com.broadleafcommerce.search.api.type.IndexableType type, @NonNull @NonNull BlockingQueue<T> delegate)
-
-
Method Detail
-
getQueueName
public final String getQueueName()
Description copied from interface:ReindexQueue
Any arbitrary Queue name.- Specified by:
getQueueName
in interfaceReindexQueue<T>
- Returns:
- the name for the queue
-
isLoaded
public final boolean isLoaded()
Description copied from interface:ReindexQueue
Indicates whether more data will be added to the Queue. Returns true if there is no more data to add.- Specified by:
isLoaded
in interfaceReindexQueue<T>
- Returns:
- whether the queue is fully loaded and no more data will be added
-
markLoaded
public final void markLoaded()
Description copied from interface:ReindexQueue
Mark that there is no more data to add to this queue.- Specified by:
markLoaded
in interfaceReindexQueue<T>
-
getIndexableType
public final com.broadleafcommerce.search.api.type.IndexableType getIndexableType()
Description copied from interface:IndexableTypeAware
Components that implement this method should return the same, non-null value on each invocation. This should basically return a constant value.- Specified by:
getIndexableType
in interfaceIndexableTypeAware
- Returns:
- the associated indexable type
-
add
public boolean add(T e)
- Specified by:
add
in interfaceBlockingQueue<T>
- Specified by:
add
in interfaceCollection<T>
- Specified by:
add
in interfaceQueue<T>
-
offer
public boolean offer(T e)
-
put
public void put(T e) throws InterruptedException
- Specified by:
put
in interfaceBlockingQueue<T>
- Throws:
InterruptedException
-
offer
public boolean offer(T e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offer
in interfaceBlockingQueue<T>
- Throws:
InterruptedException
-
take
public T take() throws InterruptedException
- Specified by:
take
in interfaceBlockingQueue<T>
- Throws:
InterruptedException
-
poll
public T poll(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
poll
in interfaceBlockingQueue<T>
- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacity
in interfaceBlockingQueue<T>
-
remove
public boolean remove(Object o)
- Specified by:
remove
in interfaceBlockingQueue<T>
- Specified by:
remove
in interfaceCollection<T>
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceBlockingQueue<T>
- Specified by:
contains
in interfaceCollection<T>
-
drainTo
public int drainTo(Collection<? super T> c)
- Specified by:
drainTo
in interfaceBlockingQueue<T>
-
drainTo
public int drainTo(Collection<? super T> c, int maxElements)
- Specified by:
drainTo
in interfaceBlockingQueue<T>
-
size
public int size()
- Specified by:
size
in interfaceCollection<T>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceCollection<T>
-
toArray
public Object[] toArray()
- Specified by:
toArray
in interfaceCollection<T>
-
toArray
public <E> E[] toArray(E[] a)
- Specified by:
toArray
in interfaceCollection<T>
-
containsAll
public boolean containsAll(Collection<?> c)
- Specified by:
containsAll
in interfaceCollection<T>
-
addAll
public boolean addAll(Collection<? extends T> c)
- Specified by:
addAll
in interfaceCollection<T>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll
in interfaceCollection<T>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll
in interfaceCollection<T>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<T>
-
getDelegate
public BlockingQueue<T> getDelegate()
The underlying queue which all work is delegated to.- Returns:
- the underlying delegate queue
-
-