test_class.declarator: tree
test_class.modifier: private
test_class.original_string: private Tree tree;
test_class.type: Tree
test_class.var_name: tree
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UtilsTest.java
test_class.identifier: UtilsTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testGetOrAddTreeCurrentElement() throws Exception {
          Tree result = Utils.getOrAddTree(tree, ".", NodeTypeConstants.NT_OAK_UNSTRUCTURED);
          assertSame(tree, result);
      }
test_case.class_method_signature: UtilsTest.testGetOrAddTreeCurrentElement()
test_case.full_signature: @Test public void testGetOrAddTreeCurrentElement()
test_case.identifier: testGetOrAddTreeCurrentElement
test_case.invocations: getOrAddTree assertSame
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetOrAddTreeCurrentElement()
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/Utils.java
focal_class.identifier: Utils
focal_class.class_method_signature: Utils.Utils()
focal_class.full_signature: private  Utils()
focal_class.identifier: Utils
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Utils()
focal_class.class_method_signature: Utils.getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_class.full_signature: @NotNull static Tree getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_class.identifier: getOrAddTree
focal_class.modifiers: @NotNull static
focal_class.parameters: (@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_class.return: Tree
focal_class.signature: Tree getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_class.class_method_signature: Utils.canHavePasswordExpired(@NotNull String userId, @NotNull ConfigurationParameters config)
focal_class.full_signature: static boolean canHavePasswordExpired(@NotNull String userId, @NotNull ConfigurationParameters config)
focal_class.identifier: canHavePasswordExpired
focal_class.modifiers: static
focal_class.parameters: (@NotNull String userId, @NotNull ConfigurationParameters config)
focal_class.return: boolean
focal_class.signature: boolean canHavePasswordExpired(@NotNull String userId, @NotNull ConfigurationParameters config)
focal_class.class_method_signature: Utils.canHavePasswordExpired(@NotNull User user, @NotNull ConfigurationParameters config)
focal_class.full_signature: static boolean canHavePasswordExpired(@NotNull User user, @NotNull ConfigurationParameters config)
focal_class.identifier: canHavePasswordExpired
focal_class.modifiers: static
focal_class.parameters: (@NotNull User user, @NotNull ConfigurationParameters config)
focal_class.return: boolean
focal_class.signature: boolean canHavePasswordExpired(@NotNull User user, @NotNull ConfigurationParameters config)
focal_method.body: @NotNull
      static Tree getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName) throws AccessDeniedException {
          if (PathUtils.denotesCurrent(relativePath)) {
              return tree;
          } else if (PathUtils.denotesParent(relativePath)) {
              return tree.getParent();
          } else if (relativePath.indexOf('/') == -1) {
              return TreeUtil.getOrAddChild(tree, relativePath, primaryTypeName);
          } else {
              for (String element : PathUtils.elements(relativePath)) {
                  if (PathUtils.denotesParent(element)) {
                      tree = tree.getParent();
                  } else if (!PathUtils.denotesCurrent(element)) {
                      tree = TreeUtil.getOrAddChild(tree, element, primaryTypeName);
                  }  // else . -> skip to next element
              }
              return tree;
          }
      }
focal_method.class_method_signature: Utils.getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_method.full_signature: @NotNull static Tree getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_method.identifier: getOrAddTree
focal_method.invocations: denotesCurrent denotesParent getParent indexOf getOrAddChild elements denotesParent getParent denotesCurrent getOrAddChild
focal_method.modifiers: @NotNull static
focal_method.parameters: (@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)
focal_method.return: Tree
focal_method.signature: Tree getOrAddTree(@NotNull Tree tree, @NotNull String relativePath, @NotNull String primaryTypeName)