test_class.declarator: TEST_PATH = "/test"
test_class.modifier: private static
test_class.original_string: private static String TEST_PATH = "/test";
test_class.type: String
test_class.var_name: TEST_PATH
test_class.declarator: SUBTREE_PATH = TEST_PATH + "/subtree"
test_class.modifier: private static
test_class.original_string: private static String SUBTREE_PATH = TEST_PATH + "/subtree";
test_class.type: String
test_class.var_name: SUBTREE_PATH
test_class.declarator: ACCESS_CONTROLLED_PATH = TEST_PATH + "/accessControlled"
test_class.modifier: private static
test_class.original_string: private static String ACCESS_CONTROLLED_PATH = TEST_PATH + "/accessControlled";
test_class.type: String
test_class.var_name: ACCESS_CONTROLLED_PATH
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: accessControlledPaths = new HashSet<>()
test_class.modifier: private
test_class.original_string: private Set<String> accessControlledPaths = new HashSet<>();
test_class.type: Set<String>
test_class.var_name: accessControlledPaths
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImplTest.java
test_class.identifier: CompiledPermissionImplTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testCreateNonExistingPermissionStore() {
          Tree t = when(mock(Tree.class).exists()).thenReturn(false).getMock();
          Root r = when(mock(Root.class).getTree(anyString())).thenReturn(t).getMock();
          Set<Principal> principals = ImmutableSet.of(new PrincipalImpl("principalName"));
  
          assertSame(NoPermissions.getInstance(), CompiledPermissionImpl.create(r, "wspName", mock(PermissionStore.class), principals, ConfigurationParameters.EMPTY, mock(Context.class), mock(ProviderCtx.class)));
      }
test_case.class_method_signature: CompiledPermissionImplTest.testCreateNonExistingPermissionStore()
test_case.full_signature: @Test public void testCreateNonExistingPermissionStore()
test_case.identifier: testCreateNonExistingPermissionStore
test_case.invocations: getMock thenReturn when exists mock getMock thenReturn when getTree mock anyString of assertSame getInstance create mock mock mock
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCreateNonExistingPermissionStore()
focal_class.declarator: log = LoggerFactory.getLogger(CompiledPermissionImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(CompiledPermissionImpl.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: READ_BITS = ImmutableMap.of(
              Permissions.READ, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ),
              Permissions.READ_NODE, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.REP_READ_NODES),
              Permissions.READ_PROPERTY, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.REP_READ_PROPERTIES),
              Permissions.READ_ACCESS_CONTROL, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ_ACCESS_CONTROL))
focal_class.modifier: private static final
focal_class.original_string: private static final Map<Long, PrivilegeBits> READ_BITS = ImmutableMap.of(
              Permissions.READ, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ),
              Permissions.READ_NODE, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.REP_READ_NODES),
              Permissions.READ_PROPERTY, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.REP_READ_PROPERTIES),
              Permissions.READ_ACCESS_CONTROL, PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ_ACCESS_CONTROL));
focal_class.type: Map<Long, PrivilegeBits>
focal_class.var_name: READ_BITS
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: readPolicy
focal_class.modifier: private final
focal_class.original_string: private final ReadPolicy readPolicy;
focal_class.type: ReadPolicy
focal_class.var_name: readPolicy
focal_class.declarator: store
focal_class.modifier: private final
focal_class.original_string: private final PermissionStore store;
focal_class.type: PermissionStore
focal_class.var_name: store
focal_class.declarator: userStore
focal_class.modifier: private final
focal_class.original_string: private final PermissionEntryProvider userStore;
focal_class.type: PermissionEntryProvider
focal_class.var_name: userStore
focal_class.declarator: groupStore
focal_class.modifier: private final
focal_class.original_string: private final PermissionEntryProvider groupStore;
focal_class.type: PermissionEntryProvider
focal_class.var_name: groupStore
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: 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: root
focal_class.modifier: private
focal_class.original_string: private Root root;
focal_class.type: Root
focal_class.var_name: root
focal_class.declarator: versionManager
focal_class.modifier: private
focal_class.original_string: private ReadOnlyVersionManager versionManager;
focal_class.type: ReadOnlyVersionManager
focal_class.var_name: versionManager
focal_class.declarator: bitsProvider
focal_class.modifier: private
focal_class.original_string: private PrivilegeBitsProvider bitsProvider;
focal_class.type: PrivilegeBitsProvider
focal_class.var_name: bitsProvider
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
focal_class.identifier: CompiledPermissionImpl
focal_class.interfaces: implements CompiledPermissions, PermissionConstants
focal_class.class_method_signature: CompiledPermissionImpl.CompiledPermissionImpl(@NotNull Set<Principal> principals,
                                     @NotNull Root root,
                                     @NotNull String workspaceName,
                                     @NotNull PermissionStore store,
                                     @NotNull ConfigurationParameters options,
                                     @NotNull Context ctx,
                                     @NotNull ProviderCtx providerCtx)
