class IO2GMessagesTable

Parents
IO2GTable

Brief

The class keeps in memory the up-to-date information about dealing desk messages received during the current trading day.

Details

The class is an in-memory representation of the Messages table.
In order to keep this representation in sync with the trading server, you must instantiate the class and listen to the updates coming from the trading server. The class provides methods to find individual messages, represented by the IO2GMessageTableRow.

Prerequisites

The class is available only through the use of the IO2GTableManager. An IO2GTableManager object must have the O2GTableManagerStatus.TablesLoaded status.
For complete instructions on the table manager usage, see the How to use table manager in ForexConnect API section.

Instantiating the class

In order to get messages information for the first time, you must obtain an instance of the class by calling the IO2GTableManager.getTable method. For example,

O2GMessagesTable messagesTable = (O2GMessagesTable)tableManager.getTable(O2GTable::Messages);

Receiving notifications about the Messages table updates

In order to keep the O2GMessagesTable data current, your application must listen to the new messages coming from the trading server. An instance of the class implementing the IO2GTableListener interface must be subscribed to the table update of the O2GTableUpdateType.Insert type. Before the logout, you must unsubscribe the listener from this update type. The table below shows the subscription/unsubsription syntax for the O2GMessagesTable:

Update type

Subscribe syntax

Unsubscribe syntax

INSERT

messagesTable.subscribeUpdate(O2GTableUpdateType.INSERT, tableListener);

messagesTable.unsubscribeUpdate(O2GTableUpdateType.INSERT, tableListener);

Note: Messages are not changed or deleted during the trading session. Therefore, you do not receive updates of the Update or the Delete types during the trading session and there is no need to subscribe to them.

Public Methods

columns

Gets an instance of the class that provides access to the list of table columns.

findRow

Finds a row in the IO2GMessagesTable by MsgID.

forEachRow

Iterates through the rows of the table.

getCell

Gets the value of a cell.

getGenericRow

Gets a generic row by its index.

getNextGenericRow

Gets the next row from the IO2GTable.

getNextGenericRowByColumnValue

Gets the next row from IO2GTable based on the column value.

getNextGenericRowByColumnValues

Gets the next row from IO2GTable based on any of the column values.

getNextGenericRowByMultiColumnValues

Gets the next row from IO2GTable based on the multiple columns values.

getNextRow

Gets the next row from the IO2GMessagesTable.

getNextRowByColumnValue

Gets the next row from IO2GMessagesTable based on the column value.

getNextRowByColumnValues

Gets the next row from IO2GMessagesTable based on any of the column values.

getNextRowByMultiColumnValues

Gets the next row from IO2GMessagesTable based on the multiple columns values.

getRow

Gets a row from the IO2GMessagesTable by its index.

getStatus

Gets the status of the table.

getType

Gets the type of a trading table.

isCellChanged

Defines whether the cell is changed.

isCellValid

Checks whether the cell value can be used or not.

size

Gets the number of rows in the reader.

subscribeStatus

Subscribes table listener to changes in table status.

subscribeUpdate

Subscribes table listener to table updates.

unsubscribeStatus

Unsubscribes table listener from changes in table status.

unsubscribeUpdate

Unsubscribes table listener from table updates.

back