pt.moredata.dao
Class DataTableInfo

java.lang.Object
  extended bypt.moredata.dao.DataTableInfo
Direct Known Subclasses:
DDataTableInfo

public class DataTableInfo
extends java.lang.Object

Obtem toda a meta informação relativa a uma tabela, nomeadamente: - Relativa a cada coluna - Chave primária - Chaves estrangeiras - ??? Outros constraints Company MoreData

Version:
$Revision: 1.17 $ XXX : As excepcoes lancadas por esta classe tem de ser mais especificas. Nao se pode simplesmente lancar um a DAOException quando se apanha uma SQLException !
Author:
Paulo Carmo, Ricardo Amaro, Sergio Ferreira
See Also:
DataIndex, DataFieldInfo, ExportedForeignKey, ForeignKey, ImportedForeignKey

Field Summary
protected  java.sql.Connection connection
          Conexão explicita à base de dados
protected  java.sql.DatabaseMetaData metaData
          Meta data da base de dados
protected  java.util.List primaryKey
          Colunas que constituem a chave primária
 
Constructor Summary
DataTableInfo()
          Cria um objecto com informacao de uma tabela.
DataTableInfo(java.sql.Connection connection, java.lang.String table)
          Cria um objecto obtendo a Meta Informação de uma tabela.
 
