Class FifoQueueNoDuplicates<T>

java.lang.Object
com.ibm.wala.util.collections.FifoQueue<T>
com.ibm.wala.util.collections.FifoQueueNoDuplicates<T>

public class FifoQueueNoDuplicates<T> extends FifoQueue<T>
FIFO work queue management of Objects that prevents an Object from being added to the queue if it was ever previously enqueued.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    everContained(T element)
    Indicate whether the specified element was ever in the queue.
    Return an Iterator over the set of all the nodes that were pushed into the queue.
    void
    push(Iterator<? extends T> elements)
    Insert all of the elements in the specified Iterator at the tail end of the queue if never previously pushed into the queue.
    void
    push(T element)
    Insert an Object at the tail end of the queue if it was never pushed into the queue.
    Return the set of objects that have been queued.

    Methods inherited from class FifoQueue

    contains, isEmpty, peek, pop, size
    Modifier and Type
    Method
    Description
    boolean
    contains(T element)
    Indicate whether the specified element is currently in the queue.
    boolean
    Returns whether or not this queue is empty (no enqueued elements).
    Returns the next Object in the queue, but leaves it in the queue.
    pop()
    Remove the next Object from the queue and return it to the caller.
    int
    Return the current number of enqueued Objects, the number of Objects that were pushed into the queue and have not been popped.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FifoQueueNoDuplicates

      public FifoQueueNoDuplicates()
  • Method Details

    • getPushedNodes

      public Iterator<T> getPushedNodes()
      Return an Iterator over the set of all the nodes that were pushed into the queue.
      Returns:
      an Iterator over the set of pushed nodes.
    • push

      public void push(T element)
      Insert an Object at the tail end of the queue if it was never pushed into the queue.

      This method determines whether an element was ever in the queue using the element's equals() method. If the element's class does not implement equals(), the default implementation assumes they are equal if it is the same object.

      Overrides:
      push in class FifoQueue<T>
      Parameters:
      element - is the Object to be added to the queue if not ever previously queued.
    • push

      public void push(Iterator<? extends T> elements) throws IllegalArgumentException
      Insert all of the elements in the specified Iterator at the tail end of the queue if never previously pushed into the queue.

      This method determines whether an element was ever pushed into the queue using the element's equals() method. If the element's class does not implement equals(), the default implementation assumes that two elements are equal if they are the same object.

      Overrides:
      push in class FifoQueue<T>
      Parameters:
      elements - an Iterator of Objects to be added to the queue if never already queued.
      Throws:
      IllegalArgumentException - if elements == null
    • everContained

      public boolean everContained(T element)
      Indicate whether the specified element was ever in the queue.
      Parameters:
      element - determine whether this object is in the queue.
      Returns:
      true if element is in the queue. Otherwise false.
    • queuedSet

      public Set<T> queuedSet()
      Return the set of objects that have been queued.