Class PathFilter
- java.lang.Object
-
- org.apache.jackrabbit.oak.spi.filter.PathFilter
-
public class PathFilter extends Object
Filter which determines whether given path should be included for processing or not
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PathFilter.Result
-
Field Summary
Fields Modifier and Type Field Description static String
PROP_EXCLUDED_PATHS
Multi value property name used to determine list of paths to be excludedstatic String
PROP_INCLUDED_PATHS
Multi value property name used to determine list of paths to be included
-
Constructor Summary
Constructors Constructor Description PathFilter(Iterable<String> includes, Iterable<String> excludes)
Constructs the predicate with given included and excluded paths
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areAllDescendantsIncluded(String path)
Check whether this node and all descendants are included in this filter.PathFilter.Result
filter(@NotNull String path)
Determines whether given path is to be included or notstatic PathFilter
from(@NotNull NodeBuilder defn)
Constructs the predicate based on given definition state.List<String>
getExcludedPaths()
List<String>
getIncludedPaths()
static Iterable<String>
getStrings(PropertyState ps, Set<String> defaultValues)
String
toString()
-
-
-
Field Detail
-
PROP_INCLUDED_PATHS
public static final String PROP_INCLUDED_PATHS
Multi value property name used to determine list of paths to be included- See Also:
- Constant Field Values
-
PROP_EXCLUDED_PATHS
public static final String PROP_EXCLUDED_PATHS
Multi value property name used to determine list of paths to be excluded- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PathFilter
public PathFilter(Iterable<String> includes, Iterable<String> excludes)
Constructs the predicate with given included and excluded pathsIf both are empty then all paths would be considered to be included
- Parameters:
includes
- list of paths which should be includedexcludes
- list of paths which should not be included
-
-
Method Detail
-
from
public static PathFilter from(@NotNull @NotNull NodeBuilder defn)
Constructs the predicate based on given definition state. It looks for multi value property with namesPROP_INCLUDED_PATHS
andPROP_EXCLUDED_PATHS
. Both the properties are optional. If the properties are defined as String instead of Strings, then they are interpreted as a single-element list.- Parameters:
defn
- nodestate representing the configuration. Generally it would be the nodestate representing the index definition- Returns:
- predicate based on the passed definition state
-
getStrings
public static Iterable<String> getStrings(PropertyState ps, Set<String> defaultValues)
-
filter
public PathFilter.Result filter(@NotNull @NotNull String path)
Determines whether given path is to be included or not- Parameters:
path
- path to check- Returns:
- result indicating if the path needs to be included, excluded or just traversed
-
areAllDescendantsIncluded
public boolean areAllDescendantsIncluded(String path)
Check whether this node and all descendants are included in this filter.- Parameters:
path
- the path- Returns:
- true if this and all descendants of this path are included in the filter
-
-