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.declarator: permissionProvider
test_class.modifier: private
test_class.original_string: private PrincipalBasedPermissionProvider permissionProvider;
test_class.type: PrincipalBasedPermissionProvider
test_class.var_name: permissionProvider
test_class.declarator: contentPath
test_class.modifier: private
test_class.original_string: private String contentPath;
test_class.type: String
test_class.var_name: contentPath
test_class.declarator: childPath
test_class.modifier: private
test_class.original_string: private String childPath;
test_class.type: String
test_class.var_name: childPath
test_class.file: oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedPermissionProviderTest.java
test_class.identifier: PrincipalBasedPermissionProviderTest
test_class.superclass: extends AbstractPrincipalBasedTest
test_case.body: @Test
      public void testHasPrivileges() {
          assertTrue(permissionProvider.hasPrivileges(root.getTree(childPath), PrivilegeConstants.JCR_READ));
          assertFalse(permissionProvider.hasPrivileges(root.getTree(childPath), PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_REMOVE_NODE));
          assertTrue(permissionProvider.hasPrivileges(root.getTree(childPath + "/folder"), PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_REMOVE_NODE));
          assertFalse(permissionProvider.hasPrivileges(root.getTree(childPath), PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_VERSION_MANAGEMENT));
          assertTrue(permissionProvider.hasPrivileges(root.getTree(TEST_OAK_PATH), PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_VERSION_MANAGEMENT));
      }
