|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.axiondb.engine.BaseDatabase
public abstract class BaseDatabase
Abstract base Database
implementation.
Field Summary | |
---|---|
static String |
SYSTABLE_DB_LINKS
|
static String |
SYSTABLE_INDEX_INFO
|
Fields inherited from interface org.axiondb.Database |
---|
COMMIT_SIZE |
Constructor Summary | |
---|---|
BaseDatabase(String name)
|
Method Summary | |
---|---|
void |
addDatabaseModificationListener(DatabaseModificationListener l)
Adds a listener to receive events on this database |
void |
addIndex(Index index,
Table table)
Add the given Index to this database, associated with the given table. |
void |
addIndex(Index index,
Table table,
boolean doPopulate)
Add the given Index to this database, associating it with the given table
and (optionally) populating it. |
void |
addTable(Table t)
Add the given Table to this database. |
boolean |
canResolveSelectable(Selectable selectable,
TableIdentifier[] tables)
|
void |
checkpoint()
Make sure any modified state or data has been written to disk. |
void |
createDatabaseLink(DatabaseLink dblink)
|
protected void |
createMetaDataTables()
Should get called by subclasses in constructors |
void |
createSequence(Sequence seq)
Create a numeric sequence |
protected abstract Table |
createSystemTable(String name)
|
void |
dropDatabaseLink(String name)
|
void |
dropIndex(String name)
Drop the given Index from this database. |
void |
dropSequence(String name)
Drop the specified Sequence from this database. |
void |
dropTable(String name)
Drop the specified Table from this database. |
protected static Properties |
getBaseProperties()
Callers should treat the returned Properties as immutable. |
DatabaseLink |
getDatabaseLink(String name)
|
List |
getDatabaseModificationListeners()
Returns all listeners set to receive events on this database |
DataType |
getDataType(String name)
Get the DataType currently registered for the given name, or null. |
Object |
getGlobalVariable(String key)
|
IndexFactory |
getIndexFactory(String name)
Get the IndexFactory currently registered for the given name, or
null. |
String |
getName()
Returns the name of this Database . |
Sequence |
getSequence(String name)
Get the specified Sequence , or null if no such sequence can be
found. |
protected int |
getSequenceCount()
|
protected Iterator |
getSequences()
|
Table |
getTable(String name)
Get the specified Table , or null if no such table can be found. |
Table |
getTable(TableIdentifier table)
Get the specified Table , or null if no such table can be found. |
TableFactory |
getTableFactory(String name)
Get the TableFactory currently registered for the given name, or
null. |
protected Iterator |
getTables()
|
TransactionManager |
getTransactionManager()
Get the TransactionManager for this database. |
boolean |
hasDatabaseLink(String name)
|
boolean |
hasIndex(String name)
Returns true iff the given Index exists. |
boolean |
hasSequence(String name)
|
boolean |
hasTable(String name)
|
boolean |
hasTable(TableIdentifier id)
|
boolean |
isReadOnly()
Is this database read-only? |
protected void |
loadProperties(Properties props)
|
void |
remount(File newdir)
Notify this database that its root directory has been moved to the given location. |
void |
removeDatabaseModificationListener(DatabaseModificationListener l)
|
void |
renameTable(String oldName,
String newName)
|
void |
resolveFromNode(FromNode node,
List aliasList)
|
Selectable |
resolveSelectable(Selectable selectable,
List aliasList,
TableIdentifier[] tables)
|
Selectable |
resolveSelectable(Selectable selectable,
TableIdentifier[] tables)
"Resolve" the given Selectable relative to the given list of
tables , converting aliased or relative references into
absolute ones. |
Selectable |
resolveSelectSelectable(SubSelectCommand select,
TableIdentifier[] tables)
|
void |
shutdown()
Close this database and free any resources associated with it. |
void |
tableAltered(Table t)
Update metadata tables since this table has changed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.axiondb.Database |
---|
getDBDirectory |
Field Detail |
---|
public static final String SYSTABLE_DB_LINKS
public static final String SYSTABLE_INDEX_INFO
Constructor Detail |
---|
public BaseDatabase(String name)
Method Detail |
---|
public String getName()
Database
Database
.
getName
in interface Database
public boolean isReadOnly()
Database
isReadOnly
in interface Database
public IndexFactory getIndexFactory(String name)
Database
IndexFactory
currently registered for the given name, or
null.
getIndexFactory
in interface Database
public TableFactory getTableFactory(String name)
Database
TableFactory
currently registered for the given name, or
null.
getTableFactory
in interface Database
public DataType getDataType(String name)
Database
DataType
currently registered for the given name, or null.
getDataType
in interface Database
public Table getTable(String name) throws AxionException
Database
Table
, or null if no such table can be found.
Table name matching is case-insensitive.
getTable
in interface Database
AxionException
public Table getTable(TableIdentifier table) throws AxionException
Database
Table
, or null if no such table can be found.
Table name matching is case-insensitive.
getTable
in interface Database
AxionException
public boolean hasTable(String name) throws AxionException
hasTable
in interface Database
AxionException
public boolean hasTable(TableIdentifier id) throws AxionException
hasTable
in interface Database
AxionException
public void dropTable(String name) throws AxionException
Database
Table
from this database.
Table name matching is case-insensitive.
dropTable
in interface Database
AxionException
public void addIndex(Index index, Table table) throws AxionException
Database
Index
to this database, associated with the given table.
addIndex
in interface Database
AxionException
public void addIndex(Index index, Table table, boolean doPopulate) throws AxionException
Database
Index
to this database, associating it with the given table
and (optionally) populating it.
addIndex
in interface Database
index
- Index to be added and (optionally) populatedtable
- Table to be indexeddoPopulate
- true if index
should be populated by the
appropriate column in table
; false if index
should be left as-is.
AxionException
- if error occurs during addition and/or population of
index
public void dropIndex(String name) throws AxionException
Database
Index
from this database.
dropIndex
in interface Database
AxionException
public boolean hasIndex(String name) throws AxionException
Database
true
iff the given Index
exists.
hasIndex
in interface Database
AxionException
public void tableAltered(Table t) throws AxionException
Database
tableAltered
in interface Database
AxionException
public void addTable(Table t) throws AxionException
Database
Table
to this database.
addTable
in interface Database
AxionException
public void shutdown() throws AxionException
Database
shutdown
in interface Database
AxionException
public void remount(File newdir) throws AxionException
Database
remount
in interface Database
AxionException
public void renameTable(String oldName, String newName) throws AxionException
renameTable
in interface Database
AxionException
public void resolveFromNode(FromNode node, List aliasList) throws AxionException
resolveFromNode
in interface Database
AxionException
public Selectable resolveSelectable(Selectable selectable, TableIdentifier[] tables) throws AxionException
Database
Selectable
relative to the given list of
tables
, converting aliased or relative references into
absolute ones.
resolveSelectable
in interface Database
AxionException
public boolean canResolveSelectable(Selectable selectable, TableIdentifier[] tables)
canResolveSelectable
in interface Database
public Selectable resolveSelectSelectable(SubSelectCommand select, TableIdentifier[] tables)
public Selectable resolveSelectable(Selectable selectable, List aliasList, TableIdentifier[] tables) throws AxionException
resolveSelectable
in interface Database
AxionException
public void checkpoint() throws AxionException
Database
checkpoint
in interface Database
AxionException
public void createSequence(Sequence seq) throws AxionException
Database
createSequence
in interface Database
AxionException
public void createDatabaseLink(DatabaseLink dblink) throws AxionException
createDatabaseLink
in interface Database
AxionException
public void dropDatabaseLink(String name) throws AxionException
dropDatabaseLink
in interface Database
AxionException
public void dropSequence(String name) throws AxionException
Database
Sequence
from this database.
Sequence name matching is case-insensitive.
dropSequence
in interface Database
AxionException
public Object getGlobalVariable(String key)
getGlobalVariable
in interface Database
public Sequence getSequence(String name)
Database
Sequence
, or null if no such sequence can be
found.
Sequence name matching is case-insensitive.
getSequence
in interface Database
public DatabaseLink getDatabaseLink(String name)
getDatabaseLink
in interface Database
public boolean hasSequence(String name) throws AxionException
hasSequence
in interface Database
AxionException
public boolean hasDatabaseLink(String name) throws AxionException
hasDatabaseLink
in interface Database
AxionException
public TransactionManager getTransactionManager()
Database
TransactionManager
for this database.
getTransactionManager
in interface Database
public void addDatabaseModificationListener(DatabaseModificationListener l)
Database
addDatabaseModificationListener
in interface Database
public void removeDatabaseModificationListener(DatabaseModificationListener l)
public List getDatabaseModificationListeners()
Database
getDatabaseModificationListeners
in interface Database
protected Iterator getSequences()
protected int getSequenceCount()
protected Iterator getTables()
protected void loadProperties(Properties props) throws AxionException
AxionException
protected static Properties getBaseProperties()
protected abstract Table createSystemTable(String name)
protected void createMetaDataTables() throws AxionException
AxionException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |