pt.moredata.dao
Interface DataRow


public interface DataRow

Management of row storage (record) from a record set Includes flag and backup management Note that a row inserted in the dataSet could be not new in relation to the database. Company MoreData

Version:
$Revision: 1.6 $ TODO : Esta interface tem de ser revista tal como foi feito para o RecordSet e DataAccessObject.
Author:
Paulo Carmo
See Also:
DataCell, RecordSet

Field Summary
static int DELETE
           
static int INSERT
           
static int NONE
           
static int UPDATE
           
 
Method Summary
 void backupCell(int index)
          Backup the value of a cell.
 void backupRow()
          Backup (copy) the value of the entire row
 java.lang.Object getBackupCell(int columnNum)
          Devolve os dados guardados de uma celula
 java.lang.Object getColumnAt(int column)
          Devolve os dados de uma determinada coluna
 int getColumns()
          Devolve o numero de colunas da linha.
 int getDataSourceAction()
          Devolve a accao que deve ser efectuada para sincronizar a linha do data source com esta
 void initCellAt(java.lang.Object value, int index)
          Altera o valor de uma celula especifica com o valor passado como parametro Se a coluna nao existir ainda no array insere-a.
 void initCellAt(java.lang.Object value, int index, boolean engineProcessed)
          Altera o valor de uma celula especifica com o valor passado como parametro Se a coluna nao existir ainda no array insere-a.
 boolean isDeleted()
          Indica se a linha foi apagada
 boolean isEngineProcessed()
          Getter for property engineProcessed.
 boolean isEngineProcessed(int cellNum)
          Verifica se o valor registado numa dada célula deve ser processado pelo motor de base de dados
 boolean isModified()
          Verifica se alguma celula da Linha se encontra modificada
 boolean isModified(int cellNum)
          Verifica se uma determinada celula da Linha se encontra modificada.
 boolean isNewRow()
          Indica se a linha e recente ou se ja existia
 boolean isWaitingToBeLoad(int cellNum)
          Verifies if the cell data is waiting for a call to the getCellAt(..)
 void resetAllFlags()
          Coloca valores de default na(s) flags
 void restoreCell(int index)
          Restore the value of a cell (value copied not reference)
 void restoreRow()
          Restore (copy) the value of the entire row from backed values Note that is the value copied, not the reference ????
 void setDeleted(boolean _deleted)
          Afecta a flag que indica que esta linha foi apagada
 void setEngineProcessed(boolean engineProcessed)
          Setter for property engineProcessed.
 void setNewRow(boolean _newRow)
          Afecta a flag que indica que esta linha e nova e como tal tem de ser inserida
 void setWaitingToBeLoad(int cellNum, boolean isWaiting)
          Sets the waiting flag of the DataCell.
 void touch()
          Maraca todas as celulas da linha como estando sincronizada com o data source.
 void touch(int cellNum)
          Maraca uma celula como estando sincronizada com o data source.
 void updateCellAt(java.lang.Object value, int index)
          Altera o valor de uma celula especifica com o valor passado como parametro Se a coluna nao existir ainda no array insere-a
 void updateCellAt(java.lang.Object value, int index, boolean engineProcessed)
          Altera o valor de uma celula especifica com o valor passado como parametro Se a coluna nao existir ainda no array insere-a A celula fica com o bit modified a true.
 

Field Detail

NONE

public static final int NONE
See Also:
Constant Field Values

INSERT

public static final int INSERT
See Also:
Constant Field Values

DELETE

public static final int DELETE
See Also:
Constant Field Values

UPDATE

public static final int UPDATE
See Also:
Constant Field Values
Method Detail

backupCell

public void backupCell(int index)
Backup the value of a cell. Dantes era assim: Como o metodo updateCellAt(index, value) altera o objecto, em vez de criar um novo, e necessario colonar o objecto. Se a celula que se esta a salvaguardar existir, o bit modified fica igual, caso contrario, e criada uma nova celula com o valor null e com o bit modified a false.

Parameters:
index - Nº da coluna da qual se pretende fazer backup

backupRow

public void backupRow()
Backup (copy) the value of the entire row


getBackupCell

public java.lang.Object getBackupCell(int columnNum)
Devolve os dados guardados de uma celula

Parameters:
columnNum - Numero da coluna.
Returns:
Um objecto com o antigo valor da coluna, ou null caso ainda nao tenha sido feito um backup.

getColumnAt

public java.lang.Object getColumnAt(int column)
Devolve os dados de uma determinada coluna

Parameters:
column - Nº da coluna pretendida
Returns:
o valor armazenado na coluna pretendida ou null caso esta ainda nao exista

getColumns

public int getColumns()
Devolve o numero de colunas da linha.


getDataSourceAction

public int getDataSourceAction()
Devolve a accao que deve ser efectuada para sincronizar a linha do data source com esta


initCellAt

