test_class.file: oak-store-spi/src/test/java/org/apache/jackrabbit/oak/spi/filter/PathFilterTest.java
test_class.identifier: PathFilterTest
test_case.body: @Test
      public void exclude() throws Exception {
          PathFilter p = new PathFilter(of("/"), of("/etc"));
          assertEquals(PathFilter.Result.INCLUDE, p.filter("/"));
          assertEquals(PathFilter.Result.INCLUDE, p.filter("/a"));
          assertEquals(PathFilter.Result.EXCLUDE, p.filter("/etc"));
          assertEquals(PathFilter.Result.EXCLUDE, p.filter("/etc/workflow"));
      }
test_case.class_method_signature: PathFilterTest.exclude()
test_case.full_signature: @Test public void exclude()
test_case.identifier: exclude
test_case.invocations: of of assertEquals filter assertEquals filter assertEquals filter assertEquals filter
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void exclude()
focal_class.declarator: INCLUDE_ROOT = singletonList("/")
focal_class.modifier: private static final
focal_class.original_string: private static final Collection<String> INCLUDE_ROOT = singletonList("/");
focal_class.type: Collection<String>
focal_class.var_name: INCLUDE_ROOT
focal_class.declarator: PROP_INCLUDED_PATHS = "includedPaths"
focal_class.modifier: public static final
focal_class.original_string: public static final String PROP_INCLUDED_PATHS = "includedPaths";
focal_class.type: String
focal_class.var_name: PROP_INCLUDED_PATHS
focal_class.declarator: PROP_EXCLUDED_PATHS = "excludedPaths"
focal_class.modifier: public static final
focal_class.original_string: public static final String PROP_EXCLUDED_PATHS = "excludedPaths";
focal_class.type: String
focal_class.var_name: PROP_EXCLUDED_PATHS
focal_class.declarator: ALL = new PathFilter(INCLUDE_ROOT, Collections.<String>emptyList()) {
          @Override
          public Result filter(@NotNull String path) {
              return Result.INCLUDE;
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final PathFilter ALL = new PathFilter(INCLUDE_ROOT, Collections.<String>emptyList()) {
          @Override
          public Result filter(@NotNull String path) {
              return Result.INCLUDE;
          }
      };
focal_class.type: PathFilter
focal_class.var_name: ALL
focal_class.declarator: includedPaths
focal_class.modifier: private final
focal_class.original_string: private final String[] includedPaths;
focal_class.type: String[]
focal_class.var_name: includedPaths
focal_class.declarator: excludedPaths
focal_class.modifier: private final
focal_class.original_string: private final String[] excludedPaths;
focal_class.type: String[]
focal_class.var_name: excludedPaths
focal_class.file: oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/filter/PathFilter.java
focal_class.identifier: PathFilter
focal_class.class_method_signature: PathFilter.from(@NotNull NodeBuilder defn)
focal_class.full_signature: public static PathFilter from(@NotNull NodeBuilder defn)
focal_class.identifier: from
focal_class.modifiers: public static
focal_class.parameters: (@NotNull NodeBuilder defn)
focal_class.return: PathFilter
focal_class.signature: PathFilter from(@NotNull NodeBuilder defn)
focal_class.class_method_signature: PathFilter.PathFilter(Iterable<String> includes, Iterable<String> excludes)
focal_class.full_signature: public  PathFilter(Iterable<String> includes, Iterable<String> excludes)
focal_class.identifier: PathFilter
focal_class.modifiers: public
focal_class.parameters: (Iterable<String> includes, Iterable<String> excludes)
focal_class.signature:  PathFilter(Iterable<String> includes, Iterable<String> excludes)
focal_class.class_method_signature: PathFilter.filter(@NotNull String path)
focal_class.full_signature: public Result filter(@NotNull String path)
focal_class.identifier: filter
focal_class.modifiers: public
focal_class.parameters: (@NotNull String path)
focal_class.return: Result
focal_class.signature: Result filter(@NotNull String path)
focal_class.class_method_signature: PathFilter.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: PathFilter.getStrings(NodeBuilder builder, String propertyName, 
              Collection<String> defaultVal)
focal_class.full_signature: private static Iterable<String> getStrings(NodeBuilder builder, String propertyName, 
              Collection<String> defaultVal)
focal_class.identifier: getStrings
focal_class.modifiers: private static
focal_class.parameters: (NodeBuilder builder, String propertyName, 
              Collection<String> defaultVal)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> getStrings(NodeBuilder builder, String propertyName, 
              Collection<String> defaultVal)
focal_class.class_method_signature: PathFilter.areAllDescendantsIncluded(String path)
focal_class.full_signature: public boolean areAllDescendantsIncluded(String path)
focal_class.identifier: areAllDescendantsIncluded
focal_class.modifiers: public
focal_class.parameters: (String path)
focal_class.return: boolean
focal_class.signature: boolean areAllDescendantsIncluded(String path)
focal_method.body: public Result filter(@NotNull String path) {
          for (String excludedPath : excludedPaths) {
              if (excludedPath.equals(path) || isAncestor(excludedPath, path)) {
                  return Result.EXCLUDE;
              }
          }
  
          for (String includedPath : includedPaths) {
              if (includedPath.equals(path) || isAncestor(includedPath, path)) {
                  return Result.INCLUDE;
              }
          }
  
          for (String includedPath : includedPaths) {
              if (isAncestor(path, includedPath)) {
                  return Result.TRAVERSE;
              }
          }
  
          return Result.EXCLUDE;
      }
focal_method.class_method_signature: PathFilter.filter(@NotNull String path)
focal_method.full_signature: public Result filter(@NotNull String path)
focal_method.identifier: filter
focal_method.invocations: equals isAncestor equals isAncestor isAncestor
focal_method.modifiers: public
focal_method.parameters: (@NotNull String path)
focal_method.return: Result
focal_method.signature: Result filter(@NotNull String path)