test_class.declarator: vMgr
test_class.modifier: private
test_class.original_string: private ReadOnlyVersionManager vMgr;
test_class.type: ReadOnlyVersionManager
test_class.var_name: vMgr
test_class.declarator: pp
test_class.modifier: private
test_class.original_string: private PermissionProvider pp;
test_class.type: PermissionProvider
test_class.var_name: pp
test_class.declarator: testTree
test_class.modifier: private
test_class.original_string: private Tree testTree;
test_class.type: Tree
test_class.var_name: testTree
test_class.declarator: vpField
test_class.modifier: private
test_class.original_string: private Field vpField;
test_class.type: Field
test_class.var_name: vpField
test_class.declarator: tpImplTree
test_class.modifier: private
test_class.original_string: private Field tpImplTree;
test_class.type: Field
test_class.var_name: tpImplTree
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/VersionTreePermissionTest.java
test_class.identifier: VersionTreePermissionTest
test_class.interfaces: implements NodeTypeConstants
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testGetChild() throws Exception {
          Tree versionHistory = checkNotNull(vMgr.getVersionHistory(testTree));
  
          Tree t = getRootProvider().createReadOnlyRoot(root).getTree("/");
          TreePermission tp = pp.getTreePermission(t, TreePermission.EMPTY);
          for (String name : PathUtils.elements(versionHistory.getPath())) {
              t = t.getChild(name);
              tp = tp.getChildPermission(name, getTreeProvider().asNodeState(t));
          }
  
          String expectedPath = "/test";
          assertVersionPermission(tp, "/test", true);
  
          NodeState ns = getTreeProvider().asNodeState(t.getChild("1.0"));
          tp = tp.getChildPermission("1.0", ns);
          assertVersionPermission(tp, "/test", true);
  
          ns = ns.getChildNode(JCR_FROZENNODE);
          tp = tp.getChildPermission(JCR_FROZENNODE, ns);
          assertVersionPermission(tp, "/test", true);
  
          for (String name : new String[] {"a", "b", "c"}) {
              ns = ns.getChildNode(name);
              expectedPath = PathUtils.concat(expectedPath, name);
  
              tp = tp.getChildPermission(name, ns);
              assertVersionPermission(tp, expectedPath, true);
          }
      }
test_case.class_method_signature: VersionTreePermissionTest.testGetChild()
test_case.full_signature: @Test public void testGetChild()
test_case.identifier: testGetChild
test_case.invocations: checkNotNull getVersionHistory getTree createReadOnlyRoot getRootProvider getTreePermission elements getPath getChild getChildPermission asNodeState getTreeProvider assertVersionPermission asNodeState getTreeProvider getChild getChildPermission assertVersionPermission getChildNode getChildPermission assertVersionPermission getChildNode concat getChildPermission assertVersionPermission
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetChild()
focal_class.declarator: NT_NAMES = ImmutableSet.of(NT_VERSION, NT_VERSIONLABELS)
focal_class.modifier: private static final
focal_class.original_string: private static final Set<String> NT_NAMES = ImmutableSet.of(NT_VERSION, NT_VERSIONLABELS);
focal_class.type: Set<String>
focal_class.var_name: NT_NAMES
focal_class.declarator: versionTree
focal_class.modifier: private final
focal_class.original_string: private final Tree versionTree;
focal_class.type: Tree
focal_class.var_name: versionTree
focal_class.declarator: versionablePermission
focal_class.modifier: private final
focal_class.original_string: private final TreePermission versionablePermission;
focal_class.type: TreePermission
focal_class.var_name: versionablePermission
focal_class.declarator: treeProvider
focal_class.modifier: private final
focal_class.original_string: private final TreeProvider treeProvider;
focal_class.type: TreeProvider
focal_class.var_name: treeProvider
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/VersionTreePermission.java
focal_class.identifier: VersionTreePermission
focal_class.interfaces: implements TreePermission, VersionConstants
focal_class.class_method_signature: VersionTreePermission.VersionTreePermission(@NotNull Tree versionTree, @NotNull TreePermission versionablePermission, @NotNull TreeProvider treeProvider)
focal_class.full_signature:   VersionTreePermission(@NotNull Tree versionTree, @NotNull TreePermission versionablePermission, @NotNull TreeProvider treeProvider)
focal_class.identifier: VersionTreePermission
focal_class.parameters: (@NotNull Tree versionTree, @NotNull TreePermission versionablePermission, @NotNull TreeProvider treeProvider)
focal_class.signature:  VersionTreePermission(@NotNull Tree versionTree, @NotNull TreePermission versionablePermission, @NotNull TreeProvider treeProvider)
focal_class.class_method_signature: VersionTreePermission.createChildPermission(@NotNull Tree versionTree)
focal_class.full_signature: @NotNull VersionTreePermission createChildPermission(@NotNull Tree versionTree)
focal_class.identifier: createChildPermission
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull Tree versionTree)
focal_class.return: VersionTreePermission
focal_class.signature: VersionTreePermission createChildPermission(@NotNull Tree versionTree)
focal_class.class_method_signature: VersionTreePermission.getChildPermission(@NotNull String childName, @NotNull NodeState childState)
focal_class.full_signature: @NotNull @Override public TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState)
focal_class.identifier: getChildPermission
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull String childName, @NotNull NodeState childState)
focal_class.return: TreePermission
focal_class.signature: TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState)
focal_class.class_method_signature: VersionTreePermission.canRead()
focal_class.full_signature: @Override public boolean canRead()
focal_class.identifier: canRead
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean canRead()
focal_class.class_method_signature: VersionTreePermission.canRead(@NotNull PropertyState property)
focal_class.full_signature: @Override public boolean canRead(@NotNull PropertyState property)
focal_class.identifier: canRead
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull PropertyState property)
focal_class.return: boolean
focal_class.signature: boolean canRead(@NotNull PropertyState property)
focal_class.class_method_signature: VersionTreePermission.canReadAll()
focal_class.full_signature: @Override public boolean canReadAll()
focal_class.identifier: canReadAll
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean canReadAll()
focal_class.class_method_signature: VersionTreePermission.canReadProperties()
focal_class.full_signature: @Override public boolean canReadProperties()
focal_class.identifier: canReadProperties
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean canReadProperties()
focal_class.class_method_signature: VersionTreePermission.isGranted(long permissions)
focal_class.full_signature: @Override public boolean isGranted(long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(long permissions)
focal_class.class_method_signature: VersionTreePermission.isGranted(long permissions, @NotNull PropertyState property)
focal_class.full_signature: @Override public boolean isGranted(long permissions, @NotNull PropertyState property)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (long permissions, @NotNull PropertyState property)
focal_class.return: boolean
focal_class.signature: boolean isGranted(long permissions, @NotNull PropertyState property)
focal_method.body: @NotNull
      @Override
      public TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState) {
          return createChildPermission(treeProvider.createReadOnlyTree(versionTree, childName, childState));
      }
focal_method.class_method_signature: VersionTreePermission.getChildPermission(@NotNull String childName, @NotNull NodeState childState)
focal_method.full_signature: @NotNull @Override public TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState)
focal_method.identifier: getChildPermission
focal_method.invocations: createChildPermission createReadOnlyTree
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull String childName, @NotNull NodeState childState)
focal_method.return: TreePermission
focal_method.signature: TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState)