Class LiveTableRefreshCombiner

All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable, LiveTable, LiveTableRegistrar, LivenessManager, LivenessNode, LivenessReferent, Serializable, Runnable

public class LiveTableRefreshCombiner extends LivenessArtifact implements LiveTable, LiveTableRegistrar
Combines multiple LiveTables into a single one, in order to allow for update parallelization within the LiveTableMonitor.
See Also:
  • Constructor Details

    • LiveTableRefreshCombiner

      public LiveTableRefreshCombiner()
  • Method Details

    • refresh

      public void refresh()
      Description copied from interface: LiveTable
      Refresh this LiveTable.
      Specified by:
      refresh in interface LiveTable
    • addTable

      public void addTable(@NotNull LiveTable liveTable)
      Description copied from interface: LiveTableRegistrar
      Add a table to this registrar.
      Specified by:
      addTable in interface LiveTableRegistrar
      Parameters:
      liveTable - The table to add
    • removeTable

      public void removeTable(@NotNull LiveTable liveTable)
      Description copied from interface: LiveTableRegistrar
      Remove a table from this registrar.
      Specified by:
      removeTable in interface LiveTableRegistrar
      Parameters:
      liveTable - The table to remove
    • requestRefresh

      public void requestRefresh(@NotNull LiveTable table)
      Specified by:
      requestRefresh in interface LiveTableRegistrar
    • maybeRefreshTable

      public void maybeRefreshTable(@NotNull LiveTable table, boolean onlyIfHaveLock)
      Specified by:
      maybeRefreshTable in interface LiveTableRegistrar
    • destroy

      public void destroy()
      Description copied from class: ReferenceCountedLivenessNode

      Attempt to release (destructively when necessary) resources held by this object. This may render the object unusable for subsequent operations. Implementations should be sure to call super.destroy().

      This is intended to only ever be used as a side effect of decreasing the reference count to 0.

      Overrides:
      destroy in class ReferenceCountedLivenessNode