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- TheAclFilterGeneratorthat 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- TheAclFilterGeneratorthat 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- TheAclFilterGeneratorthat 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
-