|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.axiondb.event.BaseTableModificationPublisher
org.axiondb.engine.tables.AbstractBaseTable
org.axiondb.engine.tables.BaseTable
public abstract class BaseTable
An abstract base implementation of Table.
| Field Summary |
|---|
| Fields inherited from interface org.axiondb.Table |
|---|
REGULAR_TABLE_TYPE, SYSTEM_TABLE_TYPE |
| Constructor Summary | |
|---|---|
BaseTable(java.lang.String name)
|
|
| Method Summary | |
|---|---|
void |
addColumn(Column col)
Add the given Columnto this table. |
void |
addConstraint(Constraint constraint)
|
void |
addIndex(Index index)
Add an index, associating it with a Column, and adding it as a
org.axiondb.TableModificationListenerto the table. |
void |
addRow(Row row)
Insert the given Row. |
abstract void |
applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids)
Remove the specified rows from this table and any associated indices. |
protected void |
applyDeletesToIndices(org.apache.commons.collections.primitives.IntCollection rowIds)
|
abstract void |
applyInserts(RowCollection rows)
Insert the given rows into this table and any associated indices. |
protected void |
applyInsertsToIndices(RowCollection rows)
|
abstract void |
applyUpdates(RowCollection rows)
Update the given rows in this table and any associated indices. |
protected void |
applyUpdatesToIndices(RowCollection rows)
|
void |
checkpoint()
|
protected void |
clearCache()
|
void |
deleteRow(Row row)
Delete the given Row. |
void |
drop()
Drop this table from the database. |
abstract void |
freeRowId(int id)
Un-reserve a row id. |
Column |
getColumn(int index)
Return the Columncorresponding to the given zero-based index . |
Column |
getColumn(java.lang.String name)
Return the Columnfor the given name . |
int |
getColumnCount()
Return the number of Columns I contain. |
java.util.List |
getColumnIdentifiers()
Return an readonly Listover the ColumnIdentifiersfor
my Columns. |
int |
getColumnIndex(java.lang.String name)
Return the zero-based index of the Columnwith the given name . |
Constraint |
getConstraint(java.lang.String name)
|
java.util.Iterator |
getConstraints()
|
RowIterator |
getIndexedRows(RowSource source,
Selectable node,
boolean readOnly)
|
RowIterator |
getIndexedRows(Selectable node,
boolean readOnly)
|
Index |
getIndexForColumn(Column column)
Return the first Indexthat pertains to the given Column, or
null if no such Indexexists. |
java.util.Iterator |
getIndices()
Obtain an Iteratorover my indices. |
java.lang.String |
getName()
Get the name of this table. |
abstract int |
getNextRowId()
Reserve a row id. |
abstract Row |
getRow(int id)
|
abstract int |
getRowCount()
Return the number of Rows I contain. |
protected abstract RowIterator |
getRowIterator()
|
RowIterator |
getRowIterator(boolean readOnly)
Obtain an iteratorover my Rows. |
Sequence |
getSequence()
|
java.lang.String |
getType()
Get the type of this table. |
boolean |
hasColumn(ColumnIdentifier id)
Indicate whether the ColumnIdentifierreferences a column in this table |
boolean |
hasIndex(java.lang.String name)
|
boolean |
isColumnIndexed(Column column)
Check to see if an Indexexists for the given Column |
boolean |
isPrimaryKeyConstraintExists(java.lang.String columnName)
check if primary constraint exists on a column |
boolean |
isUniqueConstraintExists(java.lang.String columnName)
check if unique constraint exists on a column |
RowDecorator |
makeRowDecorator()
|
TransactableTable |
makeTransactableTable()
Create a TransactableTablefor this table. |
protected void |
notifyColumnsOfNewLobDir(java.io.File directory)
|
abstract void |
populateIndex(Index index)
Populate an Index, adding my current rows to it. |
protected void |
readColumns(java.io.ObjectInputStream in)
|
protected void |
readConstraints(java.io.ObjectInputStream in,
Database db)
|
protected void |
recreateIndices()
|
void |
remount(java.io.File dir,
boolean datafilesonly)
Notify this table that its disk-location has moved. |
Constraint |
removeConstraint(java.lang.String name)
|
void |
removeIndex(Index index)
Remove an index, both from the indices and as a TableModificationListener |
void |
rename(java.lang.String oldName,
java.lang.String newName)
|
protected void |
setName(java.lang.String name)
|
void |
setSequence(Sequence seq)
|
protected void |
setType(java.lang.String type)
|
void |
shutdown()
The database is shutting down, shutdown this table also. |
java.lang.String |
toString()
|
protected void |
truncateIndices()
|
void |
updateRow(Row oldrow,
Row newrow)
Update the given Row. |
protected void |
writeColumns(java.io.ObjectOutputStream out)
|
protected void |
writeConstraints(java.io.ObjectOutputStream out)
|
| Methods inherited from class org.axiondb.engine.tables.AbstractBaseTable |
|---|
checkConstraints, checkConstraints, checkConstraints, getMatchingRows, hasDeferredConstraint, isDeferAll, migrate |
| Methods inherited from class org.axiondb.event.BaseTableModificationPublisher |
|---|
addTableModificationListener, getTableModificationListeners, publishEvent, removeTableModificationListener, setDeferAllConstraints |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.axiondb.Table |
|---|
addTableModificationListener, getMatchingRows, getTableModificationListeners, migrate, removeTableModificationListener, setDeferAllConstraints, truncate |
| Constructor Detail |
|---|
public BaseTable(java.lang.String name)
| Method Detail |
|---|
public abstract void applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids)
throws AxionException
Table
applyDeletes in interface TableAxionException
public abstract void applyInserts(RowCollection rows)
throws AxionException
Table
applyInserts in interface Tablerows - a collection of Rows
AxionException
public abstract void applyUpdates(RowCollection rows)
throws AxionException
Table
applyUpdates in interface TableAxionExceptionpublic abstract void freeRowId(int id)
Table
freeRowId in interface Tablepublic abstract int getNextRowId()
Table
getNextRowId in interface Tablepublic abstract int getRowCount()
TableRows I contain.
getRowCount in interface Table
public abstract void populateIndex(Index index)
throws AxionException
TableIndex, adding my current rows to it. Does not
addthe index.
populateIndex in interface TableAxionExceptionTable.addIndex(org.axiondb.Index)
public abstract Row getRow(int id)
throws AxionException
getRow in interface RowSourceAxionException
protected abstract RowIterator getRowIterator()
throws AxionException
AxionException
public RowIterator getRowIterator(boolean readOnly)
throws AxionException
Tableiteratorover my Rows.
getRowIterator in interface TablereadOnly - when true, the caller does not expect to be able to
modify (i.e., call RowIterator.set(org.axiondb.Row)or RowIterator.remove()on)
the returned RowIterator, the returned iterator may be
unmodifiable.
AxionException
public void addRow(Row row)
throws AxionException
TableRow.
addRow in interface TableAxionException
public void checkpoint()
throws AxionException
checkpoint in interface TableAxionException
public void setSequence(Sequence seq)
throws AxionException
setSequence in interface TableAxionExceptionpublic final Sequence getSequence()
getSequence in interface Table
public void deleteRow(Row row)
throws AxionException
TableRow.
deleteRow in interface TableAxionException
public void updateRow(Row oldrow,
Row newrow)
throws AxionException
TableRow.
updateRow in interface TableAxionException
protected void truncateIndices()
throws AxionException
AxionException
protected void recreateIndices()
throws AxionException
AxionExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic final java.lang.String getName()
Table
getName in interface Tablepublic final java.lang.String getType()
Table
getType in interface Tableprotected void setType(java.lang.String type)
protected void setName(java.lang.String name)
public void addConstraint(Constraint constraint)
throws AxionException
addConstraint in interface TableAxionExceptionpublic final Constraint getConstraint(java.lang.String name)
getConstraint in interface Tablepublic Constraint removeConstraint(java.lang.String name)
removeConstraint in interface Tablepublic boolean isUniqueConstraintExists(java.lang.String columnName)
isUniqueConstraintExists in interface TablecolumnName - name of the columm
public boolean isPrimaryKeyConstraintExists(java.lang.String columnName)
isPrimaryKeyConstraintExists in interface TableColumnName - name of the column
public java.util.Iterator getConstraints()
getConstraints in interface Table
public void addIndex(Index index)
throws AxionException
TableColumn, and adding it as a
org.axiondb.TableModificationListenerto the table.
addIndex in interface TableAxionExceptionTable.addIndex(org.axiondb.Index),
Table.addTableModificationListener(org.axiondb.event.TableModificationListener),
Table.getIndexForColumn(org.axiondb.Column),
Table.isColumnIndexed(org.axiondb.Column),
Table.populateIndex(org.axiondb.Index)
public void removeIndex(Index index)
throws AxionException
Table
removeIndex in interface TableAxionExceptionpublic Index getIndexForColumn(Column column)
TableIndexthat pertains to the given Column, or
null if no such Indexexists.
getIndexForColumn in interface TableColumn, or null if no such
Indexexistspublic boolean isColumnIndexed(Column column)
TableIndexexists for the given Column
isColumnIndexed in interface Tablecolumn - Columnto check
Indexfor the given Column
public RowIterator getIndexedRows(Selectable node,
boolean readOnly)
throws AxionException
getIndexedRows in interface TablereadOnly - when true, the caller does not expect to be able to
modify (i.e., call RowIterator.set(org.axiondb.Row)or RowIterator.remove()on)
the returned RowIterator, the returned iterator may be
unmodifiable.
AxionException
public RowIterator getIndexedRows(RowSource source,
Selectable node,
boolean readOnly)
throws AxionException
getIndexedRows in interface TableAxionException
public void addColumn(Column col)
throws AxionException
Columnto this table. This implementation throws an
AxionExceptionif rows have already been added to the table.
addColumn in interface TableAxionExceptionprotected final void clearCache()
public boolean hasColumn(ColumnIdentifier id)
TableColumnIdentifierreferences a column in this table
hasColumn in interface Tablepublic final Column getColumn(int index)
TableColumncorresponding to the given zero-based index .
getColumn in interface Tablepublic Column getColumn(java.lang.String name)
TableColumnfor the given name .
getColumn in interface Table
public int getColumnIndex(java.lang.String name)
throws AxionException
TableColumnwith the given name .
getColumnIndex in interface RowSourcegetColumnIndex in interface TableAxionExceptionpublic java.util.List getColumnIdentifiers()
TableListover the ColumnIdentifiersfor
my Columns.
getColumnIdentifiers in interface Tablepublic final int getColumnCount()
TableColumns I contain.
getColumnCount in interface RowSourcegetColumnCount in interface Table
public void drop()
throws AxionException
Table
drop in interface TableAxionException
public void remount(java.io.File dir,
boolean datafilesonly)
throws AxionException
Table
remount in interface TableAxionException
public void rename(java.lang.String oldName,
java.lang.String newName)
throws AxionException
rename in interface TableAxionException
public void shutdown()
throws AxionException
Table
shutdown in interface TableAxionExceptionpublic RowDecorator makeRowDecorator()
makeRowDecorator in interface RowSourcemakeRowDecorator in interface Tablepublic TransactableTable makeTransactableTable()
TableTransactableTablefor this table.
makeTransactableTable in interface Tablepublic java.util.Iterator getIndices()
TableIteratorover my indices.
getIndices in interface Tablepublic boolean hasIndex(java.lang.String name)
hasIndex in interface Table
protected void notifyColumnsOfNewLobDir(java.io.File directory)
throws AxionException
AxionException
protected void writeColumns(java.io.ObjectOutputStream out)
throws java.io.IOException
java.io.IOException
protected void readColumns(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected void writeConstraints(java.io.ObjectOutputStream out)
throws java.io.IOException
java.io.IOException
protected void readConstraints(java.io.ObjectInputStream in,
Database db)
throws java.io.IOException,
java.lang.ClassNotFoundException,
AxionException
java.io.IOException
java.lang.ClassNotFoundException
AxionException
protected void applyDeletesToIndices(org.apache.commons.collections.primitives.IntCollection rowIds)
throws AxionException
AxionException
protected void applyUpdatesToIndices(RowCollection rows)
throws AxionException
AxionException
protected void applyInsertsToIndices(RowCollection rows)
throws AxionException
AxionException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||