test_class.declarator: testName = "testRoot"
test_class.modifier: private final
test_class.original_string: private final String testName = "testRoot";
test_class.type: String
test_class.var_name: testName
test_class.declarator: testPath = '/' + testName
test_class.modifier: private final
test_class.original_string: private final String testPath = '/' + testName;
test_class.type: String
test_class.var_name: testPath
test_class.declarator: aceName = "validAce"
test_class.modifier: private final
test_class.original_string: private final String aceName = "validAce";
test_class.type: String
test_class.var_name: aceName
test_class.declarator: testPrincipal
test_class.modifier: private
test_class.original_string: private Principal testPrincipal;
test_class.type: Principal
test_class.var_name: testPrincipal
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidatorTest.java
test_class.identifier: AccessControlValidatorTest
test_class.interfaces: implements AccessControlConstants
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void hiddenNodeChanged() throws CommitFailedException {
          AccessControlValidatorProvider provider = createValidatorProvider();
          MemoryNodeStore store = new MemoryNodeStore();
          NodeBuilder builder = store.getRoot().builder();
          builder.child("test").child(":hidden");
          NodeState root = builder.getNodeState();
  
          NodeBuilder test = root.builder().child("test");
          NodeBuilder hidden = test.child(":hidden");
          hidden.child("added");
  
          Validator validator = provider.getRootValidator(
                  root, builder.getNodeState(), CommitInfo.EMPTY);
          Validator childValidator = validator.childNodeChanged(
                  "test", root.getChildNode("test"), test.getNodeState());
          assertNotNull(childValidator);
  
          Validator hiddenValidator = childValidator.childNodeChanged(":hidden", root.getChildNode("test").getChildNode(":hidden"), hidden.getNodeState());
          assertNull(hiddenValidator);
      }
test_case.class_method_signature: AccessControlValidatorTest.hiddenNodeChanged()
test_case.full_signature: @Test public void hiddenNodeChanged()
test_case.identifier: hiddenNodeChanged
test_case.invocations: createValidatorProvider builder getRoot child child getNodeState child builder child child getRootValidator getNodeState childNodeChanged getChildNode getNodeState assertNotNull childNodeChanged getChildNode getChildNode getNodeState assertNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void hiddenNodeChanged()
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.declarator: parentAfter
focal_class.modifier: private final
focal_class.original_string: private final Tree parentAfter;
focal_class.type: Tree
focal_class.var_name: parentAfter
focal_class.declarator: privilegeBitsProvider
focal_class.modifier: private final
focal_class.original_string: private final PrivilegeBitsProvider privilegeBitsProvider;
focal_class.type: PrivilegeBitsProvider
focal_class.var_name: privilegeBitsProvider
focal_class.declarator: privilegeManager
focal_class.modifier: private final
focal_class.original_string: private final PrivilegeManager privilegeManager;
focal_class.type: PrivilegeManager
focal_class.var_name: privilegeManager
focal_class.declarator: restrictionProvider
focal_class.modifier: private final
focal_class.original_string: private final RestrictionProvider restrictionProvider;
focal_class.type: RestrictionProvider
focal_class.var_name: restrictionProvider
focal_class.declarator: isRepoAccessControllable
focal_class.modifier: private final
focal_class.original_string: private final TypePredicate isRepoAccessControllable;
focal_class.type: TypePredicate
focal_class.var_name: isRepoAccessControllable
focal_class.declarator: isAccessControllable
focal_class.modifier: private final
focal_class.original_string: private final TypePredicate isAccessControllable;
focal_class.type: TypePredicate
focal_class.var_name: isAccessControllable
focal_class.declarator: ctx
focal_class.modifier: private final
focal_class.original_string: private final Context ctx;
focal_class.type: Context
focal_class.var_name: ctx
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
focal_class.identifier: AccessControlValidator
focal_class.interfaces: implements AccessControlConstants
focal_class.class_method_signature: AccessControlValidator.AccessControlValidator(@NotNull NodeState parentAfter,
                             @NotNull PrivilegeManager privilegeManager,
                             @NotNull PrivilegeBitsProvider privilegeBitsProvider,
                             @NotNull RestrictionProvider restrictionProvider,
                             @NotNull ProviderCtx providerCtx)
focal_class.full_signature:   AccessControlValidator(@NotNull NodeState parentAfter,
                             @NotNull PrivilegeManager privilegeManager,
                             @NotNull PrivilegeBitsProvider privilegeBitsProvider,
                             @NotNull RestrictionProvider restrictionProvider,
                             @NotNull ProviderCtx providerCtx)
focal_class.identifier: AccessControlValidator
focal_class.parameters: (@NotNull NodeState parentAfter,
                             @NotNull PrivilegeManager privilegeManager,
                             @NotNull PrivilegeBitsProvider privilegeBitsProvider,
                             @NotNull RestrictionProvider restrictionProvider,
                             @NotNull ProviderCtx providerCtx)
focal_class.signature:  AccessControlValidator(@NotNull NodeState parentAfter,
                             @NotNull PrivilegeManager privilegeManager,
                             @NotNull PrivilegeBitsProvider privilegeBitsProvider,
                             @NotNull RestrictionProvider restrictionProvider,
                             @NotNull ProviderCtx providerCtx)
focal_class.class_method_signature: AccessControlValidator.AccessControlValidator(AccessControlValidator parent, Tree parentAfter)
focal_class.full_signature: private  AccessControlValidator(AccessControlValidator parent, Tree parentAfter)
focal_class.identifier: AccessControlValidator
focal_class.modifiers: private
focal_class.parameters: (AccessControlValidator parent, Tree parentAfter)
focal_class.signature:  AccessControlValidator(AccessControlValidator parent, Tree parentAfter)
focal_class.class_method_signature: AccessControlValidator.propertyAdded(PropertyState after)
focal_class.full_signature: @Override public void propertyAdded(PropertyState after)
focal_class.identifier: propertyAdded
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState after)
focal_class.return: void
focal_class.signature: void propertyAdded(PropertyState after)
focal_class.class_method_signature: AccessControlValidator.propertyChanged(PropertyState before, PropertyState after)
focal_class.full_signature: @Override public void propertyChanged(PropertyState before, PropertyState after)
focal_class.identifier: propertyChanged
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before, PropertyState after)
focal_class.return: void
focal_class.signature: void propertyChanged(PropertyState before, PropertyState after)
focal_class.class_method_signature: AccessControlValidator.propertyDeleted(PropertyState before)
focal_class.full_signature: @Override public void propertyDeleted(PropertyState before)
focal_class.identifier: propertyDeleted
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before)
focal_class.return: void
focal_class.signature: void propertyDeleted(PropertyState before)
focal_class.class_method_signature: AccessControlValidator.childNodeAdded(String name, NodeState after)
focal_class.full_signature: @Override public Validator childNodeAdded(String name, NodeState after)
focal_class.identifier: childNodeAdded
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState after)
focal_class.return: Validator
focal_class.signature: Validator childNodeAdded(String name, NodeState after)
focal_class.class_method_signature: AccessControlValidator.childNodeChanged(String name, NodeState before, NodeState after)
focal_class.full_signature: @Override public Validator childNodeChanged(String name, NodeState before, NodeState after)
focal_class.identifier: childNodeChanged
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState before, NodeState after)
focal_class.return: Validator
focal_class.signature: Validator childNodeChanged(String name, NodeState before, NodeState after)
focal_class.class_method_signature: AccessControlValidator.childNodeDeleted(String name, NodeState before)
focal_class.full_signature: @Override public Validator childNodeDeleted(String name, NodeState before)
focal_class.identifier: childNodeDeleted
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState before)
focal_class.return: Validator
focal_class.signature: Validator childNodeDeleted(String name, NodeState before)
focal_class.class_method_signature: AccessControlValidator.newValidator(AccessControlValidator parent,
                                            Tree parentAfter)
focal_class.full_signature: private static Validator newValidator(AccessControlValidator parent,
                                            Tree parentAfter)
focal_class.identifier: newValidator
focal_class.modifiers: private static
focal_class.parameters: (AccessControlValidator parent,
                                            Tree parentAfter)
focal_class.return: Validator
focal_class.signature: Validator newValidator(AccessControlValidator parent,
                                            Tree parentAfter)
focal_class.class_method_signature: AccessControlValidator.checkValidTree(Tree parentAfter, Tree treeAfter, NodeState nodeAfter)
focal_class.full_signature: private void checkValidTree(Tree parentAfter, Tree treeAfter, NodeState nodeAfter)
focal_class.identifier: checkValidTree
focal_class.modifiers: private
focal_class.parameters: (Tree parentAfter, Tree treeAfter, NodeState nodeAfter)
focal_class.return: void
focal_class.signature: void checkValidTree(Tree parentAfter, Tree treeAfter, NodeState nodeAfter)
focal_class.class_method_signature: AccessControlValidator.isPolicy(Tree tree)
focal_class.full_signature: private static boolean isPolicy(Tree tree)
focal_class.identifier: isPolicy
focal_class.modifiers: private static
focal_class.parameters: (Tree tree)
focal_class.return: boolean
focal_class.signature: boolean isPolicy(Tree tree)
focal_class.class_method_signature: AccessControlValidator.isAccessControlEntry(Tree tree)
focal_class.full_signature: private static boolean isAccessControlEntry(Tree tree)
focal_class.identifier: isAccessControlEntry
focal_class.modifiers: private static
focal_class.parameters: (Tree tree)
focal_class.return: boolean
focal_class.signature: boolean isAccessControlEntry(Tree tree)
focal_class.class_method_signature: AccessControlValidator.checkValidPolicy(Tree parent, Tree policyTree, NodeState policyNode)
focal_class.full_signature: private void checkValidPolicy(Tree parent, Tree policyTree, NodeState policyNode)
focal_class.identifier: checkValidPolicy
focal_class.modifiers: private
focal_class.parameters: (Tree parent, Tree policyTree, NodeState policyNode)
focal_class.return: void
focal_class.signature: void checkValidPolicy(Tree parent, Tree policyTree, NodeState policyNode)
focal_class.class_method_signature: AccessControlValidator.checkValidAccessControlledNode(@NotNull Tree accessControlledTree,
                                                         @NotNull TypePredicate requiredMixin,
                                                         @NotNull TreeProvider treeProvider)
focal_class.full_signature: private static void checkValidAccessControlledNode(@NotNull Tree accessControlledTree,
                                                         @NotNull TypePredicate requiredMixin,
                                                         @NotNull TreeProvider treeProvider)
focal_class.identifier: checkValidAccessControlledNode
focal_class.modifiers: private static
focal_class.parameters: (@NotNull Tree accessControlledTree,
                                                         @NotNull TypePredicate requiredMixin,
                                                         @NotNull TreeProvider treeProvider)
focal_class.return: void
focal_class.signature: void checkValidAccessControlledNode(@NotNull Tree accessControlledTree,
                                                         @NotNull TypePredicate requiredMixin,
                                                         @NotNull TreeProvider treeProvider)
