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 of `PlotCommit` 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` and `RevCommitList.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
`PlotCommitList()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clear()`
`protected L` `createLane()`
`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.lang.Iterable

`forEach`

### Methods inherited from interface java.util.List

`addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray`

### Constructor Detail

#### PlotCommitList

    public PlotCommitList()

### Method Detail

#### clear

    public void clear()

Specified by:
  `clear` in interface `Collection<L extends PlotLane>`
Specified by:
  `clear` in interface `List<L extends PlotLane>`
Overrides:
  `clear` in class `RevCommitList<PlotCommit<L extends PlotLane>>`

#### source

    public void source​(RevWalk w)

Description copied from class: `RevCommitList`
Set the revision walker this list populates itself from.

Overrides:
  `source` in class `RevCommitList<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)

Description copied from class: `RevCommitList`
Optional callback invoked when commits enter the list by fillTo.

This method is only called during `RevCommitList.fillTo(int)`.

Overrides:
  `enter` in class `RevCommitList<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()

Returns:
  a new Lane appropriate for this particular PlotList.

#### recycleLane

    protected void recycleLane​(L lane)

Return colors and other reusable information to the plotter when a lane is no longer needed.

Parameters:
  `lane` -