Interface AggregatedPermissionProvider

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @NotNull TreePermission getTreePermission​(@NotNull Tree tree, @NotNull TreeType type, @NotNull TreePermission parentPermission)
      Return the TreePermission for the set of Principals associated with this provider at the specified tree with the given type.
      boolean isGranted​(@NotNull TreeLocation location, long permissions)
      Test if the specified permissions are granted for the set of Principals associated with this provider instance for the item identified by the given location and optionally property.
      long supportedPermissions​(@NotNull TreeLocation location, long permissions)
      Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified location.
      long supportedPermissions​(@NotNull TreePermission treePermission, @Nullable PropertyState property, long permissions)
      Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified tree permission (plus optionally property).
      long supportedPermissions​(@Nullable Tree tree, @Nullable PropertyState property, long permissions)
      Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified item (identified by tree and optionally property) or at the repository level in case the specified tree is null.
      @NotNull PrivilegeBits supportedPrivileges​(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits)
      Allows to determined the set or subset of privileges evaluated by the implementing permission provider for the specified tree or at the repository level in case the specified tree is null.
    • Method Detail

      • supportedPrivileges

        @NotNull
        @NotNull PrivilegeBits supportedPrivileges​(@Nullable
                                                   @Nullable Tree tree,
                                                   @Nullable
                                                   @Nullable PrivilegeBits privilegeBits)
        Allows to determined the set or subset of privileges evaluated by the implementing permission provider for the specified tree or at the repository level in case the specified tree is null. If the given privilegeBits is null an implementation returns the complete set that is covered by the provider; otherwise the supported subset of the specified privilegeBits is returned. Returning PrivilegeBits.EMPTY indicates that this implementation is not in charge of evaluating the specified privileges and thus will be ignored while computing the composite result of PermissionProvider.getPrivileges(org.apache.jackrabbit.oak.api.Tree) or PermissionProvider.hasPrivileges(org.apache.jackrabbit.oak.api.Tree, String...).
        Parameters:
        tree - The tree for which the privileges will be evaluated or null for repository level privileges.
        privilegeBits - The privilege(s) to be tested or null
        Returns:
        The set of privileges or the subset of the given privilegeBits that are supported and evaluated by the implementation at the given tree represented as PrivilegeBits.
      • supportedPermissions

        long supportedPermissions​(@Nullable
                                  @Nullable Tree tree,
                                  @Nullable
                                  @Nullable PropertyState property,
                                  long permissions)
        Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified item (identified by tree and optionally property) or at the repository level in case the specified tree is null. Returning Permissions.NO_PERMISSION indicates that this implementation is not in charge of evaluating the specified permissions for the specified item and thus will be ignored while computing the composite result of PermissionProvider.isGranted(Tree, PropertyState, long).
        Parameters:
        tree - The tree for which the permissions will be evaluated or null for repository level privileges.
        property - The target property or null.
        permissions - The permissions to be tested
        Returns:
        The subset of the given permissions that are supported and evaluated by the implementation for the given item.
      • supportedPermissions

        long supportedPermissions​(@NotNull
                                  @NotNull TreeLocation location,
                                  long permissions)
        Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified location. Returning Permissions.NO_PERMISSION indicates that this implementation is not in charge of evaluating the specified permissions for the specified location and thus will be ignored while computing the composite result of PermissionProvider.isGranted(String, String) and isGranted(TreeLocation, long).
        Parameters:
        location - The tree location for which the permissions will be evaluated.
        permissions - The permissions to be tested
        Returns:
        The subset of the given permissions that are supported and evaluated by the implementation for the given location.
      • supportedPermissions

        long supportedPermissions​(@NotNull
                                  @NotNull TreePermission treePermission,
                                  @Nullable
                                  @Nullable PropertyState property,
                                  long permissions)
        Allows to determined the set or subset of permissions evaluated by the implementing permission provider for the specified tree permission (plus optionally property). Returning Permissions.NO_PERMISSION indicates that this implementation is not in charge of evaluating the specified permissions for the specified tree permission and thus will be ignored while computing the composite result of TreePermission.isGranted(long, PropertyState) and TreePermission.isGranted(long).
        Parameters:
        treePermission - The target tree permission.
        property - The target property or null.
        permissions - The permissions to be tested
        Returns:
        The subset of the given permissions that are supported and evaluated by the implementation for the given tree permissions.
      • isGranted

        boolean isGranted​(@NotNull
                          @NotNull TreeLocation location,
                          long permissions)
        Test if the specified permissions are granted for the set of Principals associated with this provider instance for the item identified by the given location and optionally property. This method will only return true if all permissions are granted.
        Parameters:
        location - The TreeLocation to test the permissions for.
        permissions - The permissions to be tested.
        Returns:
        true if the specified permissions are granted for the existing or non-existing item identified by the given location.
      • getTreePermission

        @NotNull
        @NotNull TreePermission getTreePermission​(@NotNull
                                                  @NotNull Tree tree,
                                                  @NotNull
                                                  @NotNull TreeType type,
                                                  @NotNull
                                                  @NotNull TreePermission parentPermission)
        Return the TreePermission for the set of Principals associated with this provider at the specified tree with the given type.
        Parameters:
        tree - The tree for which the TreePermission object should be built.
        type - The type of this tree.
        parentPermission - The TreePermission object that has been obtained before for the parent tree.
        Returns:
        The TreePermission object for the specified tree.