Method Summary
 void dump()
           
 void dump(java.lang.String _prefix)
           
 boolean equals(java.lang.Object obj)
          Verfica que dois objectos representam informacao acerca da mesma tabela, da mesma base de dados.
 java.util.ArrayList getColumns()
          Devolve uma lista com informação sobire as colunas da tabela.
 java.sql.Connection getConnection()
          Getter for property connection.
 ExportedForeignKey getExportedForeignKey(java.lang.String keyName)
          Devolve uma determinada chave primaria exportada pela tabela.
 java.util.Enumeration getExportedForeignKeys()
          Devolve a(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras exportadas.
 java.util.Enumeration getExportedForeignKeyValues()
          Devolve o(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras exportadas.
 DataFieldInfo getFieldInfoForColumn(java.lang.String column)
          Localiza a informação acerca de uma coluna no HashMap de colunas (columns)
 ImportedForeignKey getImportedForeignKey(java.lang.String keyName)
          Devolve uma determinada chave estrangeira importada pela tabela.
 java.util.Enumeration getImportedForeignKeys()
          Devolve a(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras importadas.
 java.util.Enumeration getImportedForeignKeyValues()
          Devolve o(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras importadas.
 DataIndex getIndice(java.lang.String indexName)
          Devolve um determinado indice da tabela.
 java.util.Enumeration getIndices()
          Devolve o nome de todos os indices da tabela.
protected  void getJDBCMetaData()
          Obtem a partir de uma das conexões a meta informação disponivel pelo JDBC
 java.lang.String getRemarks()
           
 java.lang.String getTableName()
          devolve o nome da tabela.
 java.lang.String getURL()
          Devolve a URL usada para criar a coneccao a base de dados.
protected  void initColumnInfo()
          Inicializa a informação de JDBC disponivel
 void initExportedForeignKeys()
          Obtem toda a informação relativa às chaves estrangeiras exportadas pela tabela.
 void initImportedForeignKeys()
          Obtem toda a informação relativa às chaves estrangeiras importadas pela tabela e carrega-a em memória.
 void initIndices()
          Obtem toda a informação relativa aos indeces da tabela.
 void initPrimaryKey()
          Obtem a partir da meta informação a chave primária explicita ou lista de colunas que melhor representam a linha
 void initTableInfo()
          Obtem toda a informação sobre a tabela
 boolean isFK(java.lang.String name)
          Verifica se uma dada coluna faz parte de uma chave estrangeira.
 void setConnection(java.sql.Connection _connection)
          Afecta a conexão explicita a base de dados
 void setRemarks(java.lang.String remarks)
           
 void setTable(java.lang.String _table)
          Afecta a propriedade que contem o nome da tabela
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connection

protected java.sql.Connection connection
Conexão explicita à base de dados


metaData

protected java.sql.DatabaseMetaData metaData
Meta data da base de dados


primaryKey

protected java.util.List primaryKey
Colunas que constituem a chave primária

Constructor Detail

DataTableInfo

public DataTableInfo()
Cria um objecto com informacao de uma tabela.


DataTableInfo

public DataTableInfo(java.sql.Connection connection,
                     java.lang.String table)
Cria um objecto obtendo a Meta Informação de uma tabela.
Não é na altua da construção que os dados são inicializados, mas sim quando se executa initTableInfo().

Parameters:
connection - Uma coneccao a base de dados.
table - O nome da tabela.
Method Detail

equals

public boolean equals(java.lang.Object obj)
Verfica que dois objectos representam informacao acerca da mesma tabela, da mesma base de dados.


getURL

public java.lang.String getURL()
                        throws java.sql.SQLException
Devolve a URL usada para criar a coneccao a base de dados.

Returns:
A URL usada para criar a coneccao a base de dados, null caso nao exista coneccao a base de dados.
Throws:
java.sql.SQLException

setTable

public void setTable(java.lang.String _table)
Afecta a propriedade que contem o nome da tabela

Parameters:
_table - Nome da tabela

getTableName

public java.lang.String getTableName()
devolve o nome da tabela.


getColumns

public java.util.ArrayList getColumns()
Devolve uma lista com informação sobire as colunas da tabela.

Returns:
Uma lista de objectos do tipo DataTableInfo com informação sobre as colunas da tabela.

getRemarks

public java.lang.String getRemarks()

setRemarks

public void setRemarks(java.lang.String remarks)

setConnection

public void setConnection(java.sql.Connection _connection)
Afecta a conexão explicita a base de dados


getJDBCMetaData

protected void getJDBCMetaData()
                        throws java.sql.SQLException,
                               java.lang.NullPointerException
Obtem a partir de uma das conexões a meta informação disponivel pelo JDBC

Throws:
java.sql.SQLException
java.lang.NullPointerException

initTableInfo

public void initTableInfo()
Obtem toda a informação sobre a tabela


initColumnInfo

protected void initColumnInfo()
                       throws java.sql.SQLException
Inicializa a informação de JDBC disponivel

Throws:
java.sql.SQLException

getFieldInfoForColumn

public DataFieldInfo getFieldInfoForColumn(java.lang.String column)
Localiza a informação acerca de uma coluna no HashMap de colunas (columns)

Parameters:
column - Nome da coluna
Returns:
Informa??o sobre a coluna

initPrimaryKey

public void initPrimaryKey()
Obtem a partir da meta informação a chave primária explicita ou lista de colunas que melhor representam a linha


initImportedForeignKeys

public void initImportedForeignKeys()
Obtem toda a informação relativa às chaves estrangeiras importadas pela tabela e carrega-a em memória.


initExportedForeignKeys

public void initExportedForeignKeys()
Obtem toda a informação relativa às chaves estrangeiras exportadas pela tabela.


initIndices

public void initIndices()
Obtem toda a informação relativa aos indeces da tabela.


getIndices

public java.util.Enumeration getIndices()
Devolve o nome de todos os indices da tabela.


getIndice

public DataIndex getIndice(java.lang.String indexName)
Devolve um determinado indice da tabela.

Parameters:
indexName - Nome do indice.

getExportedForeignKeys

public java.util.Enumeration getExportedForeignKeys()
Devolve a(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras exportadas.

Returns:
A(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras exportadas.

getExportedForeignKeyValues

public java.util.Enumeration getExportedForeignKeyValues()
Devolve o(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras exportadas.

Returns:
O(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras exportadas.

getExportedForeignKey

public ExportedForeignKey getExportedForeignKey(java.lang.String keyName)
Devolve uma determinada chave primaria exportada pela tabela.

Parameters:
keyName - Nome da chave primaria.
Returns:
Uma chave primaria exportada pela tabela.

getImportedForeignKeys

public java.util.Enumeration getImportedForeignKeys()
Devolve a(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras importadas.

Returns:
A(s) chave(s) que mapeia(m) o(s) nome(s) de todas as chaves estrangeiras importadas.

getImportedForeignKeyValues

public java.util.Enumeration getImportedForeignKeyValues()
Devolve o(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras importadas.

Returns:
O(s) nome(s) da(s) coluna(s) de todas as chaves estrangeiras importadas.

getImportedForeignKey

public ImportedForeignKey getImportedForeignKey(java.lang.String keyName)
Devolve uma determinada chave estrangeira importada pela tabela.

Parameters:
keyName - Nome da chave importada.
Returns:
Uma chave estrangeira importada pela tabela.

isFK

public boolean isFK(java.lang.String name)
Verifica se uma dada coluna faz parte de uma chave estrangeira.

Parameters:
name - O nome da coluna.
Returns:
true caso a coluna faça parte de uma chave estrangeira, false caso contrario.

dump

public void dump()

dump

public void dump(java.lang.String _prefix)

getConnection

public java.sql.Connection getConnection()
Getter for property connection.

Returns:
Value of property connection.