vishnu.model
Interface Database

All Known Implementing Classes:
ObservableDatabase, PersistentDatabase, VolatileDatabase

public interface Database

Esta interfaz modela el acceso a la base de datos. Permite obtener las tablas, crearlas y obtener tablas anonimas.

Author:
Hernan Rancati
 

Method Summary
 AnonymousTablePool anonymousTablePool()
          retorna el pool de tablas anonimas.
 Table createAnonymousSortedTable(TableSignature s, java.lang.String sortColumn)
          crea una tabla anonima con la signatura pedida.
 Table createAnonymousTable(TableSignature s)
          crea una tabla anonima con la signatura pedida.
 Table createTable(UserContext userContext, java.lang.String name, TableSignature s)
          crea una tabla con el nombre y la signatura pedida
 void createUser(UserContext userContext, User user, java.lang.String password)
          Crea el usuario en la base de datos.
 void drop(TableContext t)
          Borra la tabla.
 java.util.Collection<Index> getIndexes(TableContext t)
          Devuelve la coleccion de indices de una tabla.
 java.util.Collection<Table> getTables(UserContext userContext)
          Devuelve las tablas de un usuario de esta base de datos.
 java.util.Collection<User> getUsers()
          Devuelve los usuarios de la base de datos
 boolean hasTable(UserContext userContext, java.lang.String name)
           
 boolean hasUser(UserContext userContext, java.lang.String password)
          Indica si el usuario pertenece a la base de datos.
 void insert(IndexContext i)
          Inserta el indice en la base de datos.
 java.lang.String name()
           
 void persistChanges(UserContext userContext)
          .
 Table table(UserContext userContext, java.lang.String name)
           
 

Method Detail

name

java.lang.String name()
Returns:
nombre de la base de datos.

getTables

java.util.Collection<Table> getTables(UserContext userContext)
Devuelve las tablas de un usuario de esta base de datos.

Parameters:
user - - el usuario
Returns:
las tablas del usuario de esta base de datos

table

Table table(UserContext userContext,
            java.lang.String name)
            throws UnknownTableException
Throws:
UnknownTableException
Returns:
tabla con el nombre pedido.

hasTable

boolean hasTable(UserContext userContext,
                 java.lang.String name)
Returns:
verdadero si la tabla existe en la base de datos. falso en caso contrario.

createTable

Table createTable(UserContext userContext,
                  java.lang.String name,
                  TableSignature s)
crea una tabla con el nombre y la signatura pedida


createAnonymousTable

Table createAnonymousTable(TableSignature s)
crea una tabla anonima con la signatura pedida.


createAnonymousSortedTable

Table createAnonymousSortedTable(TableSignature s,
                                 java.lang.String sortColumn)
crea una tabla anonima con la signatura pedida.


anonymousTablePool

AnonymousTablePool anonymousTablePool()
retorna el pool de tablas anonimas.


getIndexes

java.util.Collection<Index> getIndexes(TableContext t)
Devuelve la coleccion de indices de una tabla. Metodo de uso interno. Para obtener la coleccion de indices de una tabla, utilizar el metodo en Table

Returns:
la coleccion de indices de la tabla.

insert

void insert(IndexContext i)
Inserta el indice en la base de datos. Metodo de uso interno. Para insertar indices a una tabla, utilizar el metodo en Table.


createUser

void createUser(UserContext userContext,
                User user,
                java.lang.String password)
Crea el usuario en la base de datos.

Parameters:
userContext - - el contexto del ejecutor de la operacion.
userName - - el nombre del nuevo usuario.
password - - a contraseņa del usuario.

hasUser

boolean hasUser(UserContext userContext,
                java.lang.String password)
Indica si el usuario pertenece a la base de datos.

Parameters:
userName - - el nombre del usuario.
Returns:
true si pertenece, false si no.

getUsers

java.util.Collection<User> getUsers()
Devuelve los usuarios de la base de datos

Returns:
la coleccion de nombres de usuarios de la base de datos.

drop

void drop(TableContext t)
Borra la tabla.


persistChanges

void persistChanges(UserContext userContext)
.