Package org.eclipse.jgit.revplot
Class PlotCommitList<L extends PlotLane>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- org.eclipse.jgit.revwalk.RevObjectList<E>
-
- org.eclipse.jgit.revwalk.RevCommitList<PlotCommit<L>>
-
- org.eclipse.jgit.revplot.PlotCommitList<L>
-
- Type Parameters:
L
- type of lane used by the application.
- All Implemented Interfaces:
Iterable<PlotCommit<L>>
,Collection<PlotCommit<L>>
,List<PlotCommit<L>>
public class PlotCommitList<L extends PlotLane> extends RevCommitList<PlotCommit<L>>
An ordered list ofPlotCommit
subclasses.Commits are allocated into lanes as they enter the list, based upon their connections between descendant (child) commits and ancestor (parent) commits.
The source of the list must be a
PlotWalk
andRevCommitList.fillTo(int)
must be used to populate the list.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jgit.revwalk.RevObjectList
RevObjectList.Block
-
-
Field Summary
-
Fields inherited from class org.eclipse.jgit.revwalk.RevObjectList
contents, size
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description PlotCommitList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
protected L
createLane()
Create a newPlotLane
appropriate for this particularPlotCommitList
.protected void
enter(int index, PlotCommit<L> currCommit)
Optional callback invoked when commits enter the list by fillTo.void
findPassingThrough(PlotCommit<L> currCommit, Collection<L> result)
Find the set of lanes passing through a commit's row.protected void
recycleLane(L lane)
Return colors and other reusable information to the plotter when a lane is no longer needed.void
source(RevWalk w)
Set the revision walker this list populates itself from.-
Methods inherited from class org.eclipse.jgit.revwalk.RevCommitList
applyFlag, applyFlag, clearFlag, clearFlag, fillTo, fillTo, indexOf, isPending, lastIndexOf
-
Methods inherited from class org.eclipse.jgit.revwalk.RevObjectList
add, get, set, size
-
Methods inherited from class java.util.AbstractList
add, addAll, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
-
-
-
Method Detail
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<L extends PlotLane>
- Specified by:
clear
in interfaceList<L extends PlotLane>
- Overrides:
clear
in classRevCommitList<PlotCommit<L extends PlotLane>>
-
source
public void source(RevWalk w)
Set the revision walker this list populates itself from.- Overrides:
source
in classRevCommitList<PlotCommit<L extends PlotLane>>
- Parameters:
w
- the walker to populate from.- See Also:
RevCommitList.fillTo(int)
-
findPassingThrough
public void findPassingThrough(PlotCommit<L> currCommit, Collection<L> result)
Find the set of lanes passing through a commit's row.Lanes passing through a commit are lanes that the commit is not directly on, but that need to travel through this commit to connect a descendant (child) commit to an ancestor (parent) commit. Typically these lanes will be drawn as lines in the passed commit's box, and the passed commit won't appear to be connected to those lines.
This method modifies the passed collection by adding the lanes in any order.
- Parameters:
currCommit
- the commit the caller needs to get the lanes from.result
- collection to add the passing lanes into.
-
enter
protected void enter(int index, PlotCommit<L> currCommit)
Optional callback invoked when commits enter the list by fillTo.This method is only called during
RevCommitList.fillTo(int)
.- Overrides:
enter
in classRevCommitList<PlotCommit<L extends PlotLane>>
- Parameters:
index
- the list position this object will appear at.currCommit
- the object being added (or set) into the list.
-
createLane
protected L createLane()
Create a newPlotLane
appropriate for this particularPlotCommitList
.- Returns:
- a new
PlotLane
appropriate for this particularPlotCommitList
.
-
recycleLane
protected void recycleLane(L lane)
Return colors and other reusable information to the plotter when a lane is no longer needed.- Parameters:
lane
- a lane
-
-