test_class.declarator: READ_PATHS = ImmutableSet.of(
              NamespaceConstants.NAMESPACES_PATH,
              NodeTypeConstants.NODE_TYPES_PATH,
              PrivilegeConstants.PRIVILEGES_PATH,
              "/test"
      )
test_class.modifier: private static final
test_class.original_string: private static final Set<String> READ_PATHS = ImmutableSet.of(
              NamespaceConstants.NAMESPACES_PATH,
              NodeTypeConstants.NODE_TYPES_PATH,
              PrivilegeConstants.PRIVILEGES_PATH,
              "/test"
      );
test_class.type: Set<String>
test_class.var_name: READ_PATHS
test_class.declarator: testSession
test_class.modifier: private
test_class.original_string: private ContentSession testSession;
test_class.type: ContentSession
test_class.var_name: testSession
test_class.declarator: pp
test_class.modifier: private
test_class.original_string: private PermissionProviderImpl pp;
test_class.type: PermissionProviderImpl
test_class.var_name: pp
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImplTest.java
test_class.identifier: PermissionProviderImplTest
test_class.interfaces: implements AccessControlConstants
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testIsGrantedNonExistingVersionStoreLocation() {
          TreeLocation location = TreeLocation.create(testSession.getLatestRoot(), VersionConstants.VERSION_STORE_PATH + "/non/existing/tree");
  
          assertFalse(pp.isGranted(location, Permissions.READ));
      }
test_case.class_method_signature: PermissionProviderImplTest.testIsGrantedNonExistingVersionStoreLocation()
test_case.full_signature: @Test public void testIsGrantedNonExistingVersionStoreLocation()
test_case.identifier: testIsGrantedNonExistingVersionStoreLocation
test_case.invocations: create getLatestRoot assertFalse isGranted
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIsGrantedNonExistingVersionStoreLocation()
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: principals
focal_class.modifier: private final
focal_class.original_string: private final Set<Principal> principals;
focal_class.type: Set<Principal>
focal_class.var_name: principals
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: options
focal_class.modifier: private final
focal_class.original_string: private final ConfigurationParameters options;
focal_class.type: ConfigurationParameters
focal_class.var_name: options
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.declarator: providerCtx
focal_class.modifier: private final
focal_class.original_string: private final ProviderCtx providerCtx;
focal_class.type: ProviderCtx
focal_class.var_name: providerCtx
focal_class.declarator: compiledPermissions
focal_class.modifier: private
focal_class.original_string: private CompiledPermissions compiledPermissions;
focal_class.type: CompiledPermissions
focal_class.var_name: compiledPermissions
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.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionProviderImpl.java
focal_class.identifier: PermissionProviderImpl
focal_class.interfaces: implements PermissionProvider, AccessControlConstants, PermissionConstants, AggregatedPermissionProvider
focal_class.class_method_signature: PermissionProviderImpl.PermissionProviderImpl(@NotNull Root root,
                                    @NotNull String workspaceName,
                                    @NotNull Set<Principal> principals,
                                    @NotNull RestrictionProvider restrictionProvider,
                                    @NotNull ConfigurationParameters options,
                                    @NotNull Context ctx,
                                    @NotNull ProviderCtx providerCtx)
focal_class.full_signature: public  PermissionProviderImpl(@NotNull Root root,
                                    @NotNull String workspaceName,
                                    @NotNull Set<Principal> principals,
                                    @NotNull RestrictionProvider restrictionProvider,
                                    @NotNull ConfigurationParameters options,
                                    @NotNull Context ctx,
                                    @NotNull ProviderCtx providerCtx)
focal_class.identifier: PermissionProviderImpl
focal_class.modifiers: public
focal_class.parameters: (@NotNull Root root,
                                    @NotNull String workspaceName,
                                    @NotNull Set<Principal> principals,
                                    @NotNull RestrictionProvider restrictionProvider,
                                    @NotNull ConfigurationParameters options,
                                    @NotNull Context ctx,
                                    @NotNull ProviderCtx providerCtx)
