Interface EdgeAclTable

All Superinterfaces:
AttributeMap<Table>, DynamicNode, GridAttributes<Table>, LivenessManager, LivenessNode, LivenessReferent, LogOutputAppendable, LongSizedDataStructure, NotificationQueue.Dependency, SystemicObject<Table>, Table, TableOperations<Table,Table>
All Known Implementing Classes:
EdgeAclTableImpl

@InternalUseOnly public interface EdgeAclTable extends Table
A table that applies ACLs when a downstream operation is executed against it.

The EdgeAclTable is context sensitive, when a downstream operation is applied the effective user in the AuthContext informs the stored (but not yet applied) ACL operations to be applied. If the current user is an owner or administrator of the query, the raw table is supplied. If the current user has no access defined, then a TableAccessException is thrown. Otherwise, the ACLs are applied and the resulting table (before the downstream operation) is stored as a WeakReference.

  • Method Details

    • rawTable

      Table rawTable()
      When exporting the EdgeAclTable for an administrator, no ACLs are applied. This returns the raw table that we wrap.
      Returns:
      the wrapped table, with no ACLs applied
    • applyAcls

      Table applyAcls()
      When exporting the EdgeAclTable for a regular user, ACLs must be applied; but if the underlying table is not coalesced we need not coalesce it. This returns the table with ACLs applied; but it is not necessarily coalesced.
      Returns:
      the table, with ACLs applied