org.gitective.core.filter.commit
Class CompositeDiffFilter

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.CompositeDiffFilter
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
AllDiffFilter

public class CompositeDiffFilter
extends CommitDiffFilter

Parent filter for adding child CommitDiffFilter filters

This is an optimization when using multiple CommitDiffFilter instances in a single DepthWalk.RevWalk so the TreeWalk between the current commits and its parent(s) only has to be performed once per commit visited.


Field Summary
protected  CommitDiffFilter[] filters
          Child filters
 
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
CompositeDiffFilter(boolean detectRenames, CommitDiffFilter... filters)
          Create a composite filter with given child filters
CompositeDiffFilter(CommitDiffFilter... filters)
          Create a composite filter with given child filters
 
Method Summary
 CompositeDiffFilter add(CommitDiffFilter... addedFilters)
          Add child filters to this filter.
protected  CommitDiffFilter[] cloneFilters()
          Clone each filter into a new array.
 int getSize()
          Get the number of filters that have been added as a child filter to this filter
 CommitFilter reset()
          Resets the filter state.
 CommitFilter setRepository(org.eclipse.jgit.lib.Repository repository)
          Set the repository for the walk that is about to begin.
 
Methods inherited from class org.gitective.core.filter.commit.CommitDiffFilter
createTreeWalk, include, include, include, isFileDiff
 
Methods inherited from class org.gitective.core.filter.commit.CommitFilter
clone, 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
 

Field Detail

filters

protected CommitDiffFilter[] filters
Child filters

Constructor Detail

CompositeDiffFilter

public CompositeDiffFilter(boolean detectRenames,
                           CommitDiffFilter... filters)
Create a composite filter with given child filters

Parameters:
detectRenames -
filters -

CompositeDiffFilter

public CompositeDiffFilter(CommitDiffFilter... filters)
Create a composite filter with given child filters

Parameters:
filters -
Method Detail

add

public CompositeDiffFilter add(CommitDiffFilter... addedFilters)
Add child filters to this filter.

This method resizes an internal array on each call so it should be called with as many child filters at once instead of once per child filter.

Parameters:
addedFilters -
Returns:
this filter

setRepository

public CommitFilter setRepository(org.eclipse.jgit.lib.Repository repository)
Description copied from class: CommitFilter
Set the repository for the walk that is about to begin.

Overrides:
setRepository in class CommitDiffFilter
Returns:
this filter

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

cloneFilters

protected CommitDiffFilter[] cloneFilters()
Clone each filter into a new array.

Returns:
non-null but possibly empty array of child filters

getSize

public int getSize()
Get the number of filters that have been added as a child filter to this filter

Returns:
number of children filters


Copyright © 2011-2012. All Rights Reserved.