Package com.mckoi.database
Class AbstractInternalTableInfo2
- java.lang.Object
-
- com.mckoi.database.AbstractInternalTableInfo2
-
- All Implemented Interfaces:
InternalTableInfo
- Direct Known Subclasses:
ConnectionTriggerManager.TriggerInternalTableInfo,ProcedureManager.ProcedureInternalTableInfo,ViewManager.ViewInternalTableInfo
abstract class AbstractInternalTableInfo2 extends java.lang.Object implements InternalTableInfo
An implementation of InternalTableInfo that provides a number of methods to aid in the productions of the InternalTableInfo interface for a transaction specific model of a set of tables that is based on a single system table. This would be used to model table views for triggers, views, procedures and sequences all of which are table sets tied to a single table respectively, and the number of items in the table represent the number of tables to model.This abstraction assumes that the name of the schema/table are in columns 0 and 1 of the backed system table.
-
-
Field Summary
Fields Modifier and Type Field Description protected TableNametable_nameThe table in the transaction that contains the list of items we are modelling.protected TransactiontransactionThe transaction we are connected to.
-
Constructor Summary
Constructors Constructor Description AbstractInternalTableInfo2(Transaction transaction, TableName table_name)Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleancontainsTableName(TableName name)Returns true if this container contains a table with the given name.abstract MutableTableDataSourcecreateInternalTable(int index)This is the factory method for generating the internal table for the given table in this container.intfindTableName(TableName name)Finds the index in this container of the given table name, otherwise returns -1.abstract DataTableDefgetDataTableDef(int i)Returns the DataTableDef object that describes the table at the given index in this container.intgetTableCount()Returns the number of internal table sources that this object is maintaining.TableNamegetTableName(int i)Returns the name of the table at the given index in this container.abstract java.lang.StringgetTableType(int i)Returns a String that describes the type of the table at the given index.
-
-
-
Field Detail
-
transaction
protected final Transaction transaction
The transaction we are connected to.
-
table_name
protected final TableName table_name
The table in the transaction that contains the list of items we are modelling.
-
-
Constructor Detail
-
AbstractInternalTableInfo2
public AbstractInternalTableInfo2(Transaction transaction, TableName table_name)
Constructor.
-
-
Method Detail
-
getTableCount
public int getTableCount()
Description copied from interface:InternalTableInfoReturns the number of internal table sources that this object is maintaining.- Specified by:
getTableCountin interfaceInternalTableInfo
-
findTableName
public int findTableName(TableName name)
Description copied from interface:InternalTableInfoFinds the index in this container of the given table name, otherwise returns -1.- Specified by:
findTableNamein interfaceInternalTableInfo
-
getTableName
public TableName getTableName(int i)
Description copied from interface:InternalTableInfoReturns the name of the table at the given index in this container.- Specified by:
getTableNamein interfaceInternalTableInfo
-
containsTableName
public boolean containsTableName(TableName name)
Description copied from interface:InternalTableInfoReturns true if this container contains a table with the given name.- Specified by:
containsTableNamein interfaceInternalTableInfo
-
getDataTableDef
public abstract DataTableDef getDataTableDef(int i)
Description copied from interface:InternalTableInfoReturns the DataTableDef object that describes the table at the given index in this container.- Specified by:
getDataTableDefin interfaceInternalTableInfo
-
getTableType
public abstract java.lang.String getTableType(int i)
Description copied from interface:InternalTableInfoReturns a String that describes the type of the table at the given index.- Specified by:
getTableTypein interfaceInternalTableInfo
-
createInternalTable
public abstract MutableTableDataSource createInternalTable(int index)
Description copied from interface:InternalTableInfoThis is the factory method for generating the internal table for the given table in this container. This should return an implementation of MutableTableDataSource that is used to represent the internal data being modelled.This method is allowed to throw an exception for table objects that aren't backed by a MutableTableDataSource, such as a view.
- Specified by:
createInternalTablein interfaceInternalTableInfo
-
-