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 PivotTableapplyTo(@NotNull EdgeAclProvider provider, @NotNull PivotTable table) static io.deephaven.enterprise.acl.impl.EdgeAclImpl.Builderbuilder()Get a builder for constructing an EdgeAclImpl@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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:EdgeAclProviderGet the set ofWhereFilters that should be disjunctively applied to requested tables.- Specified by:
getRowFiltersin 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:EdgeAclProviderGet the column ACLs to apply to requested tables.- Specified by:
getColumnFiltersin 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:EdgeAclProviderReturns true if there are any column Filters defined for this EdgeAclProvider.- Specified by:
hasColumnFiltersin interfaceEdgeAclProvider- Returns:
- true if any column filters are defined, false if no column filters are defined
-
hasOrphanPromotion
public boolean hasOrphanPromotion()Description copied from interface:EdgeAclProviderReturns true if orphans should be promoted when this provider is applied to aTreeTable.- Specified by:
hasOrphanPromotionin interfaceEdgeAclProvider- Returns:
- true if orphans should be promoted during ACL application.
-
getGroups
Description copied from interface:EdgeAclProviderGet the set of groups that may access the table this ACL guards.- Specified by:
getGroupsin 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)
-