Interface LivenessReferent

All Known Subinterfaces:
BasicDataIndex, ColumnSourceManager, DataIndex, DelegatingLivenessNode, HierarchicalTable<IFACE_TYPE>, HierarchicalTable.SnapshotState, LazySnapshotTable, LivenessNode, PartitionedTable, QueryScope, RollupTable, ScriptSession, ShiftObliviousListener, Table, TableAdapter, TableDefaults, TableListener, TableUpdateListener, TreeTable
All Known Implementing Classes:
AbstractDataIndex, AbstractScriptSession, AbstractScriptSession.ScriptSessionQueryScope, AppendOnlyArrayBackedInputTable, AppendOnlyAssertionInstrumentedListenerAdapter, AutoTuningIncrementalReleaseFilter, BarrageBlinkTable, BarrageMessageProducer, BarrageRedirectedTable, BarrageSnapshotImpl, BarrageSubscriptionImpl, BarrageTable, BaseGridAttributes, BaseIncrementalReleaseFilter, BaseTable, BaseTable.ListenerImpl, BaseTable.ShiftObliviousListenerImpl, BucketedChunkedAjMergedListener, ClockFilter, ComposedFilter, ConjunctiveFilter, DeferredViewTable, DeferredViewTable.TableReference, DelegatingScriptSession, DisjunctiveFilter, DynamicWhereFilter, EmptyQueryScope, FigureWidget, GroovyDeephavenSession, HierarchicalTableView, HierarchicalTableViewSubscription, IncrementalReleaseFilter, InitialSnapshotTable, InMemoryTable, InstrumentedTableListenerBase, InstrumentedTableUpdateListener, InstrumentedTableUpdateListenerAdapter, JoinListenerRecorder, KafkaStreamPublisher, KeyedArrayBackedInputTable, ListenerRecorder, LiveAttributeMap, LivenessArtifact, LivenessScope, LivePyObjectWrapper, MergedListener, NoLanguageDeephavenSession, PartitionAwareSourceTable, PartitionedTableImpl, PoisonedQueryScope, PrintListener, PublishToKafka, PythonDeephavenSession, PythonListenerAdapter, PythonMergedListenerAdapter, PythonReplayListenerAdapter, PythonReplayShiftObliviousListenerAdapter, PythonShiftObliviousListenerAdapter, QueryReplayGroupedTable, QueryTable, QueryTable.FilteredTable, RedefinableTable, ReferenceCountedLivenessNode, ReferenceCountedLivenessReferent, RegionedColumnSourceManager, RemappedDataIndex, ReplayGroupedFullTable, ReplayLastByGroupedTable, ReplayTable, ReplayTableBase, RollingReleaseFilter, RollupTableImpl, SessionState.ExportObject, ShiftObliviousInstrumentedListener, ShiftObliviousInstrumentedListenerAdapter, SimpleSourceTable, SnapshotIncrementalListener, SnapshotInternalListener, SortedAssertionInstrumentedListenerAdapter, SortedClockFilter, SortListener, SourcePartitionedTable, SourceTable, StandaloneDataIndex, StandaloneQueryScope, StreamPublisherBase, TableBackedDataIndex, TableSupplier, TimeSeriesFilter, TimeTable, ToMapListener, TransformedDataIndex, TreeTableImpl, UncoalescedTable, UnsortedClockFilter, UpdatableTable, UpdateSourceCombiner, UpdateSourceQueryTable, WhereFilterLivenessArtifactImpl, ZeroKeyChunkedAjMergedListener

public interface LivenessReferent
Interface for objects that continue to "live" while retained by a LivenessManager.
  • Method Details

    • retainReference

      default void retainReference()
      Record a reference to this LivenessReferent, which must later be dropped.
      Throws:
      LivenessStateException - If this referent is no longer "live"
    • tryRetainReference

      boolean tryRetainReference()
      If this referent is "live", behave as retainReference() and return true. Otherwise, returns false rather than throwing an exception.
      Returns:
      True if this referent was retained, false otherwise
    • dropReference

      void dropReference()
      Drop a previously-retained reference to this referent.
    • getWeakReference

      WeakReference<? extends LivenessReferent> getWeakReference()
      Get a WeakReference to this referent. This may be cached, or newly created.
      Returns:
      A new or cached reference to this referent
    • getReferentDescription

      default String getReferentDescription()
      Get a name that is suitable for uniquely identifying this LivenessReferent in debug and error messages. This is usually not the same as Object.toString().
      Returns:
      A unique name for this referent for debugging and error message purposes