Class DeferredViewTable.TableReference

All Implemented Interfaces:
LogOutputAppendable, SimpleReference<Table>, LivenessManager, LivenessNode, LivenessReferent, Serializable
Direct Known Subclasses:
DeferredViewTable.SimpleTableReference, SourceTable.QueryTableReference
Enclosing class:
DeferredViewTable

public abstract static class DeferredViewTable.TableReference extends LivenessArtifact implements SimpleReference<Table>
The table reference hides the table underlying table from us.
See Also:
  • Method Details

    • isRefreshing

      public final boolean isRefreshing()
      Is the node updating?
      Returns:
      true if the node is updating; false otherwise.
    • get

      public abstract Table get()
      Returns the table in a form that the user can run queries on it. This may be as simple as returning a reference, but for amorphous tables, this means we need to do the work to instantiate it.
      Specified by:
      get in interface SimpleReference<Table>
      Returns:
      the table
    • getDefinition

      public abstract TableDefinition getDefinition()
      Get the definition, without instantiating the table.
      Returns:
      the definition of the table
    • getSize

      public abstract long getSize()
      What size should the uninitialized table return.
      Returns:
      the size
    • getWithWhere

      Get the table in a form that the user can run queries on it. All of the filters that can be run efficiently should be run before instantiating the full table should be run. Other filters are returned in the remainingFilters field.
      Parameters:
      whereFilters - filters to maybe apply before returning the table
      Returns:
      the instantiated table and a set of filters that were not applied.
    • selectDistinctInternal

      public Table selectDistinctInternal(Collection<? extends Selectable> columns)
      If possible to execute a selectDistinct without instantiating the full table, then do so. Otherwise return null.
      Parameters:
      columns - the columns to selectDistinct
      Returns:
      null if the operation can not be performed on an uninstantiated table, otherwise a new table with the distinct values from strColumns.
    • clear

      public final void clear()
      Description copied from interface: SimpleReference
      Clear the referent.
      Specified by:
      clear in interface SimpleReference<Table>