Interface Deflatable<OBJECT_TYPE>

All Known Subinterfaces:
ContextAwareLiveWidget<TYPE>, DynamicTable, LazySnapshotTable, LiveWidget<TYPE>, LiveWidgetAclFilterable<TYPE>, RemoteTableHandle.TableProxy, Table, TableMap, TableMapProxyHandler.TableMapProxy
All Known Implementing Classes:
AppendOnlyArrayBackedMutableTable, BaseTable, ConnectionAwareRemoteTable, DBPlot.LiveJFreeChartWrapper, DeferredViewTable, FetchQuery.ViewportPair, FigureWidget, FilteredTableMap, HierarchicalTable, InitialSnapshotTable, InMemoryTable, KeyedArrayBackedMutableTable, LastByTableImportState.ResultTableMap, LiveInputTableEditor, LiveOneClickTable, LiveOneClickTimer, LivePivotWidget, LiveQueryTable, LiveTableMapSelector, LiveXYWidget, LocalTableMap, NestedPartitionedDiskBackedTable, PandasDataFrameWidget, PartitionAwareSourceTable, PreemptiveUpdatesTable, QueryReplayGroupedTable, QueryTable, QueryTable.FilteredTable, RedefinableTable, ReplayGroupedFullTable, ReplayLastByGroupedTable, ReplayTable, ReplicatedTable, SimpleSourceTable, SourceTable, SplayedDiskBackedTable, SubscriptionSnapshotTable, TableMapClient, TableMapImpl, TableMapSupplier, TableMapUtils.TableHolder, TableStruct, TimeTable, UncoalescedTable, UpdatableTable, WrappedDelegatingTable

public interface Deflatable<OBJECT_TYPE>
A deflatable is an object that can be sent over a QueryProcessorConnection as a handle rather than using serialization. The deflate method is called to create an Inflatable which is serialized over the connection. On the client-side, the Inflatable is generally converted to a Proxy. This is used to send Table handles TableMap handles and widgets containing them to the client.
  • Method Details

    • deflate

      Convert this object into an Inflatable suitable for serialization.
      Parameters:
      client - the ExportedObjectClient we are deflating for.
      Returns:
      an Inflatable for serializing to the client
    • maybeDeflate

      static Object maybeDeflate​(@NotNull ExportedObjectClient client, Object value)
      Deflate a value if it is a Deflatable, otherwise send it as is.
      Parameters:
      client - the ExportedObjectClient we are deflating for
      value - the object to Deflate
      Returns:
      an Inflatable if value was Deflatble, or the original value