|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectuba.db.DatabaseBehavior
public abstract class DatabaseBehavior
Clase base utilizada para simplificar la creación de clases que implementen
Database.
| Constructor Summary | |
|---|---|
DatabaseBehavior()
Este método es equivalente a: DatabaseBehavior(null) |
|
DatabaseBehavior(java.lang.Object configuration)
Las subclases deben invocar este constructor si desean inicializar la instancia de la base de datos usando una configuración particular. |
|
| Method Summary | |
|---|---|
protected void |
addToColumnsTable(java.lang.Integer tableId,
Table table)
Agrega todas las columnas de una tabla, a la tabla columnsTable() del
catalogo. |
protected void |
addToTablesTable(java.lang.Integer tableId,
Table table)
Agrega el id y nombre de la tabla a la tabla tablesTable() del
catalogo. |
protected void |
addToUserTablesMap(Table table)
Agrega una tabla al diccionario de tablas de usuario. |
protected abstract Table |
basicCreateTable(TableSchema tableSchema)
Las sub-clases deben implementar este método creando la instancia concreta de la tabla a utilizar. |
protected Table |
basicTableNamed(java.lang.String tableName)
|
Table |
columnsTable()
Retorna la tabla del cátalogo, que contiene a todas las columnas en las tablas de usuario. |
protected void |
configureDatabaseUsing(java.lang.Object configuration)
Las sub-clases pueden sobre-escribir este método para configurar la instancia antes de inicializar la base de datos. |
boolean |
containsTableNamed(java.lang.String tableName)
Permite determinar si la base de datos contiene una tabla de nombre tableName. |
protected Table |
createColumnsTable()
Crea la instancia concreta de la tabla utilizada para guardar las columnas de cada tabla del usuario. |
Table |
createTable(TableSchema tableSchema)
Crea una nueva tabla. |
protected Table |
createTablesTable()
Crea la instancia concreta de la tabla utilizada para guardar las tablas del usuario. |
Table |
dataTypesTable()
Retorna la tabla del cátalogo, que contiene a todos los tipos de datos disponibles. |
protected abstract IdGenerator |
idGenerator()
Las sub-clases deben implementar este método retornando un objeto que se encarga de crear los ids para las nuevas tablas. |
protected void |
initializeUserTables()
Las sub-clases pueden sobre escribir este método si desean inicializar las |
java.util.Collection |
systemTables()
Retorna una lista con las tablas que son especiales para el sistema (catalogo). |
Table |
tableNamed(java.lang.String tableName)
Retorna la tabla de nombre tableName. |
java.util.Collection |
tables()
Retorna una lista con las tablas creadas por el usuario y las tablas del sistema. |
Table |
tablesTable()
Retorna la tabla del cátalogo, que contiene a todas las tablas definidas por el usuario. |
java.util.Collection |
userTables()
Retorna una lista con las tablas creadas por el usuario. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DatabaseBehavior()
throws DatabaseInitializationException
DatabaseInitializationExceptionDatabaseBehavior(Object)
public DatabaseBehavior(java.lang.Object configuration)
throws DatabaseInitializationException
configuration - "configuración" a utilizar, cada sub-clase debe hacer un cast
de este objeto según sea necesario.
DatabaseInitializationException - si no se pudo inicializar la base de datos.| Method Detail |
|---|
protected void initializeUserTables()
throws DatabaseInitializationException
DatabaseInitializationException
protected void configureDatabaseUsing(java.lang.Object configuration)
throws DatabaseInitializationException
configuration - "configuración" a utilizar, cada sub-clase debe hacer un cast
de este objeto según sea necesario.
DatabaseInitializationException - si no se pudo inicializar la base de datos.createTablesTable(),
createColumnsTable(),
createDataTypesTable()
public Table tableNamed(java.lang.String tableName)
throws UnknowTableName
Database
tableNamed in interface DatabasetableName - el nombre de la tabla a retornar.
UnknowTableName - si no existe una tabla de nombre tableNameDatabase.tableNamed(java.lang.String)public boolean containsTableNamed(java.lang.String tableName)
Database
containsTableNamed in interface DatabasetableName - nombre de la table
Database.containsTableNamed(java.lang.String)
protected abstract Table basicCreateTable(TableSchema tableSchema)
throws TableCreationException
tableSchema - esquema de la tabla a crear.
Table que depende de la
implementación.
TableCreationException - si no se pudo crear la tabla.
public Table createTable(TableSchema tableSchema)
throws TableAlreadyExistsException,
TableCreationException
Database
createTable in interface DatabasetableSchema - es equema de la tabla a crear.
TableAlreadyExistsException - esta excepción si ya existe una table con el nombre de tabla
indicado en el esquema.
TableCreationException - esta excepción se genera si no se pudo crear la tabla.Database.createTable(uba.db.table.TableSchema)protected abstract IdGenerator idGenerator()
public java.util.Collection tables()
Database
tables in interface DatabaseDatabase.tables()protected Table createColumnsTable()
MemoryTable como
implementación.
SystemTableSchemas.COLUMNS_SCHEMA
protected Table createTablesTable()
throws java.lang.Exception
MemoryTable como implementación.
java.lang.ExceptionSystemTableSchemas.COLUMNS_SCHEMAprotected void addToUserTablesMap(Table table)
table - la tabla a agregar.
protected void addToColumnsTable(java.lang.Integer tableId,
Table table)
columnsTable() del
catalogo.
tableId - identificador de la tabla.table - la tabla.
protected void addToTablesTable(java.lang.Integer tableId,
Table table)
tablesTable() del
catalogo.
tableId - identificador de la tabla.table - la tabla.public java.util.Collection systemTables()
Database
systemTables in interface DatabaseDatabase.systemTables()public java.util.Collection userTables()
Database
userTables in interface DatabaseDatabase.userTables()protected Table basicTableNamed(java.lang.String tableName)
basicTableNamed(java.lang.String)public Table tablesTable()
Database
tablesTable in interface DatabaseDatabase.tablesTable()public Table dataTypesTable()
Database
dataTypesTable in interface DatabaseDatabase.dataTypesTable()public Table columnsTable()
Database
columnsTable in interface DatabaseDatabase.columnsTable()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||