focal_class.full_signature: private  CompiledPermissionImpl(@NotNull Set<Principal> principals,
                                     @NotNull Root root,
                                     @NotNull String workspaceName,
                                     @NotNull PermissionStore store,
                                     @NotNull ConfigurationParameters options,
                                     @NotNull Context ctx,
                                     @NotNull ProviderCtx providerCtx)
focal_class.identifier: CompiledPermissionImpl
focal_class.modifiers: private
focal_class.parameters: (@NotNull Set<Principal> principals,
                                     @NotNull Root root,
                                     @NotNull String workspaceName,
                                     @NotNull PermissionStore store,
                                     @NotNull ConfigurationParameters options,
                                     @NotNull Context ctx,
                                     @NotNull ProviderCtx providerCtx)
focal_class.signature:  CompiledPermissionImpl(@NotNull Set<Principal> principals,
                                     @NotNull Root root,
                                     @NotNull String workspaceName,
                                     @NotNull PermissionStore store,
                                     @NotNull ConfigurationParameters options,
                                     @NotNull Context ctx,
                                     @NotNull ProviderCtx providerCtx)
focal_class.class_method_signature: CompiledPermissionImpl.create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_class.full_signature: @NotNull static CompiledPermissions create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_class.identifier: create
focal_class.modifiers: @NotNull static
focal_class.parameters: (@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_class.return: CompiledPermissions
focal_class.signature: CompiledPermissions create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_class.class_method_signature: CompiledPermissionImpl.refresh(@NotNull Root root, @NotNull String workspaceName)
focal_class.full_signature: @Override public void refresh(@NotNull Root root, @NotNull String workspaceName)
focal_class.identifier: refresh
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Root root, @NotNull String workspaceName)
focal_class.return: void
focal_class.signature: void refresh(@NotNull Root root, @NotNull String workspaceName)
focal_class.class_method_signature: CompiledPermissionImpl.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: CompiledPermissionImpl.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: CompiledPermissionImpl.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: CompiledPermissionImpl.buildVersionDelegatee(@NotNull Tree versionableTree)
focal_class.full_signature: @NotNull private TreePermission buildVersionDelegatee(@NotNull Tree versionableTree)
focal_class.identifier: buildVersionDelegatee
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree versionableTree)
focal_class.return: TreePermission
focal_class.signature: TreePermission buildVersionDelegatee(@NotNull Tree versionableTree)
focal_class.class_method_signature: CompiledPermissionImpl.buildParentPermission(@NotNull Tree tree)
focal_class.full_signature: @NotNull private TreePermission buildParentPermission(@NotNull Tree tree)
focal_class.identifier: buildParentPermission
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: TreePermission
focal_class.signature: TreePermission buildParentPermission(@NotNull Tree tree)
focal_class.class_method_signature: CompiledPermissionImpl.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: CompiledPermissionImpl.isGranted(@NotNull String path, long permissions)
focal_class.full_signature: @Override public boolean isGranted(@NotNull String path, long permissions)
focal_class.identifier: isGranted
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String path, long permissions)
focal_class.return: boolean
focal_class.signature: boolean isGranted(@NotNull String path, long permissions)
focal_class.class_method_signature: CompiledPermissionImpl.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: CompiledPermissionImpl.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: CompiledPermissionImpl.internalIsGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.full_signature: private boolean internalIsGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.identifier: internalIsGranted
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.return: boolean
focal_class.signature: boolean internalIsGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions)
focal_class.class_method_signature: CompiledPermissionImpl.hasPermissions(@NotNull Iterator<PermissionEntry> entries,
                                     @NotNull EntryPredicate predicate,
                                     long permissions, @Nullable String path)
focal_class.full_signature: private boolean hasPermissions(@NotNull Iterator<PermissionEntry> entries,
                                     @NotNull EntryPredicate predicate,
                                     long permissions, @Nullable String path)
focal_class.identifier: hasPermissions
focal_class.modifiers: private
focal_class.parameters: (@NotNull Iterator<PermissionEntry> entries,
                                     @NotNull EntryPredicate predicate,
                                     long permissions, @Nullable String path)