focal_class.class_method_signature: AccessControlValidator.checkValidAccessControlEntry(@NotNull Tree aceNode)
focal_class.full_signature: private void checkValidAccessControlEntry(@NotNull Tree aceNode)
focal_class.identifier: checkValidAccessControlEntry
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree aceNode)
focal_class.return: void
focal_class.signature: void checkValidAccessControlEntry(@NotNull Tree aceNode)
focal_class.class_method_signature: AccessControlValidator.checkValidPrincipal(@NotNull Tree aceNode)
focal_class.full_signature: @NotNull private String checkValidPrincipal(@NotNull Tree aceNode)
focal_class.identifier: checkValidPrincipal
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree aceNode)
focal_class.return: String
focal_class.signature: String checkValidPrincipal(@NotNull Tree aceNode)
focal_class.class_method_signature: AccessControlValidator.checkValidPrivileges(@NotNull Tree aceNode)
focal_class.full_signature: private void checkValidPrivileges(@NotNull Tree aceNode)
focal_class.identifier: checkValidPrivileges
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree aceNode)
focal_class.return: void
focal_class.signature: void checkValidPrivileges(@NotNull Tree aceNode)
focal_class.class_method_signature: AccessControlValidator.getPrivilegeNames(@NotNull Tree aceNode)
focal_class.full_signature: @NotNull private Iterable<String> getPrivilegeNames(@NotNull Tree aceNode)
focal_class.identifier: getPrivilegeNames
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree aceNode)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> getPrivilegeNames(@NotNull Tree aceNode)
focal_class.class_method_signature: AccessControlValidator.checkValidRestrictions(@NotNull Tree aceTree)
focal_class.full_signature: private void checkValidRestrictions(@NotNull Tree aceTree)
focal_class.identifier: checkValidRestrictions
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree aceTree)
focal_class.return: void
focal_class.signature: void checkValidRestrictions(@NotNull Tree aceTree)
focal_class.class_method_signature: AccessControlValidator.checkMixinTypes(Tree parentTree)
focal_class.full_signature: private static void checkMixinTypes(Tree parentTree)
focal_class.identifier: checkMixinTypes
focal_class.modifiers: private static
focal_class.parameters: (Tree parentTree)
focal_class.return: void
focal_class.signature: void checkMixinTypes(Tree parentTree)
focal_class.class_method_signature: AccessControlValidator.checkValidRepoAccessControlled(@NotNull Tree accessControlledTree)
focal_class.full_signature: private static void checkValidRepoAccessControlled(@NotNull Tree accessControlledTree)
focal_class.identifier: checkValidRepoAccessControlled
focal_class.modifiers: private static
focal_class.parameters: (@NotNull Tree accessControlledTree)
focal_class.return: void
focal_class.signature: void checkValidRepoAccessControlled(@NotNull Tree accessControlledTree)
focal_class.class_method_signature: AccessControlValidator.accessViolation(int code, String message)
focal_class.full_signature: @NotNull private static CommitFailedException accessViolation(int code, String message)
focal_class.identifier: accessViolation
focal_class.modifiers: @NotNull private static
focal_class.parameters: (int code, String message)
focal_class.return: CommitFailedException
focal_class.signature: CommitFailedException accessViolation(int code, String message)
focal_class.class_method_signature: AccessControlValidator.createAceEntry(@Nullable String path, @NotNull Tree aceTree)
focal_class.full_signature: @NotNull private ValidationEntry createAceEntry(@Nullable String path, @NotNull Tree aceTree)
focal_class.identifier: createAceEntry
focal_class.modifiers: @NotNull private
focal_class.parameters: (@Nullable String path, @NotNull Tree aceTree)
focal_class.return: ValidationEntry
focal_class.signature: ValidationEntry createAceEntry(@Nullable String path, @NotNull Tree aceTree)
focal_class.superclass: extends DefaultValidator
focal_method.body: @Override
      public Validator childNodeChanged(String name, NodeState before, NodeState after) throws CommitFailedException {
          Tree treeAfter = checkNotNull(parentAfter.getChild(name));
  
          checkValidTree(parentAfter, treeAfter, after);
          return newValidator(this, treeAfter);
      }
focal_method.class_method_signature: AccessControlValidator.childNodeChanged(String name, NodeState before, NodeState after)
focal_method.full_signature: @Override public Validator childNodeChanged(String name, NodeState before, NodeState after)
focal_method.identifier: childNodeChanged
focal_method.invocations: checkNotNull getChild checkValidTree newValidator
focal_method.modifiers: @Override public
focal_method.parameters: (String name, NodeState before, NodeState after)
focal_method.return: Validator
focal_method.signature: Validator childNodeChanged(String name, NodeState before, NodeState after)