test_case.class_method_signature: PrincipalBasedPermissionProviderTest.testHasPrivileges()
test_case.full_signature: @Test public void testHasPrivileges()
test_case.identifier: testHasPrivileges
test_case.invocations: assertTrue hasPrivileges getTree assertFalse hasPrivileges getTree assertTrue hasPrivileges getTree assertFalse hasPrivileges getTree assertTrue hasPrivileges getTree
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testHasPrivileges()
focal_class.declarator: log = LoggerFactory.getLogger(PrincipalBasedPermissionProvider.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(PrincipalBasedPermissionProvider.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: root
focal_class.modifier: private final
focal_class.original_string: private final Root root;
focal_class.type: Root
focal_class.var_name: root
focal_class.declarator: workspaceName
focal_class.modifier: private final
focal_class.original_string: private final String workspaceName;
focal_class.type: String
focal_class.var_name: workspaceName
focal_class.declarator: principalPaths
focal_class.modifier: private final
focal_class.original_string: private final Iterable principalPaths;
focal_class.type: Iterable
focal_class.var_name: principalPaths
focal_class.declarator: mgrProvider
focal_class.modifier: private final
focal_class.original_string: private final MgrProvider mgrProvider;
focal_class.type: MgrProvider
focal_class.var_name: mgrProvider
focal_class.declarator: typeProvider
focal_class.modifier: private final
focal_class.original_string: private final TreeTypeProvider typeProvider;
focal_class.type: TreeTypeProvider
focal_class.var_name: typeProvider
focal_class.declarator: modAcBits
focal_class.modifier: private final
focal_class.original_string: private final PrivilegeBits modAcBits;
focal_class.type: PrivilegeBits
focal_class.var_name: modAcBits
focal_class.declarator: immutableRoot
focal_class.modifier: private
focal_class.original_string: private Root immutableRoot;
focal_class.type: Root
focal_class.var_name: immutableRoot
focal_class.declarator: repositoryPermission
focal_class.modifier: private
focal_class.original_string: private RepositoryPermissionImpl repositoryPermission;
focal_class.type: RepositoryPermissionImpl
focal_class.var_name: repositoryPermission
focal_class.declarator: entryCache
focal_class.modifier: private
focal_class.original_string: private EntryCache entryCache;
focal_class.type: EntryCache
focal_class.var_name: entryCache
focal_class.declarator: readablePaths
focal_class.modifier: private
focal_class.original_string: private ReadablePaths readablePaths;
focal_class.type: ReadablePaths
focal_class.var_name: readablePaths
focal_class.file: oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedPermissionProvider.java
focal_class.identifier: PrincipalBasedPermissionProvider
focal_class.interfaces: implements AggregatedPermissionProvider, Constants
focal_class.class_method_signature: PrincipalBasedPermissionProvider.PrincipalBasedPermissionProvider(@NotNull Root root,
                                       @NotNull String workspaceName,
                                       @NotNull Iterable<String> principalPaths,
                                       @NotNull PrincipalBasedAuthorizationConfiguration authorizationConfiguration)
focal_class.full_signature:   PrincipalBasedPermissionProvider(@NotNull Root root,
                                       @NotNull String workspaceName,
                                       @NotNull Iterable<String> principalPaths,
                                       @NotNull PrincipalBasedAuthorizationConfiguration authorizationConfiguration)
focal_class.identifier: PrincipalBasedPermissionProvider
focal_class.parameters: (@NotNull Root root,
                                       @NotNull String workspaceName,
                                       @NotNull Iterable<String> principalPaths,
                                       @NotNull PrincipalBasedAuthorizationConfiguration authorizationConfiguration)
focal_class.signature:  PrincipalBasedPermissionProvider(@NotNull Root root,
                                       @NotNull String workspaceName,
                                       @NotNull Iterable<String> principalPaths,
                                       @NotNull PrincipalBasedAuthorizationConfiguration authorizationConfiguration)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.refresh()
focal_class.full_signature: @Override public void refresh()
focal_class.identifier: refresh
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void refresh()
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getPrivileges(@Nullable Tree tree)
focal_class.full_signature: @NotNull @Override public Set<String> getPrivileges(@Nullable Tree tree)
focal_class.identifier: getPrivileges
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@Nullable Tree tree)
focal_class.return: Set<String>
focal_class.signature: Set<String> getPrivileges(@Nullable Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)
focal_class.full_signature: @Override public boolean hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)
focal_class.identifier: hasPrivileges
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable Tree tree, @NotNull String... privilegeNames)
focal_class.return: boolean
focal_class.signature: boolean hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getRepositoryPermission()
focal_class.full_signature: @Override public @NotNull RepositoryPermission getRepositoryPermission()
focal_class.identifier: getRepositoryPermission
focal_class.modifiers: @Override public @NotNull
focal_class.parameters: ()
focal_class.return: RepositoryPermission
focal_class.signature: RepositoryPermission getRepositoryPermission()
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getTreePermission(@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.full_signature: @Override public @NotNull TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.identifier: getTreePermission
focal_class.modifiers: @Override public @NotNull
focal_class.parameters: (@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.return: TreePermission
focal_class.signature: TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.full_signature: @Override public boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGranted(@NotNull String oakPath, @NotNull String jcrActions)
focal_class.full_signature: @Override public boolean isGranted(@NotNull String oakPath, @NotNull String jcrActions)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String oakPath, @NotNull String jcrActions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull String oakPath, @NotNull String jcrActions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.full_signature: @Override public @NotNull PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.identifier: supportedPrivileges
focal_class.modifiers: @Override public @NotNull
focal_class.parameters: (@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.supportedPermissions(@Nullable Tree tree, @Nullable PropertyState property, long permissions)
focal_class.full_signature: @Override public long supportedPermissions(@Nullable Tree tree, @Nullable PropertyState property, long permissions)
focal_class.identifier: supportedPermissions
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable Tree tree, @Nullable PropertyState property, long permissions)
focal_class.return: long
focal_class.signature: long supportedPermissions(@Nullable Tree tree, @Nullable PropertyState property, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.supportedPermissions(@NotNull TreeLocation location, long permissions)
focal_class.full_signature: @Override public long supportedPermissions(@NotNull TreeLocation location, long permissions)
focal_class.identifier: supportedPermissions
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull TreeLocation location, long permissions)
focal_class.return: long
focal_class.signature: long supportedPermissions(@NotNull TreeLocation location, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.supportedPermissions(@NotNull TreePermission treePermission, @Nullable PropertyState property, long permissions)
focal_class.full_signature: @Override public long supportedPermissions(@NotNull TreePermission treePermission, @Nullable PropertyState property, long permissions)
focal_class.identifier: supportedPermissions
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull TreePermission treePermission, @Nullable PropertyState property, long permissions)
focal_class.return: long
focal_class.signature: long supportedPermissions(@NotNull TreePermission treePermission, @Nullable PropertyState property, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGranted(@NotNull TreeLocation location, long permissions)
focal_class.full_signature: @Override public boolean isGranted(@NotNull TreeLocation location, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull TreeLocation location, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull TreeLocation location, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getTreePermission(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.full_signature: @Override public @NotNull TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.identifier: getTreePermission
focal_class.modifiers: @Override public @NotNull
focal_class.parameters: (@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.return: TreePermission
focal_class.signature: TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getEntryIterator(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate)
focal_class.full_signature: private Iterator<PermissionEntry> getEntryIterator(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate)
focal_class.identifier: getEntryIterator
focal_class.modifiers: private
focal_class.parameters: (@NotNull String path, @NotNull Predicate<PermissionEntry> predicate)
focal_class.return: Iterator<PermissionEntry>
focal_class.signature: Iterator<PermissionEntry> getEntryIterator(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGranted(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate,
                                @NotNull Predicate<PermissionEntry> parentPredicate, long permissions)
focal_class.full_signature: private boolean isGranted(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate,
                                @NotNull Predicate<PermissionEntry> parentPredicate, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: private
focal_class.parameters: (@NotNull String path, @NotNull Predicate<PermissionEntry> predicate,
                                @NotNull Predicate<PermissionEntry> parentPredicate, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull String path, @NotNull Predicate<PermissionEntry> predicate,
                                @NotNull Predicate<PermissionEntry> parentPredicate, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGranted(long allows, long permissions)
focal_class.full_signature: private static boolean isGranted(long allows, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: private static
focal_class.parameters: (long allows, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(long allows, long permissions)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isGrantedOnEffective(@NotNull Tree tree, long permission)
focal_class.full_signature: private boolean isGrantedOnEffective(@NotNull Tree tree, long permission)
focal_class.identifier: isGrantedOnEffective
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree tree, long permission)
focal_class.return: boolean
focal_class.signature: boolean isGrantedOnEffective(@NotNull Tree tree, long permission)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getGrantedPrivilegeBits(@Nullable Tree tree)
focal_class.full_signature: @NotNull private PrivilegeBits getGrantedPrivilegeBits(@Nullable Tree tree)
focal_class.identifier: getGrantedPrivilegeBits
focal_class.modifiers: @NotNull private
focal_class.parameters: (@Nullable Tree tree)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getGrantedPrivilegeBits(@Nullable Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getBitsToSubtract(@NotNull Tree tree)
focal_class.full_signature: @NotNull PrivilegeBits getBitsToSubtract(@NotNull Tree tree)
focal_class.identifier: getBitsToSubtract
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getBitsToSubtract(@NotNull Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getGrantedPrivilegeBits(@NotNull String oakPath, @NotNull Predicate<PermissionEntry> predicate)
focal_class.full_signature: @NotNull private PrivilegeBits getGrantedPrivilegeBits(@NotNull String oakPath, @NotNull Predicate<PermissionEntry> predicate)
focal_class.identifier: getGrantedPrivilegeBits
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull String oakPath, @NotNull Predicate<PermissionEntry> predicate)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getGrantedPrivilegeBits(@NotNull String oakPath, @NotNull Predicate<PermissionEntry> predicate)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getReadOnlyTree(@NotNull Tree tree)
focal_class.full_signature: @NotNull private Tree getReadOnlyTree(@NotNull Tree tree)
focal_class.identifier: getReadOnlyTree
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: Tree
focal_class.signature: Tree getReadOnlyTree(@NotNull Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getEffectivePath(@NotNull Tree tree)
focal_class.full_signature: @Nullable private String getEffectivePath(@NotNull Tree tree)
focal_class.identifier: getEffectivePath
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: String
focal_class.signature: String getEffectivePath(@NotNull Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getVersionableTree(@NotNull Tree versionTree)
focal_class.full_signature: @Nullable private Tree getVersionableTree(@NotNull Tree versionTree)
focal_class.identifier: getVersionableTree
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Tree versionTree)
focal_class.return: Tree
focal_class.signature: Tree getVersionableTree(@NotNull Tree versionTree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.isVersionStoreTree(@NotNull Tree tree)
focal_class.full_signature: private boolean isVersionStoreTree(@NotNull Tree tree)
focal_class.identifier: isVersionStoreTree
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: boolean
focal_class.signature: boolean isVersionStoreTree(@NotNull Tree tree)
focal_class.class_method_signature: PrincipalBasedPermissionProvider.getTreePermission(@NotNull String name, @NotNull NodeState nodeState, @NotNull AbstractTreePermission parentTreePermission)
focal_class.full_signature: @NotNull TreePermission getTreePermission(@NotNull String name, @NotNull NodeState nodeState, @NotNull AbstractTreePermission parentTreePermission)
focal_class.identifier: getTreePermission
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull String name, @NotNull NodeState nodeState, @NotNull AbstractTreePermission parentTreePermission)
focal_class.return: TreePermission
focal_class.signature: TreePermission getTreePermission(@NotNull String name, @NotNull NodeState nodeState, @NotNull AbstractTreePermission parentTreePermission)
focal_method.body: @Override
      public boolean hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames) {
          return getGrantedPrivilegeBits(tree).includes(mgrProvider.getPrivilegeBitsProvider().getBits(privilegeNames));
      }
focal_method.class_method_signature: PrincipalBasedPermissionProvider.hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)
focal_method.full_signature: @Override public boolean hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)
focal_method.identifier: hasPrivileges
focal_method.invocations: includes getGrantedPrivilegeBits getBits getPrivilegeBitsProvider
focal_method.modifiers: @Override public
focal_method.parameters: (@Nullable Tree tree, @NotNull String... privilegeNames)
focal_method.return: boolean
focal_method.signature: boolean hasPrivileges(@Nullable Tree tree, @NotNull String... privilegeNames)