Class FilterBuilder
- java.lang.Object
-
- org.reflections.util.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.*");
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFilterBuilder.Excludestatic classFilterBuilder.Includestatic classFilterBuilder.Matcher
-
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()privateFilterBuilder(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 FilterBuilderadd(java.util.function.Predicate<java.lang.String> filter)add a Predicate to the chain of predicatesFilterBuilderexclude(java.lang.String regex)exclude a regular expressionFilterBuilderexcludePackage(java.lang.Class<?> aClass)exclude a package of a given classFilterBuilderexcludePackage(java.lang.String prefix)exclude a package of a given prefixFilterBuilderinclude(java.lang.String regex)include a regular expressionFilterBuilderincludePackage(java.lang.Class<?> aClass)include a package of a given classFilterBuilderincludePackage(java.lang.String... prefixes)include packages of given prefixesprivate static java.lang.StringpackageNameRegex(java.lang.Class<?> aClass)static FilterBuilderparse(java.lang.String includeExcludeString)Parses a string representation of an include/exclude filter.static FilterBuilderparsePackages(java.lang.String includeExcludeString)Parses a string representation of an include/exclude filter.static java.lang.Stringprefix(java.lang.String qualifiedName)booleantest(java.lang.String regex)java.lang.StringtoString()
-
-
-
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:
toStringin classjava.lang.Object
-
test
public boolean test(java.lang.String regex)
- Specified by:
testin interfacejava.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.
-
-