Class FilterBuilder

  • All Implemented Interfaces:
    java.util.function.Predicate<java.lang.String>

    public class FilterBuilder
    extends java.lang.Object
    implements java.util.function.Predicate<java.lang.String>
    Builds include/exclude filters for Reflections.

    For example:

     Predicate filter1 = FilterBuilder.parsePackages("-java, "-javax");
     Predicate filter2 = new FilterBuilder().include(".*").exclude("java.*");
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.util.function.Predicate<java.lang.String>> chain  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        FilterBuilder()  
      private FilterBuilder​(java.util.Collection<java.util.function.Predicate<java.lang.String>> filters)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      FilterBuilder add​(java.util.function.Predicate<java.lang.String> filter)
      add a Predicate to the chain of predicates
      FilterBuilder exclude​(java.lang.String regex)
      exclude a regular expression
      FilterBuilder excludePackage​(java.lang.Class<?> aClass)
      exclude a package of a given class
      FilterBuilder excludePackage​(java.lang.String prefix)
      exclude a package of a given prefix
      FilterBuilder include​(java.lang.String regex)
      include a regular expression
      FilterBuilder includePackage​(java.lang.Class<?> aClass)
      include a package of a given class
      FilterBuilder includePackage​(java.lang.String... prefixes)
      include packages of given prefixes
      private static java.lang.String packageNameRegex​(java.lang.Class<?> aClass)  
      static FilterBuilder parse​(java.lang.String includeExcludeString)
      Parses a string representation of an include/exclude filter.
      static FilterBuilder parsePackages​(java.lang.String includeExcludeString)
      Parses a string representation of an include/exclude filter.
      static java.lang.String prefix​(java.lang.String qualifiedName)  
      boolean test​(java.lang.String regex)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.function.Predicate

        and, negate, or
    • Field Detail

      • chain

        private final java.util.List<java.util.function.Predicate<java.lang.String>> chain
    • Constructor Detail

      • FilterBuilder

        public FilterBuilder()
      • FilterBuilder

        private FilterBuilder​(java.util.Collection<java.util.function.Predicate<java.lang.String>> filters)
    • Method Detail

      • include

        public FilterBuilder include​(java.lang.String regex)
        include a regular expression
      • exclude

        public FilterBuilder exclude​(java.lang.String regex)
        exclude a regular expression
      • add

        public FilterBuilder add​(java.util.function.Predicate<java.lang.String> filter)
        add a Predicate to the chain of predicates
      • includePackage

        public FilterBuilder includePackage​(java.lang.Class<?> aClass)
        include a package of a given class
      • excludePackage

        public FilterBuilder excludePackage​(java.lang.Class<?> aClass)
        exclude a package of a given class
      • includePackage

        public FilterBuilder includePackage​(java.lang.String... prefixes)
        include packages of given prefixes
      • excludePackage

        public FilterBuilder excludePackage​(java.lang.String prefix)
        exclude a package of a given prefix
      • packageNameRegex

        private static java.lang.String packageNameRegex​(java.lang.Class<?> aClass)
      • prefix

        public static java.lang.String prefix​(java.lang.String qualifiedName)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • test

        public boolean test​(java.lang.String regex)
        Specified by:
        test in interface java.util.function.Predicate<java.lang.String>
      • parse

        public static FilterBuilder parse​(java.lang.String includeExcludeString)
        Parses a string representation of an include/exclude filter.

        The given includeExcludeString is a comma separated list of regexes, each starting with either + or - to indicate include/exclude.

        For example parsePackages("-java\\..*, -javax\\..*, -sun\\..*, -com\\.sun\\..*") or parse("+com\\.myn\\..*,-com\\.myn\\.excluded\\..*"). Note that "-java\\..*" will block "java.foo" but not "javax.foo".

        See also the more useful parsePackages(String) method.

      • parsePackages

        public static FilterBuilder parsePackages​(java.lang.String includeExcludeString)
        Parses a string representation of an include/exclude filter.

        The given includeExcludeString is a comma separated list of package name segments, each starting with either + or - to indicate include/exclude.

        For example parsePackages("-java, -javax, -sun, -com.sun") or parse("+com.myn,-com.myn.excluded"). Note that "-java" will block "java.foo" but not "javax.foo".

        The input strings "-java" and "-java." are equivalent.