Class AppendOnlyArrayBackedMutableTable

All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable, LiveTable, NotificationQueue.Dependency, Deflatable<Table>, Table, LivenessManager, LivenessNode, LivenessReferent, LongSizedDataStructure, DynamicNode, DynamicTable, NotificationStepReceiver, NotificationStepSource, SystemicObject, Serializable, Runnable

public class AppendOnlyArrayBackedMutableTable extends UpdatableTable
An in-memory table that allows you to add rows as if it were an InputTable, which can be updated on the LTM. The table is not keyed, all rows are added to the end of the table. Deletions and edits are not permitted.
See Also:
  • Field Details

    • inputTableDefinition

      protected final com.illumon.iris.web.shared.data.InputTableDefinition inputTableDefinition
  • Method Details

    • make

      public static AppendOnlyArrayBackedMutableTable make(@NotNull TableDefinition definition)
      Create an empty AppendOnlyArrayBackedMutableTable with the given definition.
      Parameters:
      definition - the definition of the new table.
      Returns:
      an empty AppendOnlyArrayBackedMutableTable with the given definition
    • make

      public static AppendOnlyArrayBackedMutableTable make(@NotNull TableDefinition definition, Map<String,Object[]> enumValues)
      Create an empty AppendOnlyArrayBackedMutableTable with the given definition.
      Parameters:
      definition - the definition of the new table.
      enumValues - a map of column names to enumeration values
      Returns:
      an empty AppendOnlyArrayBackedMutableTable with the given definition
    • make

      public static AppendOnlyArrayBackedMutableTable make(Table initialTable)
      Create an AppendOnlyArrayBackedMutableTable with the given initial data.
      Parameters:
      initialTable - the initial values to copy into the AppendOnlyArrayBackedMutableTable
      Returns:
      an empty AppendOnlyArrayBackedMutableTable with the given definition
    • make

      public static AppendOnlyArrayBackedMutableTable make(Table initialTable, Map<String,Object[]> enumValues)
      Create an AppendOnlyArrayBackedMutableTable with the given initial data.
      Parameters:
      initialTable - the initial values to copy into the AppendOnlyArrayBackedMutableTable
      enumValues - a map of column names to enumeration values
      Returns:
      an empty AppendOnlyArrayBackedMutableTable with the given definition
    • processPendingTable

      protected void processPendingTable(Table table, boolean allowEdits, UpdatableTable.IndexChangeRecorder indexChangeRecorder, Consumer<String> errorNotifier)
    • processPendingDelete

      protected void processPendingDelete(Table table, UpdatableTable.IndexChangeRecorder indexChangeRecorder)
    • getDefaultDescription

      protected String getDefaultDescription()
    • makeColumnSourceMap

      protected static Map<String,? extends ArrayBackedColumnSource<?>> makeColumnSourceMap(TableDefinition definition)
    • setDescription

      public com.illumon.iris.db.v2.utils.BaseArrayBackedMutableTable setDescription(String newDescription)
    • refresh

      public void refresh()
      Description copied from interface: LiveTable
      Refresh this LiveTable.
      Specified by:
      refresh in interface LiveTable
      Overrides:
      refresh in class UpdatableTable