org.eclipse.jgit.revwalk.filter
Class SubStringRevFilter

java.lang.Object
  extended by org.eclipse.jgit.revwalk.filter.RevFilter
      extended by org.eclipse.jgit.revwalk.filter.SubStringRevFilter

public abstract class SubStringRevFilter
extends RevFilter

Abstract filter that searches text using only substring search.


Field Summary
 
Fields inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
ALL, MERGE_BASE, NO_MERGES, NONE
 
Constructor Summary
protected SubStringRevFilter(String patternText)
          Construct a new matching filter.
 
Method Summary
 RevFilter clone()
          Clone this revision filter, including its parameters.
 boolean include(RevWalk walker, RevCommit cmit)
          Determine if the supplied commit should be included in results.
 boolean requiresCommitBody()
           
static boolean safe(String pattern)
          Can this string be safely handled by a substring filter?
protected abstract  RawCharSequence text(RevCommit cmit)
          Obtain the raw text to match against.
 String toString()
           
 
Methods inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
negate
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SubStringRevFilter

protected SubStringRevFilter(String patternText)
Construct a new matching filter.

Parameters:
patternText - text to locate. This should be a safe string as described by the safe(String) as regular expression meta characters are treated as literals.
Method Detail

safe

public static boolean safe(String pattern)
Can this string be safely handled by a substring filter?

Parameters:
pattern - the pattern text proposed by the user.
Returns:
true if a substring filter can perform this pattern match; false if PatternMatchRevFilter must be used instead.

include

public boolean include(RevWalk walker,
                       RevCommit cmit)
                throws MissingObjectException,
                       IncorrectObjectTypeException,
                       IOException
Description copied from class: RevFilter
Determine if the supplied commit should be included in results.

Specified by:
include in class RevFilter
Parameters:
walker - the active walker this filter is being invoked from within.
cmit - the commit currently being tested. The commit has been parsed and its body is available for inspection only if the filter returns true from RevFilter.requiresCommitBody().
Returns:
true to include this commit in the results; false to have this commit be omitted entirely from the results.
Throws:
MissingObjectException - an object the filter needs to consult to determine its answer does not exist in the Git repository the walker is operating on. Filtering this commit is impossible without the object.
IncorrectObjectTypeException - an object the filter needed to consult was not of the expected object type. This usually indicates a corrupt repository, as an object link is referencing the wrong type.
IOException - a loose object or pack file could not be read to obtain data necessary for the filter to make its decision.

requiresCommitBody

public boolean requiresCommitBody()
Overrides:
requiresCommitBody in class RevFilter
Returns:
true if the filter needs the commit body to be parsed.

text

protected abstract RawCharSequence text(RevCommit cmit)
Obtain the raw text to match against.

Parameters:
cmit - current commit being evaluated.
Returns:
sequence for the commit's content that we need to match on.

clone

public RevFilter clone()
Description copied from class: RevFilter
Clone this revision filter, including its parameters.

This is a deep clone. If this filter embeds objects or other filters it must also clone those, to ensure the instances do not share mutable data.

Specified by:
clone in class RevFilter
Returns:
another copy of this filter, suitable for another thread.

toString

public String toString()
Overrides:
toString in class RevFilter


Copyright © 2012. All Rights Reserved.