Package io.deephaven.enterprise.acl
Interface EdgeAclProvider.Builder
- Enclosing interface:
- EdgeAclProvider
A Builder to construct a set of ACLs to apply to a table based on the user fetching it.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Construct the ACL object.columnAcl
(@NotNull String group, @NotNull String column, @NotNull AclFilterGenerator aclGenerator) Add a Column ACL for the specified group and column to the table.columnAcl
(@NotNull String group, @NotNull Collection<String> columns, @NotNull AclFilterGenerator aclGenerator) Add a Column ACL for the specified group and column to the table.orphanPromotion
(boolean orphanPromotion) When applied to aTreeTable
, should orphans be promoted?rowAcl
(@NotNull String group, @NotNull AclFilterGenerator aclGenerator) Add a Row ACL for the specified group to the table.
-
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 toaclGenerator
- TheAclFilterGenerator
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 tocolumn
- the column the ACL applies toaclGenerator
- TheAclFilterGenerator
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 tocolumns
- the columns the ACL applies toaclGenerator
- TheAclFilterGenerator
that will produce a filter given a user- Returns:
- this builder
-
orphanPromotion
When applied to aTreeTable
, 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
EdgeAclProvider build()Construct the ACL object.
Note that this operation is terminal. Once it is invoked, neither
rowAcl(String, AclFilterGenerator)
orcolumnAcl(String, String, AclFilterGenerator)
maybe called again.- Returns:
- this constructed ACL object
-