org.gitective.core.filter.commit
Class CommitFileImpactFilter

java.lang.Object
  extended by org.eclipse.jgit.revwalk.filter.RevFilter
      extended by org.gitective.core.filter.commit.CommitFilter
          extended by org.gitective.core.filter.commit.CommitDiffFilter
              extended by org.gitective.core.filter.commit.CommitFileImpactFilter
All Implemented Interfaces:
Cloneable, Iterable<CommitImpact>

public class CommitFileImpactFilter
extends CommitDiffFilter
implements Iterable<CommitImpact>

Filter that tracks the impact of commits measure in terms of files changed


Field Summary
 
Fields inherited from class org.gitective.core.filter.commit.CommitDiffFilter
detectRenames, renameDetector
 
Fields inherited from class org.gitective.core.filter.commit.CommitFilter
repository
 
Fields inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
ALL, MERGE_BASE, NO_MERGES, NONE
 
Constructor Summary
CommitFileImpactFilter()
          Create an impact filter that tracks the 10 most impacting commits
CommitFileImpactFilter(boolean detectRenames)
          Create an impact filter that tracks the 10 most impacting commits
CommitFileImpactFilter(boolean detectRenames, int limit)
          Create an impact filter that retains the given number of most impacting commits
CommitFileImpactFilter(int limit)
          Create an impact filter that retains the given number of most impacting commits
 
Method Summary
 org.eclipse.jgit.revwalk.filter.RevFilter clone()
          Clones this filter.
 SortedSet<CommitImpact> getCommits()
           
 int getLimit()
           
 boolean include(org.eclipse.jgit.revwalk.RevCommit commit, Collection<org.eclipse.jgit.diff.DiffEntry> diffs)
          Handle the differences introduced by given commit.
 Iterator<CommitImpact> iterator()
           
 CommitFilter reset()
          Resets the filter state.
 
Methods inherited from class org.gitective.core.filter.commit.CommitDiffFilter
createTreeWalk, include, include, isFileDiff, setRepository
 
Methods inherited from class org.gitective.core.filter.commit.CommitFilter
include, setStop
 
Methods inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
negate, requiresCommitBody, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CommitFileImpactFilter

public CommitFileImpactFilter(boolean detectRenames,
                              int limit)
Create an impact filter that retains the given number of most impacting commits

Parameters:
detectRenames -
limit -

CommitFileImpactFilter

public CommitFileImpactFilter(boolean detectRenames)
Create an impact filter that tracks the 10 most impacting commits

Parameters:
detectRenames -

CommitFileImpactFilter

public CommitFileImpactFilter()
Create an impact filter that tracks the 10 most impacting commits


CommitFileImpactFilter

public CommitFileImpactFilter(int limit)
Create an impact filter that retains the given number of most impacting commits

Parameters:
limit -
Method Detail

getLimit

public int getLimit()
Returns:
limit

getCommits

public SortedSet<CommitImpact> getCommits()
Returns:
commits

include

public boolean include(org.eclipse.jgit.revwalk.RevCommit commit,
                       Collection<org.eclipse.jgit.diff.DiffEntry> diffs)
Description copied from class: CommitDiffFilter
Handle the differences introduced by given commit.

Sub-classes should override this method. The default implementation returns true in all cases.

Overrides:
include in class CommitDiffFilter
Parameters:
commit - non-null
diffs - non-null
Returns:
true to continue, false to abort

clone

public org.eclipse.jgit.revwalk.filter.RevFilter clone()
Description copied from class: CommitFilter
Clones this filter.

The default implementation throws a UnsupportedOperationException and sub-classes should override if filter cloning is supported.

Overrides:
clone in class CommitFilter
See Also:
RevFilter.clone()

reset

public CommitFilter reset()
Description copied from class: CommitFilter
Resets the filter state. The base implementation does nothing by default and sub-classes should override if custom reset logic exists.

Overrides:
reset in class CommitFilter
Returns:
this filter

iterator

public Iterator<CommitImpact> iterator()
Specified by:
iterator in interface Iterable<CommitImpact>


Copyright © 2011-2012. All Rights Reserved.