org.apache.activemq.broker.region.cursors
Class PrioritizedPendingList

java.lang.Object
  extended by org.apache.activemq.broker.region.cursors.PrioritizedPendingList
All Implemented Interfaces:
Iterable<MessageReference>, PendingList

public class PrioritizedPendingList
extends Object
implements PendingList


Constructor Summary
PrioritizedPendingList()
           
 
Method Summary
 void addAll(PendingList pendingList)
          Adds all the elements of the given PendingList to this PendingList.
 PendingNode addMessageFirst(MessageReference message)
          Adds the given message to the head of the list.
 PendingNode addMessageLast(MessageReference message)
          Adds the given message to the tail of the list.
 void clear()
          Discards all Messages currently held in the PendingList.
 boolean contains(MessageReference message)
          Query the PendingList to determine if the given message is contained within.
protected  OrderedPendingList getList(MessageReference msg)
           
protected  int getPriority(MessageReference message)
           
 boolean isEmpty()
          Returns true if there are no Messages in the PendingList currently.
 Iterator<MessageReference> iterator()
          Returns an iterator over the pending Messages.
 PendingNode remove(MessageReference message)
          Removes the given MessageReference from the PendingList if it is contained within.
 int size()
          Returns the number of MessageReferences that are awaiting dispatch.
 String toString()
           
 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
 

Constructor Detail

PrioritizedPendingList

public PrioritizedPendingList()
Method Detail

addMessageFirst

public PendingNode addMessageFirst(MessageReference message)
Description copied from interface: PendingList
Adds the given message to the head of the list.

Specified by:
addMessageFirst in interface PendingList
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: PendingList
Adds the given message to the tail of the list.

Specified by:
addMessageLast in interface PendingList
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: PendingList
Discards all Messages currently held in the PendingList.

Specified by:
clear in interface PendingList

isEmpty

public boolean isEmpty()
Description copied from interface: PendingList
Returns true if there are no Messages in the PendingList currently.

Specified by:
isEmpty in interface PendingList
Returns:
true if the PendingList is currently empty.

iterator

public Iterator<MessageReference> iterator()
Description copied from interface: PendingList
Returns 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:
iterator in interface Iterable<MessageReference>
Specified by:
iterator in interface PendingList
Returns:
an Iterator that returns MessageReferences contained in this list.

remove

public PendingNode remove(MessageReference message)
Description copied from interface: PendingList
Removes the given MessageReference from the PendingList if it is contained within.

Specified by:
remove in interface PendingList
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: PendingList
Returns the number of MessageReferences that are awaiting dispatch.

Specified by:
size in interface PendingList
Returns:
current count of the pending messages.

toString

public String toString()
Overrides:
toString in class Object

getPriority

protected int getPriority(MessageReference message)

getList

protected OrderedPendingList getList(MessageReference msg)

contains

public boolean contains(MessageReference message)
Description copied from interface: PendingList
Query the PendingList to determine if the given message is contained within.

Specified by:
contains in interface PendingList
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: PendingList
Returns 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:
values in interface PendingList
Returns:
a new Collection containing this lists MessageReferences.

addAll

public void addAll(PendingList pendingList)
Description copied from interface: PendingList
Adds all the elements of the given PendingList to this PendingList.

Specified by:
addAll in interface PendingList
Parameters:
pendingList - The PendingList that is to be added to this collection.


Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.