focal_class.return: boolean
focal_class.signature: boolean hasPermissions(@NotNull Iterator<PermissionEntry> entries,
                                     @NotNull EntryPredicate predicate,
                                     long permissions, @Nullable String path)
focal_class.class_method_signature: CompiledPermissionImpl.internalGetPrivileges(@Nullable Tree tree)
focal_class.full_signature: @NotNull private PrivilegeBits internalGetPrivileges(@Nullable Tree tree)
focal_class.identifier: internalGetPrivileges
focal_class.modifiers: @NotNull private
focal_class.parameters: (@Nullable Tree tree)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits internalGetPrivileges(@Nullable Tree tree)
focal_class.class_method_signature: CompiledPermissionImpl.getPrivilegeBits(@Nullable Tree tree)
focal_class.full_signature: @NotNull private PrivilegeBits getPrivilegeBits(@Nullable Tree tree)
focal_class.identifier: getPrivilegeBits
focal_class.modifiers: @NotNull private
focal_class.parameters: (@Nullable Tree tree)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getPrivilegeBits(@Nullable Tree tree)
focal_class.class_method_signature: CompiledPermissionImpl.getEntryIterator(@NotNull EntryPredicate predicate)
focal_class.full_signature: @NotNull private Iterator<PermissionEntry> getEntryIterator(@NotNull EntryPredicate predicate)
focal_class.identifier: getEntryIterator
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull EntryPredicate predicate)
focal_class.return: Iterator<PermissionEntry>
focal_class.signature: Iterator<PermissionEntry> getEntryIterator(@NotNull EntryPredicate predicate)
focal_class.class_method_signature: CompiledPermissionImpl.getEvaluationTree(@NotNull Tree versionStoreTree)
focal_class.full_signature: @Nullable private Tree getEvaluationTree(@NotNull Tree versionStoreTree)
focal_class.identifier: getEvaluationTree
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Tree versionStoreTree)
focal_class.return: Tree
focal_class.signature: Tree getEvaluationTree(@NotNull Tree versionStoreTree)
focal_class.class_method_signature: CompiledPermissionImpl.getVersionManager()
focal_class.full_signature: @NotNull private ReadOnlyVersionManager getVersionManager()
focal_class.identifier: getVersionManager
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: ReadOnlyVersionManager
focal_class.signature: ReadOnlyVersionManager getVersionManager()
focal_class.class_method_signature: CompiledPermissionImpl.getParentType(@NotNull TreePermission parentPermission)
focal_class.full_signature: @NotNull private static TreeType getParentType(@NotNull TreePermission parentPermission)
focal_class.identifier: getParentType
focal_class.modifiers: @NotNull private static
focal_class.parameters: (@NotNull TreePermission parentPermission)
focal_class.return: TreeType
focal_class.signature: TreeType getParentType(@NotNull TreePermission parentPermission)
focal_class.class_method_signature: CompiledPermissionImpl.createRootPermission(@NotNull Tree rootTree)
focal_class.full_signature: @NotNull private TreePermissionImpl createRootPermission(@NotNull Tree rootTree)
focal_class.identifier: createRootPermission
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull Tree rootTree)
focal_class.return: TreePermissionImpl
focal_class.signature: TreePermissionImpl createRootPermission(@NotNull Tree rootTree)
focal_method.body: @NotNull
      static CompiledPermissions create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx) {
          Tree permissionsTree = PermissionUtil.getPermissionsRoot(root, workspaceName);
          if (!permissionsTree.exists() || principals.isEmpty()) {
              return NoPermissions.getInstance();
          } else {
              return new CompiledPermissionImpl(principals, root, workspaceName, store, options, ctx, providerCtx);
          }
      }
focal_method.class_method_signature: CompiledPermissionImpl.create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_method.full_signature: @NotNull static CompiledPermissions create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_method.identifier: create
focal_method.invocations: getPermissionsRoot exists isEmpty getInstance
focal_method.modifiers: @NotNull static
focal_method.parameters: (@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)
focal_method.return: CompiledPermissions
focal_method.signature: CompiledPermissions create(@NotNull Root root,
                                        @NotNull String workspaceName,
                                        @NotNull PermissionStore store,
                                        @NotNull Set<Principal> principals,
                                        @NotNull ConfigurationParameters options,
                                        @NotNull Context ctx,
                                        @NotNull ProviderCtx providerCtx)