public void initCellAt(java.lang.Object value,
                       int index)
Altera o valor de uma celula especifica com o valor passado como parametro

Se a coluna nao existir ainda no array insere-a. Nao e feito backup.

Parameters:
value - Valor a inserir
index - Coluna a inserir

initCellAt

public void initCellAt(java.lang.Object value,
                       int index,
                       boolean engineProcessed)
Altera o valor de uma celula especifica com o valor passado como parametro

Se a coluna nao existir ainda no array insere-a. Nao e feito backup. A celula fica com o bit modified a false.

Parameters:
value - Valor a inserir
index - Coluna a inserir
engineProcessed - O valor a registar é processado no servidor

isDeleted

public boolean isDeleted()
Indica se a linha foi apagada

Returns:
True se foi apagada, false caso contrario

isEngineProcessed

public boolean isEngineProcessed(int cellNum)
                          throws java.lang.IndexOutOfBoundsException
Verifica se o valor registado numa dada célula deve ser processado pelo motor de base de dados

Parameters:
cellNum - Número da célula a verificar
Returns:
True se a célula fôr processada no servidor, false caso contrário
Throws:
java.lang.IndexOutOfBoundsException

isEngineProcessed

public boolean isEngineProcessed()
Getter for property engineProcessed.

Returns:
Value of property engineProcessed.

isModified

public boolean isModified(int cellNum)
                   throws java.lang.IndexOutOfBoundsException
Verifica se uma determinada celula da Linha se encontra modificada.

Returns:
true se a celula estiver modificada, false caso contrario
Throws:
java.lang.IndexOutOfBoundsException

isModified

public boolean isModified()
Verifica se alguma celula da Linha se encontra modificada

Returns:
Devolve true se alguma celula estiver modificada, false caso contrario

isNewRow

public boolean isNewRow()
Indica se a linha e recente ou se ja existia

Returns:
True se e recente, false caso contrario

isWaitingToBeLoad

public boolean isWaitingToBeLoad(int cellNum)
                          throws java.lang.IndexOutOfBoundsException
Verifies if the cell data is waiting for a call to the getCellAt(..) method to be load.

Parameters:
cellNum - cell column number.
Throws:
java.lang.IndexOutOfBoundsException

resetAllFlags

public void resetAllFlags()
Coloca valores de default na(s) flags


restoreCell

public void restoreCell(int index)
Restore the value of a cell (value copied not reference)

Parameters:
index - Nº da celula de onde se pretende obter o valor

restoreRow

public void restoreRow()
Restore (copy) the value of the entire row from backed values Note that is the value copied, not the reference ???? Devia clonar o objecto em vez copiar a referencia


setDeleted

public void setDeleted(boolean _deleted)
Afecta a flag que indica que esta linha foi apagada


setEngineProcessed

public void setEngineProcessed(boolean engineProcessed)
Setter for property engineProcessed. Atencao: Caso uma celula seja actualizada duas vezes, a primeira com o engineProcessed a true e a segunda vez a false, a indicacao e que a linha vai ser processada pelo motor quando na realidade nao vai.

Parameters:
engineProcessed - New value of property engineProcessed.

setNewRow

public void setNewRow(boolean _newRow)
Afecta a flag que indica que esta linha e nova e como tal tem de ser inserida


setWaitingToBeLoad

public void setWaitingToBeLoad(int cellNum,
                               boolean isWaiting)
                        throws java.lang.IndexOutOfBoundsException
Sets the waiting flag of the DataCell. method to be load.

Parameters:
cellNum - cell column number.
isWaiting - The flag value, true if the data is waiting to be load or false if not.
Throws:
java.lang.IndexOutOfBoundsException

touch

public void touch(int cellNum)
           throws java.lang.IndexOutOfBoundsException
Maraca uma celula como estando sincronizada com o data source.

Parameters:
cellNum - Numero da celula que deve ser 'tocada'.
Throws:
java.lang.IndexOutOfBoundsException

touch

public void touch()
           throws java.lang.IndexOutOfBoundsException
Maraca todas as celulas da linha como estando sincronizada com o data source.

Throws:
java.lang.IndexOutOfBoundsException

updateCellAt

public void updateCellAt(java.lang.Object value,
                         int index)
Altera o valor de uma celula especifica com o valor passado como parametro

Se a coluna nao existir ainda no array insere-a

Parameters:
value - Valor a inserir
index - Coluna a inserir

updateCellAt

public void updateCellAt(java.lang.Object value,
                         int index,
                         boolean engineProcessed)
                  throws java.lang.IndexOutOfBoundsException
Altera o valor de uma celula especifica com o valor passado como parametro

Se a coluna nao existir ainda no array insere-a A celula fica com o bit modified a true.

Parameters:
value - Valor a inserir
index - Coluna a inserir
engineProcessed - O valor a registar é processado no servidor
Throws:
java.lang.IndexOutOfBoundsException