Class GTTableInfoDataSource

  • All Implemented Interfaces:
    MutableTableDataSource, TableDataSource

    final class GTTableInfoDataSource
    extends GTDataSource
    An implementation of MutableTableDataSource that presents information about the tables in all schema.

    NOTE: This is not designed to be a long kept object. It must not last beyond the lifetime of a transaction.

    • Field Detail

      • transaction

        private Transaction transaction
        The transaction that is the view of this information.
      • table_list

        private TableName[] table_list
        The list of all TableName visible to the transaction.
      • table_types

        private java.lang.String[] table_types
        The list of all table types that are visible.
      • row_count

        private int row_count
        The number of rows in this table.
      • DEF_DATA_TABLE_DEF

        static final DataTableDef DEF_DATA_TABLE_DEF
        The data table def that describes this table of data source.
    • Constructor Detail

      • GTTableInfoDataSource

        public GTTableInfoDataSource​(Transaction transaction)
        Constructor.
    • Method Detail

      • getRowCount

        public int getRowCount()
        Description copied from interface: TableDataSource
        Returns the number of rows in this data source.

        NOTE: Returns 'n' - getCellContents(column, row) is not necessarily valid for row = [0..n]. Use 'rowEnumerator' to generate an iterator for valid row values over this data source.

        Specified by:
        getRowCount in interface TableDataSource
        Specified by:
        getRowCount in class GTDataSource
      • getCellContents

        public TObject getCellContents​(int column,
                                       int row)
        Description copied from interface: TableDataSource
        Returns an object that represents the information in the given cell in the table. This may be an expensive operation, so calls to it should be kept to a minimum. Note that the offset between two rows is not necessarily 1. Use 'rowEnumeration' to create a row iterator.
        Specified by:
        getCellContents in interface TableDataSource
        Specified by:
        getCellContents in class GTDataSource
      • dispose

        public void dispose()
        Description copied from interface: MutableTableDataSource
        Disposes this table data source. After this method is called, most use of this object is undefined, except for the 'getCellContent' and 'compareCellContent' methods which are valid provided the source is under a root lock.
        Specified by:
        dispose in interface MutableTableDataSource
        Overrides:
        dispose in class GTDataSource