Package io.deephaven.enterprise.acl
Interface EdgeAclProvider
- All Known Implementing Classes:
EdgeAclImpl
public interface EdgeAclProvider
Objects that implement this interface provide ACLs for tables based on the requesting user at request time, as
opposed to
SourceAclProvider
which applies ACLS to the table when it is fetched from the data source.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A Builder to construct a set of ACLs to apply to a table based on the user fetching it. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic void
default Table
Attach the ACLs to the specified tablestatic EdgeAclProvider.Builder
builder()
Get aEdgeAclProvider.Builder
to create ACLs for a table.@Nullable ColumnAcl
getColumnFilters
(@NotNull AclSupport support, @NotNull io.deephaven.enterprise.auth.UserContext userContext, @NotNull String[] columnNames, boolean isRefreshing) Get the column ACLs to apply to requested tables.Get the set of groups that may access the table this ACL guards.@Nullable Collection<WhereFilter>[]
getRowFilters
(@NotNull AclSupport support, @NotNull io.deephaven.enterprise.auth.UserContext userContext, boolean isRefreshing) Get the set ofWhereFilter
s that should be disjunctively applied to requested tables.
-
Field Details
-
ACL_ATTRIBUTE
- See Also:
-
-
Method Details
-
addAcl
-
builder
Get aEdgeAclProvider.Builder
to create ACLs for a table.- Returns:
- a new
EdgeAclProvider.Builder
-
getRowFilters
@Nullable @Nullable Collection<WhereFilter>[] getRowFilters(@NotNull @NotNull AclSupport support, @NotNull @NotNull io.deephaven.enterprise.auth.UserContext userContext, boolean isRefreshing) Get the set ofWhereFilter
s that should be disjunctively applied to requested tables.- Parameters:
support
- the support objectuserContext
- the user to generate the ACL forisRefreshing
- if the table is refreshing- Returns:
- the collection of row ACLs to be disjunctively applied to the table.
-
getColumnFilters
@Nullable @Nullable ColumnAcl getColumnFilters(@NotNull @NotNull AclSupport support, @NotNull @NotNull io.deephaven.enterprise.auth.UserContext userContext, @NotNull @NotNull String[] columnNames, boolean isRefreshing) Get the column ACLs to apply to requested tables.- Parameters:
support
- the support objectuserContext
- the user to generate the ACL forcolumnNames
- the columns to fetch ACLs forisRefreshing
- if the table is refreshing- Returns:
- the column ACLs
-
getGroups
Get the set of groups that may access the table this ACL guards.- Returns:
- the set of groups that may access the table
-
applyTo
Attach the ACLs to the specified table- Parameters:
table
- the table to apply ACLs to- Returns:
- the table with ACLs applied
-