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 SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA Builder to construct a set of ACLs to apply to a table based on the user fetching it.
- 
Field SummaryFields
- 
Method SummaryModifier and TypeMethodDescriptionstatic voiddefault RollupTableapplyTo(@NotNull RollupTable table) Applies the given provider to a RollupTable.default TreeTableApplies the given provider to a TreeTable.default TableAttach the ACLs to the specified tabledefault PivotTableapplyTo(@NotNull PivotTable table) Applies the given provider to a PivotTable.static EdgeAclProvider.Builderbuilder()Get aEdgeAclProvider.Builderto create ACLs for a table.@Nullable ColumnAclgetColumnFilters(@NotNull AclSupport support, @NotNull 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 UserContext userContext, boolean isRefreshing) Get the set ofWhereFilters that should be disjunctively applied to requested tables.booleanReturns true if there are any column Filters defined for this EdgeAclProvider.booleanReturns true if orphans should be promoted when this provider is applied to aTreeTable.
- 
Field Details- 
ACL_ATTRIBUTE- See Also:
 
 
- 
- 
Method Details- 
addAcl
- 
builderGet aEdgeAclProvider.Builderto create ACLs for a table.- Returns:
- a new EdgeAclProvider.Builder
 
- 
getRowFilters@Nullable @Nullable Collection<WhereFilter>[] getRowFilters(@NotNull @NotNull AclSupport support, @NotNull @NotNull UserContext userContext, boolean isRefreshing) Get the set ofWhereFilters that should be disjunctively applied to requested tables.- Parameters:
- support- the support object
- userContext- the user to generate the ACL for
- isRefreshing- 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 UserContext userContext, @NotNull @NotNull String[] columnNames, boolean isRefreshing) Get the column ACLs to apply to requested tables.- Parameters:
- support- the support object
- userContext- the user to generate the ACL for
- columnNames- the columns to fetch ACLs for
- isRefreshing- if the table is refreshing
- Returns:
- the column ACLs
 
- 
hasColumnFiltersboolean hasColumnFilters()Returns true if there are any column Filters defined for this EdgeAclProvider.- Returns:
- true if any column filters are defined, false if no column filters are defined
 
- 
hasOrphanPromotionboolean hasOrphanPromotion()Returns true if orphans should be promoted when this provider is applied to aTreeTable.- Returns:
- true if orphans should be promoted during ACL application.
 
- 
getGroupsGet the set of groups that may access the table this ACL guards.- Returns:
- the set of groups that may access the table
 
- 
applyToAttach the ACLs to the specified table- Parameters:
- table- the table to apply ACLs to
- Returns:
- the table with ACLs applied
 
- 
applyToApplies the given provider to a RollupTable.Only Row ACLs are permitted, column ACLs are not permitted. - Parameters:
- table- the hierarchical table to apply the ACL to
- Returns:
- the hierarchical table with the applied ACL
 
- 
applyToApplies the given provider to a TreeTable.Only Row ACLs are permitted, column ACLs are not permitted. - Parameters:
- table- the hierarchical table to apply the ACL to
- Returns:
- the hierarchical table with the applied ACL
 
- 
applyToApplies the given provider to a PivotTable.Only Row ACLs are permitted, column ACLs are not permitted. - Parameters:
- table- the hierarchical table to apply the ACL to
- Returns:
- the hierarchical table with the applied ACL
 
 
-