Class TableInfo

java.lang.Object
com.lightstreamer.interfaces.metadata.TableInfo

public class TableInfo extends Object
Used by Lightstreamer to provide value objects to the calls to methods MetadataProvider.notifyNewTables(java.lang.String, java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]) and MetadataProvider.notifyTablesClose(java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]). The attributes of every Table (i.e.: Subscription) to be added or removed to a Session have to be written to a TableInfo instance. The object also provides useful queries and operations that can be performed on its specific Table (i.e.: Subscription).
  • Constructor Summary

    Constructors
    Constructor
    Description
    TableInfo(int winIndex, Mode mode, String group, String dataAdapter, String schema, int min, int max, String selector, String[] itemNames, SubscriptionStatistics[] itemSubscrStats)
    Used by Lightstreamer to create a TableInfo instance, collecting the various attributes of a Table (i.e.: Subscription).
  • Method Summary

    Modifier and Type
    Method
    Description
    Enforces the unsubscription of this Table (i.e.: Subscription).
    Returns the name of the Data Adapter to which the Table (i.e.: Subscription) refers.
    Returns the name of the Item Group (or specification of the Item List) to which the subscribed Items belong.
    int
    Returns the index of the last Item in the Group to be considered in the Table (i.e.: Subscription).
    int
    Returns the index of the first Item in the Group to be considered in the Table (i.e.: Subscription).
    Returns the publishing Mode for the Items in the Table (i.e.: Subscription) (it must be the same across all the Table).
    Returns the name of the Field Schema (or specification of the Field List) used for the subscribed Items.
    Returns the name of the optional Selector associated to the Table (i.e.: Subscription).
    Returns the array of the Item names involved in this Table (i.e.: Subscription).
    Returns an array that contains the statistics related with the activity of all items involved in this Table (i.e.: Subscription).
    int
    Returns a unique identifier of the client subscription request within the session.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • TableInfo

      public TableInfo(int winIndex, @Nonnull Mode mode, @Nonnull String group, @Nonnull String dataAdapter, @Nonnull String schema, int min, int max, @Nullable String selector, @Nonnull String[] itemNames, @Nullable SubscriptionStatistics[] itemSubscrStats)
      Used by Lightstreamer to create a TableInfo instance, collecting the various attributes of a Table (i.e.: Subscription).
      Parameters:
      winIndex - Unique identifier of the client subscription request within the session.
      mode - Publishing Mode for the Items in the Table (i.e.: Subscription) (it must be the same across all the Table).
      group - The name of the Item Group (or specification of the Item List) to which the subscribed Items belong.
      dataAdapter - The name of the Data Adapter to which the Table (i.e.: Subscription) refers.
      schema - The name of the Field Schema (or specification of the Field List) used for the subscribed Items.
      selector - The name of the optional Selector associated to the table (i.e.: Subscription).
      min - The 1-based index of the first Item in the Group to be considered in the Table (i.e.: Subscription).
      max - The 1-based index of the last Item in the Group to be considered in the Table (i.e.: Subscription).
      itemNames - The array of Item names involved in this Table (i.e.: Subscription).
      itemSubscrStats - An optional array that contains the statistics related with the activity of this subscription.
  • Method Details

    • getWinIndex

      public int getWinIndex()
      Returns a unique identifier of the client subscription request within the session. This allows for matching the corresponding subscription and unsubscription requests. Note that, for clients based on a very old version of a client library or text protocol, subscription requests may involve multiple Tables (i.e.: Subscriptions), hence multiple objects of this type can be supplied in a single array by MetadataProvider.notifyNewTables(java.lang.String, java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]) and MetadataProvider.notifyTablesClose(java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]). In this case, the value returned is the same for all these objects and the single Tables (i.e.: Subscriptions) can be identified by their relative position in the array.
      Returns:
      a Window identifier.
    • getMode

      @Nonnull public Mode getMode()
      Returns the publishing Mode for the Items in the Table (i.e.: Subscription) (it must be the same across all the Table).
      Returns:
      a publishing Mode.
    • getId

      @Nonnull public String getId()
      Returns the name of the Item Group (or specification of the Item List) to which the subscribed Items belong.
      Returns:
      an Item Group name (or Item List specification).
    • getDataAdapter

      @Nonnull public String getDataAdapter()
      Returns the name of the Data Adapter to which the Table (i.e.: Subscription) refers.
      Returns:
      a Data Adapter name.
    • getSchema

      @Nonnull public String getSchema()
      Returns the name of the Field Schema (or specification of the Field List) used for the subscribed Items.
      Returns:
      a Field Schema name (or Field List specification).
    • getSelector

      @Nullable public String getSelector()
      Returns the name of the optional Selector associated to the Table (i.e.: Subscription).
      Returns:
      a Selector name, or null if no Selector was associated to the Table.
    • getMin

      public int getMin()
      Returns the index of the first Item in the Group to be considered in the Table (i.e.: Subscription). Such restriction can be specified in the client request.
      Returns:
      a 1-based index.
    • getMax

      public int getMax()
      Returns the index of the last Item in the Group to be considered in the Table (i.e.: Subscription). Such restriction can be specified in the client request.
      Returns:
      a 1-based index.
    • getSubscribedItems

      @Nonnull public String[] getSubscribedItems()
      Returns the array of the Item names involved in this Table (i.e.: Subscription). The sequence of names is the same one returned by MetadataProvider.getItems(String, String, String) when decoding of the group name, but restricted, in case a first and/or last Item was specified in the client request (see getMin() and getMax()).
      Returns:
      an Array of Item names.
    • getSubscriptionStatistics

      @Nullable public SubscriptionStatistics[] getSubscriptionStatistics()
      Returns an array that contains the statistics related with the activity of all items involved in this Table (i.e.: Subscription). Each entry refers to one item and the order is the same as returned by getSubscribedItems(). These statistics are available only on the objects supplied by calls to MetadataProvider.notifyTablesClose(java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]), so that the statistics will refer to the whole life of the subscription.
      Returns:
      an Array of statistics-gathering objects or null.
    • forceUnsubscription

      @Nonnull public CompletionStage<Void> forceUnsubscription()
      Enforces the unsubscription of this Table (i.e.: Subscription). If the unsubscription was already performed, the call does nothing. The latter holds, in particular, when this object has been obtained from an invocation of MetadataProvider.notifyTablesClose(java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]).
      The unsubscription is usually requested by the client, but this method can override the client intentions. In this case, the client will just receive the notification of the unsubscription according with the API in use, but with no other information as to the cause.
      Invoking this request while still inside MetadataProvider.notifyNewTables(java.lang.String, java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]) is pointless; however, the request will be held, then carried out after the underlying subscription attempt has finished.
      Note: the operation is only available when this object has been obtained from an invocation of MetadataProvider.notifyNewTables(java.lang.String, java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]) which has provided an array of TableInfo with a single element (this one); otherwise it will do nothing. However, the case of arrays with multiple elements is only possible when extremely old client SDKs are in use.
      Returns:
      A CompletionStage that provides the operation outcome. Note that any continuations requested to this CompletionStage without explicitly providing an Executor will be performed in the same thread pool used for MetadataProvider.notifyNewTables(java.lang.String, java.lang.String, com.lightstreamer.interfaces.metadata.TableInfo[]), hence they are expected to execute fast.
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class Object