Class FilterBuilder

java.lang.Object
org.reflections.util.FilterBuilder
All Implemented Interfaces:
Predicate<String>

public class FilterBuilder extends Object implements Predicate<String>
include/exclude filter builder

 new FilterBuilder().includePackage("java").excludePackage("java.lang")

 FilterBuilder.parsePackages("+java, -java.lang")

 new FilterBuilder().includePattern("java\\..*").excludePackage("java\\.lang\\..*")
 
note that includePackage/excludePackage value is mapped into a prefix pattern with a trailing dot, for example: includePackage("a.b") is equivalent to includePattern("a\\.b\\..*)
  • Field Details

  • Constructor Details

  • Method Details

    • includePackage

      public FilterBuilder includePackage(String value)
      include package prefix
      new FilterBuilder().includePackage("java.lang")
      note that the value is mapped into a prefix pattern with a trailing dot, for example "a.b" == "a\\.b\\..*

      see more in prefixPattern(String)

    • excludePackage

      public FilterBuilder excludePackage(String value)
      exclude package prefix
      new FilterBuilder().excludePackage("java.lang")
      note that the value is mapped into a prefix pattern with a trailing dot, for example "a.b" == "a\\.b\\..*

      see more in prefixPattern(String)

    • includePattern

      public FilterBuilder includePattern(String regex)
      include regular expression
      new FilterBuilder().includePattern("java\\.lang\\..*")
      see also includePackage(String)
    • excludePattern

      public FilterBuilder excludePattern(String regex)
      exclude regular expression
      new FilterBuilder().excludePattern("java\\.lang\\..*")
      see also excludePackage(String)
    • include

      @Deprecated public FilterBuilder include(String regex)
      Deprecated.
      include a regular expression

      deprecated, use includePattern(String)

    • exclude

      @Deprecated public FilterBuilder exclude(String regex)
      Deprecated.
      exclude a regular expression

      deprecated, use excludePattern(String)

    • parsePackages

      public static FilterBuilder parsePackages(String includeExcludeString)
      Parses csv of include/exclude package prefix filter, where each value starting with +/-
      FilterBuilder.parsePackages("-java, -javax, +java.util")
      each value is mapped into a prefix pattern with a trailing dot, for example "a.b" == "a\\.b\\..*. see more in prefixPattern(String)
    • add

      public FilterBuilder add(Predicate<String> filter)
    • test

      public boolean test(String regex)
      Specified by:
      test in interface Predicate<String>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • prefixPattern

      private static String prefixPattern(String fqn)
      maps fqn to prefix pattern with a trailing dot, for example packageNamePrefix("a.b") == "a\\.b\\..*