Interface SymbolTableSource<SYMBOL_TYPE>

All Superinterfaces:
ChunkSource<Attributes.Values>, ChunkSource.WithPrev<Attributes.Values>, ColumnSource<SYMBOL_TYPE>, DefaultChunkSource<Attributes.Values>, DefaultChunkSource.WithPrev<Attributes.Values>, ElementSource<SYMBOL_TYPE>, FillContextMaker, GetContextMaker, Releasable, TupleExporter<SYMBOL_TYPE>, TupleSource<SYMBOL_TYPE>
All Known Implementing Classes:
RegionedColumnSourceObjectWithDictionary

public interface SymbolTableSource<SYMBOL_TYPE>
extends ColumnSource<SYMBOL_TYPE>

Interface for ColumnSources that can provide a Table view of their symbol tables, providing a many:1 or 1:1 mapping of unique long identifiers to the symbol values in this source.

Such sources are also expected to be reinterpretable (ColumnSource.allowsReinterpret(Class)) as long ColumnSources of the same identifiers.

  • Field Details

  • Method Details

    • hasSymbolTable

      boolean hasSymbolTable​(@NotNull ReadOnlyIndex sourceIndex)
      Parameters:
      sourceIndex - The Index whose keys must be mappable
      Returns:
      Whether this SymbolTableSource can provide a symbol table that covers all keys in sourceIndex.
    • getStaticSymbolTable

      Table getStaticSymbolTable​(@NotNull ReadOnlyIndex sourceIndex, boolean useLookupCaching)

      Get a static Table view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of unique long identifiers to the symbol values in this source.

      Parameters:
      sourceIndex - The Index whose keys must be mappable via the result Table's identifier column
      useLookupCaching - Whether symbol lookups performed to generate the symbol table should apply caching
      Returns:
      The symbol table
    • getSymbolTable

      Table getSymbolTable​(@NotNull QueryTable sourceTable, boolean useLookupCaching)

      Get a Table view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of unique long identifiers to the symbol values in this source.

      The result will be refreshing if table is a refreshing DynamicTable.

      Parameters:
      sourceTable - The QueryTable whose Index keys must be mappable via the result Table's identifier column
      useLookupCaching - Whether symbol lookups performed to generate the symbol table should apply caching
      Returns:
      The symbol table
    • hasSymbolTable

      static boolean hasSymbolTable​(@NotNull ColumnSource<?> source, @NotNull ReadOnlyIndex index)
      Check if the specified ColumnSource supports a symbol table for the entirety of the supplied ReadOnlyIndex.
      Parameters:
      source - the column source
      index - the index for inspection.
      Returns:
      true if the column source can provide a complete symbol table for the provided index.