org.eclipse.jgit.revwalk
Class LIFORevQueue

java.lang.Object
  extended by org.eclipse.jgit.revwalk.LIFORevQueue

public class LIFORevQueue
extends Object

A queue of commits in LIFO order.


Field Summary
protected  org.eclipse.jgit.revwalk.BlockRevQueue.BlockFreeList free
           
 
Constructor Summary
LIFORevQueue()
          Create an empty LIFO queue.
 
Method Summary
 void add(RevCommit c)
          Add a commit to the queue.
 void add(RevCommit c, RevFlag queueControl)
          Add a commit if it does not have a flag set yet, then set the flag.
 void addParents(RevCommit c, RevFlag queueControl)
          Add a commit's parents if one does not have a flag set yet.
 void clear()
          Remove all entries from this queue.
protected static void describe(StringBuilder s, RevCommit c)
           
 RevCommit next()
          Remove the first commit from the queue.
 void shareFreeList(org.eclipse.jgit.revwalk.BlockRevQueue q)
          Reconfigure this queue to share the same free list as another.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

free

protected org.eclipse.jgit.revwalk.BlockRevQueue.BlockFreeList free
Constructor Detail

LIFORevQueue

public LIFORevQueue()
Create an empty LIFO queue.

Method Detail

add

public void add(RevCommit c)
Add a commit to the queue.

This method always adds the commit, even if it is already in the queue or previously was in the queue but has already been removed. To control queue admission use add(RevCommit, RevFlag).

Parameters:
c - commit to add.

next

public RevCommit next()
Remove the first commit from the queue.

Returns:
the first commit of this queue.

clear

public void clear()
Remove all entries from this queue.


toString

public String toString()
Overrides:
toString in class Object

shareFreeList

public void shareFreeList(org.eclipse.jgit.revwalk.BlockRevQueue q)
Reconfigure this queue to share the same free list as another.

Multiple revision queues can be connected to the same free list, making it less expensive for applications to shuttle commits between them. This method arranges for the receiver to take from / return to the same free list as the supplied queue.

Free lists are not thread-safe. Applications must ensure that all queues sharing the same free list are doing so from only a single thread.

Parameters:
q - the other queue we will steal entries from.

add

public final void add(RevCommit c,
                      RevFlag queueControl)
Add a commit if it does not have a flag set yet, then set the flag.

This method permits the application to test if the commit has the given flag; if it does not already have the flag than the commit is added to the queue and the flag is set. This later will prevent the commit from being added twice.

Parameters:
c - commit to add.
queueControl - flag that controls admission to the queue.

addParents

public final void addParents(RevCommit c,
                             RevFlag queueControl)
Add a commit's parents if one does not have a flag set yet.

This method permits the application to test if the commit has the given flag; if it does not already have the flag than the commit is added to the queue and the flag is set. This later will prevent the commit from being added twice.

Parameters:
c - commit whose parents should be added.
queueControl - flag that controls admission to the queue.

describe

protected static void describe(StringBuilder s,
                               RevCommit c)


Copyright © 2012. All Rights Reserved.