focal_class.signature:  PermissionProviderImpl(@NotNull Root root,
                                    @NotNull String workspaceName,
                                    @NotNull Set<Principal> principals,
                                    @NotNull RestrictionProvider restrictionProvider,
                                    @NotNull ConfigurationParameters options,
                                    @NotNull Context ctx,
                                    @NotNull ProviderCtx providerCtx)
focal_class.class_method_signature: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.getRepositoryPermission()
focal_class.full_signature: @NotNull @Override public RepositoryPermission getRepositoryPermission()
focal_class.identifier: getRepositoryPermission
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: RepositoryPermission
focal_class.signature: RepositoryPermission getRepositoryPermission()
focal_class.class_method_signature: PermissionProviderImpl.getTreePermission(@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.full_signature: @NotNull @Override public TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreePermission parentPermission)
focal_class.identifier: getTreePermission
focal_class.modifiers: @NotNull @Override public
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: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.full_signature: @NotNull @Override public PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
focal_class.identifier: supportedPrivileges
focal_class.modifiers: @NotNull @Override public
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: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.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: PermissionProviderImpl.getTreePermission(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.full_signature: @NotNull @Override public TreePermission getTreePermission(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
focal_class.identifier: getTreePermission
focal_class.modifiers: @NotNull @Override public
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: PermissionProviderImpl.getCompiledPermissions()
focal_class.full_signature: private CompiledPermissions getCompiledPermissions()
focal_class.identifier: getCompiledPermissions
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: CompiledPermissions
focal_class.signature: CompiledPermissions getCompiledPermissions()
focal_class.class_method_signature: PermissionProviderImpl.getPermissionStore(@NotNull Root root, @NotNull String workspaceName, @NotNull RestrictionProvider restrictionProvider)
focal_class.full_signature: @NotNull protected PermissionStore getPermissionStore(@NotNull Root root, @NotNull String workspaceName, @NotNull RestrictionProvider restrictionProvider)
focal_class.identifier: getPermissionStore
focal_class.modifiers: @NotNull protected
focal_class.parameters: (@NotNull Root root, @NotNull String workspaceName, @NotNull RestrictionProvider restrictionProvider)
focal_class.return: PermissionStore
focal_class.signature: PermissionStore getPermissionStore(@NotNull Root root, @NotNull String workspaceName, @NotNull RestrictionProvider restrictionProvider)
focal_class.class_method_signature: PermissionProviderImpl.isVersionStorePath(@NotNull String oakPath)
focal_class.full_signature: private static boolean isVersionStorePath(@NotNull String oakPath)
focal_class.identifier: isVersionStorePath
focal_class.modifiers: private static
focal_class.parameters: (@NotNull String oakPath)
focal_class.return: boolean
focal_class.signature: boolean isVersionStorePath(@NotNull String oakPath)
focal_class.class_method_signature: PermissionProviderImpl.isGranted(@NotNull TreeLocation location, @NotNull String oakPath, long permissions)
focal_class.full_signature: private boolean isGranted(@NotNull TreeLocation location, @NotNull String oakPath, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: private
focal_class.parameters: (@NotNull TreeLocation location, @NotNull String oakPath, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull TreeLocation location, @NotNull String oakPath, long permissions)
focal_method.body: @Override
      public boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions) {
          return getCompiledPermissions().isGranted(PermissionUtil.getReadOnlyTree(tree, immutableRoot), property, permissions);
      }
focal_method.class_method_signature: PermissionProviderImpl.isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_method.full_signature: @Override public boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_method.identifier: isGranted
focal_method.invocations: isGranted getCompiledPermissions getReadOnlyTree
focal_method.modifiers: @Override public
focal_method.parameters: (@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_method.return: boolean
focal_method.signature: boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)