|
||||||||||
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.TableView
public class TableView
A sub-query view Table
.
Field Summary | |
---|---|
static String |
SUBQUERY
|
static String |
VIEW
|
Fields inherited from interface org.axiondb.Table |
---|
REGULAR_TABLE_TYPE, SYSTEM_TABLE_TYPE |
Constructor Summary | |
---|---|
TableView(Database db,
RowIterator rowIterator,
Map colIdToFieldMap,
List select,
List trueColumns,
String name)
|
|
TableView(Database db,
RowIterator rowIterator,
Map colIdToFieldMap,
List select,
List trueColumns,
String name,
String type)
|
|
TableView(Database db,
String name)
|
Method Summary | |
---|---|
void |
addColumn(Column col)
Add the given Column to 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.TableModificationListener to the table. |
void |
addRow(Row row)
Insert the given Row . |
void |
applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids)
Remove the specified rows from this table and any associated indices. |
void |
applyInserts(Collection rows)
Insert the given rows into this table and any associated indices. |
void |
applyUpdates(Collection rows)
Update the given rows in this table and any associated indices. |
RowDecorator |
buildRowDecorator()
|
protected boolean |
deleteFile(File file)
|
void |
drop()
Drop this table from the database. |
void |
freeRowId(int id)
Un-reserve a row id. |
Column |
getColumn(int index)
Return the Column corresponding to the given zero-based index . |
Column |
getColumn(String name)
Return the Column for the given name . |
int |
getColumnCount()
Return the number of Column s I contain. |
List |
getColumnIdentifierList(TableIdentifier table)
|
Iterator |
getColumnIdentifiers()
Return an Iterator over the ColumnIdentifiers for
my Column s. |
int |
getColumnIndex(String name)
Return the zero-based index of the Column with the given name . |
Iterator |
getConstraints()
|
RowIterator |
getIndexedRows(Selectable node,
boolean readOnly)
|
Index |
getIndexForColumn(Column column)
Return the first Index that pertains to the given Column , or
null if no such Index exists. |
Iterator |
getIndices()
Obtain an Iterator over my indices. |
RowIterator |
getMatchingRows(List selectables,
List values)
Obtain an iterator over my Row s where each
Selectable in the selectable list
evaluates to the corresponding value in the value
list . |
String |
getName()
Get the name of this table. |
int |
getNextRowId()
Reserve a row id. |
Row |
getRow(int id)
|
int |
getRowCount()
Return the number of Row s I contain. |
protected RowIterator |
getRowIterator()
|
RowIterator |
getRowIterator(boolean readOnly)
Obtain an iterator over my Row s. |
String |
getType()
Get the type of this table. |
boolean |
hasColumn(ColumnIdentifier id)
Indicate whether the ColumnIdentifier references a column in this table |
boolean |
hasIndex(String name)
|
boolean |
isColumnIndexed(Column column)
Check to see if an Index exists for the given Column |
boolean |
isPrimaryKeyConstraintExists(String columnName)
check if primary constraint exists on a column |
boolean |
isUniqueConstraintExists(String columnName)
check if unique constraint exists on a column |
RowDecorator |
makeRowDecorator()
|
TransactableTable |
makeTransactableTable()
Create a TransactableTable for this table. |
void |
populateIndex(Index index)
Populate an Index , adding my current rows to it. |
void |
remount(File dir,
boolean datafilesonly)
Notify this table that its disk-location has moved. |
void |
removeConstraint(String name)
|
void |
removeIndex(Index index)
Remove an index, both from the indices and as a TableModificationListener |
void |
rename(String oldName,
String newName)
|
void |
setSubQuery(String query)
|
void |
setType(String type)
|
void |
shutdown()
The database is shutting down, shutdown this table also. |
String |
toString()
|
void |
truncate()
Unconditionally delete all rows in this table. |
void |
updateRow(Row oldrow,
Row newrow)
Update the given Row . |
Methods inherited from class org.axiondb.event.BaseTableModificationPublisher |
---|
addTableModificationListener, getTableModificationListeners, publishEvent, removeTableModificationListener |
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, removeTableModificationListener |
Field Detail |
---|
public static String VIEW
public static String SUBQUERY
Constructor Detail |
---|
public TableView(Database db, RowIterator rowIterator, Map colIdToFieldMap, List select, List trueColumns, String name, String type) throws AxionException
AxionException
public TableView(Database db, RowIterator rowIterator, Map colIdToFieldMap, List select, List trueColumns, String name) throws AxionException
AxionException
public TableView(Database db, String name) throws AxionException
AxionException
Method Detail |
---|
public void setSubQuery(String query) throws AxionException
AxionException
public void populateIndex(Index index) throws AxionException
Table
Index
, adding my current rows to it. Does not
add
the index.
populateIndex
in interface Table
AxionException
Table.addIndex(org.axiondb.Index)
public int getNextRowId()
Table
getNextRowId
in interface Table
public void freeRowId(int id)
Table
freeRowId
in interface Table
public int getRowCount()
Table
Row
s I contain.
getRowCount
in interface Table
public Row getRow(int id)
getRow
in interface RowSource
public void applyInserts(Collection rows) throws AxionException
Table
applyInserts
in interface Table
rows
- a collection of Rows
AxionException
public void applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids) throws AxionException
Table
applyDeletes
in interface Table
AxionException
public void applyUpdates(Collection rows) throws AxionException
Table
applyUpdates
in interface Table
AxionException
protected RowIterator getRowIterator() throws AxionException
AxionException
public RowIterator getRowIterator(boolean readOnly) throws AxionException
Table
iterator
over my Row
s.
getRowIterator
in interface Table
readOnly
- 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
Table
Row
.
addRow
in interface Table
AxionException
public void updateRow(Row oldrow, Row newrow) throws AxionException
Table
Row
.
updateRow
in interface Table
AxionException
public RowDecorator buildRowDecorator()
public String toString()
toString
in class Object
public String getName()
Table
getName
in interface Table
public String getType()
Table
getType
in interface Table
public void setType(String type)
public void addConstraint(Constraint constraint) throws AxionException
addConstraint
in interface Table
AxionException
public void removeConstraint(String name)
removeConstraint
in interface Table
public Iterator getConstraints()
getConstraints
in interface Table
public boolean isUniqueConstraintExists(String columnName)
isUniqueConstraintExists
in interface Table
columnName
- name of the columm
public boolean isPrimaryKeyConstraintExists(String columnName)
isPrimaryKeyConstraintExists
in interface Table
ColumnName
- name of the column
public void addIndex(Index index) throws AxionException
Table
Column
, and adding it as a
org.axiondb.TableModificationListener
to the table.
addIndex
in interface Table
AxionException
Table.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 Table
AxionException
public Index getIndexForColumn(Column column)
Table
Index
that pertains to the given Column
, or
null
if no such Index
exists.
getIndexForColumn
in interface Table
Column
, or null
if no such
Index
existspublic boolean isColumnIndexed(Column column)
Table
Index
exists for the given Column
isColumnIndexed
in interface Table
column
- Column
to check
Index
for the given Column
public RowIterator getMatchingRows(List selectables, List values) throws AxionException
Table
iterator
over my Row
s where each
Selectable
in the selectable list
evaluates
to the corresponding value in the value
list
.
This is functionally similiar to executing a SELECT over this table where selectable[i] = value[i] for each value of i . The return RowIterator is not modifiable.
getMatchingRows
in interface Table
AxionException
public RowIterator getIndexedRows(Selectable node, boolean readOnly) throws AxionException
getIndexedRows
in interface Table
readOnly
- 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 addColumn(Column col) throws AxionException
Table
Column
to this table.
addColumn
in interface Table
AxionException
public boolean hasColumn(ColumnIdentifier id)
Table
ColumnIdentifier
references a column in this table
hasColumn
in interface Table
public Column getColumn(int index)
Table
Column
corresponding to the given zero-based index .
getColumn
in interface Table
public Column getColumn(String name)
Table
Column
for the given name .
getColumn
in interface Table
public int getColumnIndex(String name)
Table
Column
with the given name .
getColumnIndex
in interface RowSource
getColumnIndex
in interface Table
public Iterator getColumnIdentifiers()
Table
Iterator
over the ColumnIdentifiers
for
my Column
s.
getColumnIdentifiers
in interface Table
public List getColumnIdentifierList(TableIdentifier table)
public int getColumnCount()
Table
Column
s I contain.
getColumnCount
in interface RowSource
getColumnCount
in interface Table
public void drop() throws AxionException
Table
drop
in interface Table
AxionException
protected boolean deleteFile(File file)
public void remount(File dir, boolean datafilesonly) throws AxionException
Table
remount
in interface Table
AxionException
public void rename(String oldName, String newName) throws AxionException
rename
in interface Table
AxionException
public void shutdown() throws AxionException
Table
shutdown
in interface Table
AxionException
public void truncate() throws AxionException
Table
truncate
in interface Table
AxionException
public RowDecorator makeRowDecorator()
makeRowDecorator
in interface RowSource
makeRowDecorator
in interface Table
public TransactableTable makeTransactableTable()
Table
TransactableTable
for this table.
makeTransactableTable
in interface Table
public Iterator getIndices()
Table
Iterator
over my indices.
getIndices
in interface Table
public boolean hasIndex(String name)
hasIndex
in interface Table
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |