Class AbstractFilePredicate

java.lang.Object
org.sonar.api.batch.fs.internal.predicates.AbstractFilePredicate
All Implemented Interfaces:
Comparable<OptimizedFilePredicate>, org.sonar.api.batch.fs.FilePredicate, OptimizedFilePredicate
Direct Known Subclasses:
FileExtensionPredicate, FilenamePredicate, OptimizedFilePredicateAdapter, RelativePathPredicate, StatusPredicate

public abstract class AbstractFilePredicate extends Object implements OptimizedFilePredicate
Partial implementation of OptimizedFilePredicate.
Since:
5.1
  • Field Details

  • Constructor Details

    • AbstractFilePredicate

      public AbstractFilePredicate()
  • Method Details

    • filter

      public Iterable<org.sonar.api.batch.fs.InputFile> filter(Iterable<org.sonar.api.batch.fs.InputFile> target)
      Description copied from interface: OptimizedFilePredicate
      Filter provided files to keep only the ones that are valid for this predicate
      Specified by:
      filter in interface OptimizedFilePredicate
    • get

      public Iterable<org.sonar.api.batch.fs.InputFile> get(org.sonar.api.batch.fs.FileSystem.Index index)
      Description copied from interface: OptimizedFilePredicate
      Get all files that are valid for this predicate.
      Specified by:
      get in interface OptimizedFilePredicate
    • priority

      public int priority()
      Description copied from interface: OptimizedFilePredicate
      For optimization. FilePredicates will be applied in priority order. For example when doing p.and(p1, p2, p3) then p1, p2 and p3 will be applied according to their priority value. Higher priority value are applied first. Assign a high priority when the predicate will likely highly reduce the set of InputFiles to filter. Also RelativePathPredicate and AbsolutePathPredicate have a high priority since they are using cache index.
      Specified by:
      priority in interface OptimizedFilePredicate
    • compareTo

      public final int compareTo(OptimizedFilePredicate o)
      Specified by:
      compareTo in interface Comparable<OptimizedFilePredicate>