Interface EdgeAclProvider.Builder

Enclosing interface:
EdgeAclProvider

@ScriptApi public static interface EdgeAclProvider.Builder
A Builder to construct a set of ACLs to apply to a table based on the user fetching it.
  • Method Details

    • rowAcl

      EdgeAclProvider.Builder rowAcl(@NotNull @NotNull String group, @NotNull @NotNull AclFilterGenerator aclGenerator)
      Add a Row ACL for the specified group to the table.
      Parameters:
      group - the group the ACL applies to
      aclGenerator - The AclFilterGenerator that will produce a filter given a user
      Returns:
      this builder
    • columnAcl

      EdgeAclProvider.Builder columnAcl(@NotNull @NotNull String group, @NotNull @NotNull String column, @NotNull @NotNull AclFilterGenerator aclGenerator)
      Add a Column ACL for the specified group and column to the table.
      Parameters:
      group - the group the ACL applies to
      column - the column the ACL applies to
      aclGenerator - The AclFilterGenerator that will produce a filter given a user
      Returns:
      this builder
    • columnAcl

      EdgeAclProvider.Builder columnAcl(@NotNull @NotNull String group, @NotNull @NotNull Collection<String> columns, @NotNull @NotNull AclFilterGenerator aclGenerator)
      Add a Column ACL for the specified group and column to the table.
      Parameters:
      group - the group the ACL applies to
      columns - the columns the ACL applies to
      aclGenerator - The AclFilterGenerator that will produce a filter given a user
      Returns:
      this builder
    • orphanPromotion

      EdgeAclProvider.Builder orphanPromotion(boolean orphanPromotion)
      When applied to a TreeTable, should orphans be promoted?

      Orphans are not promoted by default.

      If orphans are not promoted, then when a row is permitted by the ACL but not all of its parents are permitted by the ACL; the child row will not be accessible.

      If orphans are promoted, then when a child row is permitted by an ACL, but it's parent is not permitted; the child row is displayed at the top level.

      Rows that are not permitted by the ACL are never displayed.

    • build

      Construct the ACL object.


      Note that this operation is terminal. Once it is invoked, neither rowAcl(String, AclFilterGenerator) or columnAcl(String, String, AclFilterGenerator) maybe called again.

      Returns:
      this constructed ACL object