test_class.file: oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPathsTest.java
test_class.identifier: SupportedPathsTest
test_case.body: @Test
      public void testMayContainCug() {
          SupportedPaths supportedPaths = new SupportedPaths(ImmutableSet.of("/content/a"));
  
          Map<String, Boolean> pathMap = new HashMap<>();
          pathMap.put("/", true);
          pathMap.put("/content", true);
          pathMap.put("/jcr:system", false);
          pathMap.put("/testRoot", false);
          pathMap.put("/some/other/path", false);
          pathMap.put("/content/a", false);
          pathMap.put("/content/a/b", false);
  
          for (String path : pathMap.keySet()) {
              boolean expected = pathMap.get(path);
              assertEquals(path, expected, supportedPaths.mayContainCug(path));
          }
      }
test_case.class_method_signature: SupportedPathsTest.testMayContainCug()
test_case.full_signature: @Test public void testMayContainCug()
test_case.identifier: testMayContainCug
test_case.invocations: of put put put put put put put keySet get assertEquals mayContainCug
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMayContainCug()
focal_class.declarator: supportedPaths
focal_class.modifier: private final
focal_class.original_string: private final String[] supportedPaths;
focal_class.type: String[]
focal_class.var_name: supportedPaths
focal_class.declarator: supportedAltPaths
focal_class.modifier: private final
focal_class.original_string: private final String[] supportedAltPaths;
focal_class.type: String[]
focal_class.var_name: supportedAltPaths
focal_class.declarator: includesRootPath
focal_class.modifier: private final
focal_class.original_string: private final boolean includesRootPath;
focal_class.type: boolean
focal_class.var_name: includesRootPath
focal_class.file: oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/SupportedPaths.java
focal_class.identifier: SupportedPaths
focal_class.class_method_signature: SupportedPaths.SupportedPaths(@NotNull Set<String> supportedPaths)
focal_class.full_signature:   SupportedPaths(@NotNull Set<String> supportedPaths)
focal_class.identifier: SupportedPaths
focal_class.parameters: (@NotNull Set<String> supportedPaths)
focal_class.signature:  SupportedPaths(@NotNull Set<String> supportedPaths)
focal_class.class_method_signature: SupportedPaths.includes(@NotNull String path)
focal_class.full_signature:  boolean includes(@NotNull String path)
focal_class.identifier: includes
focal_class.parameters: (@NotNull String path)
focal_class.return: boolean
focal_class.signature: boolean includes(@NotNull String path)
focal_class.class_method_signature: SupportedPaths.mayContainCug(@NotNull String path)
focal_class.full_signature:  boolean mayContainCug(@NotNull String path)
focal_class.identifier: mayContainCug
focal_class.parameters: (@NotNull String path)
focal_class.return: boolean
focal_class.signature: boolean mayContainCug(@NotNull String path)
focal_method.body: boolean mayContainCug(@NotNull String path) {
          if (supportedPaths.length == 0) {
              return false;
          }
          if (includesRootPath || PathUtils.denotesRoot(path)) {
              return true;
          }
          String path2 = path + '/';
          for (String sp : supportedPaths) {
              if (sp.startsWith(path2)) {
                  return true;
              }
          }
          return false;
      }
focal_method.class_method_signature: SupportedPaths.mayContainCug(@NotNull String path)
focal_method.full_signature:  boolean mayContainCug(@NotNull String path)
focal_method.identifier: mayContainCug
focal_method.invocations: denotesRoot startsWith
focal_method.parameters: (@NotNull String path)
focal_method.return: boolean
focal_method.signature: boolean mayContainCug(@NotNull String path)