Package io.deephaven.enterprise.acl.impl
Class EdgeAclImpl
java.lang.Object
io.deephaven.enterprise.acl.impl.EdgeAclImpl
- All Implemented Interfaces:
EdgeAclProvider
A implementation of
EdgeAclProvider
that stores immutable maps of group to ACL definition.-
Field Summary
Fields inherited from interface io.deephaven.enterprise.acl.EdgeAclProvider
ACL_ATTRIBUTE
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends HierarchicalTable<T>>
TapplyTo
(@NotNull EdgeAclProvider provider, @NotNull HierarchicalTable<T> table) static PivotTable
applyTo
(@NotNull EdgeAclProvider provider, @NotNull PivotTable table) static io.deephaven.enterprise.acl.impl.EdgeAclImpl.Builder
builder()
Get a builder for constructing an EdgeAclImpl@Nullable ColumnAcl
getColumnFilters
(@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 ofWhereFilter
s that should be disjunctively applied to requested tables.boolean
Returns true if there are any column Filters defined for this EdgeAclProvider.boolean
Returns true if orphans should be promoted when this provider is applied to aTreeTable
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.deephaven.enterprise.acl.EdgeAclProvider
applyTo, applyTo, applyTo, applyTo
-
Method Details
-
getRowFilters
@Nullable public @Nullable Collection<WhereFilter>[] getRowFilters(@NotNull @NotNull AclSupport support, @NotNull @NotNull UserContext userContext, boolean isRefreshing) Description copied from interface:EdgeAclProvider
Get the set ofWhereFilter
s that should be disjunctively applied to requested tables.- Specified by:
getRowFilters
in interfaceEdgeAclProvider
- 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 public @Nullable ColumnAcl getColumnFilters(@NotNull @NotNull AclSupport support, @NotNull @NotNull UserContext userContext, @NotNull @NotNull String[] columnNames, boolean isRefreshing) Description copied from interface:EdgeAclProvider
Get the column ACLs to apply to requested tables.- Specified by:
getColumnFilters
in interfaceEdgeAclProvider
- 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
-
hasColumnFilters
public boolean hasColumnFilters()Description copied from interface:EdgeAclProvider
Returns true if there are any column Filters defined for this EdgeAclProvider.- Specified by:
hasColumnFilters
in interfaceEdgeAclProvider
- Returns:
- true if any column filters are defined, false if no column filters are defined
-
hasOrphanPromotion
public boolean hasOrphanPromotion()Description copied from interface:EdgeAclProvider
Returns true if orphans should be promoted when this provider is applied to aTreeTable
.- Specified by:
hasOrphanPromotion
in interfaceEdgeAclProvider
- Returns:
- true if orphans should be promoted during ACL application.
-
getGroups
Description copied from interface:EdgeAclProvider
Get the set of groups that may access the table this ACL guards.- Specified by:
getGroups
in interfaceEdgeAclProvider
- Returns:
- the set of groups that may access the table
-
builder
public static io.deephaven.enterprise.acl.impl.EdgeAclImpl.Builder builder()Get a builder for constructing an EdgeAclImpl- Returns:
- a new builder
-
applyTo
public static <T extends HierarchicalTable<T>> T applyTo(@NotNull @NotNull EdgeAclProvider provider, @NotNull @NotNull HierarchicalTable<T> table) -
applyTo
public static PivotTable applyTo(@NotNull @NotNull EdgeAclProvider provider, @NotNull @NotNull PivotTable table)
-