Class PrioritizedPendingList
- java.lang.Object
-
- org.apache.activemq.broker.region.cursors.PrioritizedPendingList
-
- All Implemented Interfaces:
Iterable<MessageReference>,PendingList
public class PrioritizedPendingList extends Object implements PendingList
-
-
Constructor Summary
Constructors Constructor Description PrioritizedPendingList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAll(PendingList pendingList)Adds all the elements of the given PendingList to this PendingList.PendingNodeaddMessageFirst(MessageReference message)Adds the given message to the head of the list.PendingNodeaddMessageLast(MessageReference message)Adds the given message to the tail of the list.voidclear()Discards all Messages currently held in the PendingList.booleancontains(MessageReference message)Query the PendingList to determine if the given message is contained within.MessageReferenceget(MessageId messageId)protected OrderedPendingListgetList(MessageReference msg)protected intgetPriority(MessageReference message)booleanisEmpty()Returns true if there are no Messages in the PendingList currently.Iterator<MessageReference>iterator()Returns an iterator over the pending Messages.longmessageSize()PendingNoderemove(MessageReference message)Removes the given MessageReference from the PendingList if it is contained within.intsize()Returns the number of MessageReferences that are awaiting dispatch.StringtoString()Collection<MessageReference>values()Returns a new Collection that contains all the MessageReferences currently held in this PendingList.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
addMessageFirst
public PendingNode addMessageFirst(MessageReference message)
Description copied from interface:PendingListAdds the given message to the head of the list.- Specified by:
addMessageFirstin interfacePendingList- Parameters:
message- The MessageReference that is to be added to this list.- Returns:
- the PendingNode that contains the newly added message.
-
addMessageLast
public PendingNode addMessageLast(MessageReference message)
Description copied from interface:PendingListAdds the given message to the tail of the list.- Specified by:
addMessageLastin interfacePendingList- Parameters:
message- The MessageReference that is to be added to this list.- Returns:
- the PendingNode that contains the newly added message.
-
clear
public void clear()
Description copied from interface:PendingListDiscards all Messages currently held in the PendingList.- Specified by:
clearin interfacePendingList
-
isEmpty
public boolean isEmpty()
Description copied from interface:PendingListReturns true if there are no Messages in the PendingList currently.- Specified by:
isEmptyin interfacePendingList- Returns:
- true if the PendingList is currently empty.
-
iterator
public Iterator<MessageReference> iterator()
Description copied from interface:PendingListReturns an iterator over the pending Messages. The subclass controls how the returned iterator actually traverses the list of pending messages allowing for the order to vary based on factors like Message priority or some other mechanism.- Specified by:
iteratorin interfaceIterable<MessageReference>- Specified by:
iteratorin interfacePendingList- Returns:
- an Iterator that returns MessageReferences contained in this list.
-
remove
public PendingNode remove(MessageReference message)
Description copied from interface:PendingListRemoves the given MessageReference from the PendingList if it is contained within.- Specified by:
removein interfacePendingList- Parameters:
message- The MessageReference that is to be removed to this list.- Returns:
- the PendingNode that contains the removed message or null if the message was not present in this list.
-
size
public int size()
Description copied from interface:PendingListReturns the number of MessageReferences that are awaiting dispatch.- Specified by:
sizein interfacePendingList- Returns:
- current count of the pending messages.
-
messageSize
public long messageSize()
- Specified by:
messageSizein interfacePendingList
-
getPriority
protected int getPriority(MessageReference message)
-
getList
protected OrderedPendingList getList(MessageReference msg)
-
contains
public boolean contains(MessageReference message)
Description copied from interface:PendingListQuery the PendingList to determine if the given message is contained within.- Specified by:
containsin interfacePendingList- Parameters:
message- The Message that is the target of this query.- Returns:
- true if the MessageReference is contained in this list.
-
values
public Collection<MessageReference> values()
Description copied from interface:PendingListReturns a new Collection that contains all the MessageReferences currently held in this PendingList. The elements of the list are ordered using the same rules as the subclass uses for iteration.- Specified by:
valuesin interfacePendingList- Returns:
- a new Collection containing this lists MessageReferences.
-
addAll
public void addAll(PendingList pendingList)
Description copied from interface:PendingListAdds all the elements of the given PendingList to this PendingList.- Specified by:
addAllin interfacePendingList- Parameters:
pendingList- The PendingList that is to be added to this collection.
-
get
public MessageReference get(MessageId messageId)
- Specified by:
getin interfacePendingList
-
-