pt.moredata.dataentry.core
Class FormDataEntry

java.lang.Object
  extended bypt.moredata.dataentry.core.AbstractDataEntry
      extended bypt.moredata.dataentry.core.FormDataEntry
All Implemented Interfaces:
DataEntry, java.io.Serializable

public class FormDataEntry
extends AbstractDataEntry

Company MoreData

Version:
$Revision: 1.16 $
Author:
pcarmo
See Also:
Serialized Form

Nested Class Summary
protected  class FormDataEntry.ComponentValueArray
          Array para guardar os valores dos componentes visuais.
 
Field Summary
 
Fields inherited from class pt.moredata.dataentry.core.AbstractDataEntry
_components, _daoView, _map, _queryAllowed, ACTION_EVENT_KEY, AFTER_ACTION_EVENT, BEFORE_ACTION_EVENT, MODE_CHANGED_EVENT_KEY, RECORD_DELETED_EVENT_KEY, RECORD_INSERTED_EVENT_KEY, RECORD_MODIFIED_EVENT_KEY
 
Fields inherited from interface pt.moredata.dataentry.DataEntry
INSERT_MODE, QUERY_MODE, READ_MODE, UPDATE_MODE
 
Constructor Summary
FormDataEntry(java.lang.String dataEntryName)
          Creates a new instance of a FormDataEntry
 
Method Summary
 void addComponent(DataEntryComponent component)
          Adiciona uma relacao entre uma coluna da tabela com um campo da entrada de dados.
 java.lang.Object getFieldValue(int row, java.lang.String componentName)
          Devolve o valor guardado num determinado campo visual da entrada de dados.
 java.lang.Object getFieldValue(int row, java.lang.String componentName, int mode)
          Devolve o valor guardado num determinado campo visual da entrada de dados.
 int getRows()
          Devolve o numero de linhas do DAOView que estao visiveis ao mesmo temo na entrada de dados.
 void insertNewRow()
          Adiciona uma nova linha na entrada dados.
 void loadDataFromDAOView()
          Carrega na entrada de dados todas as linhas tal como foram lidas do DataSource.
 void loadDataFromDAOView(int rowNumber)
          Carrega no _dataEntryValues os dados de uma linha do _daoView.
 void refreshComponentsData()
          Actualiza os valores dos componentes da entrada de dados com os dados que a linha currente tinha da ultima vez que essa se encontrou visivel na entrada de dados.
 void refreshComponentsData(int rowNumber)
          Actualiza os valores dos componentes da entrada de dados com os valores armazenados numa determinada linha do _dataEntryValues.
 void removeRow(int rowNumber)
          Remove uma linha da entrada de dados.
 void saveComponentsData()
          Copia os valores dos componentes para a linha actual do _dataEntryValues.
 void saveComponentsData(int rowNumber)
          Copia os valores dos componentes para a linha actual do _dataEntryValues.
 void setFieldValue(int row, java.lang.String componentName, java.lang.Object value)
          Altera o valor guardado num determinado campo visual da entrada de dados
 
Methods inherited from class pt.moredata.dataentry.core.AbstractDataEntry
addActionListener, addActionMapping, addModeChangedListener, addRecordDeletedListener, addRecordInsertedListener, addRecordModifiedListener, cleanUp, fireDataEntryEvent, getClassNameForAction, getColumnName, getColumnNumber, getComponent, getComponent, getComponents, getComponentsCount, getComponentsNames, getCurrentRow, getDAOManager, getDAOView, getFieldValue, getMode, getName, getProperty, isColumn, isColumn, isModified, isModified, isModified, isNavigable, isQueryAllowed, removeActionListener, removeAllRows, removeModeChangedListener, removeRecordDeletedListener, removeRecordInsertedListener, removeRecordModifiedListener, setCurrentRow, setDAOManager, setDAOView, setMode, setNavigable, setProperty, setQueryAllowed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormDataEntry

public FormDataEntry(java.lang.String dataEntryName)
Creates a new instance of a FormDataEntry

Parameters:
dataEntryName - The DataEntry name
Method Detail

addComponent

public void addComponent(DataEntryComponent component)
                  throws InvalidComponentException,
                         DuplicateComponentException
Adiciona uma relacao entre uma coluna da tabela com um campo da entrada de dados. A relação só é adicionada se já não existir.

Specified by:
addComponent in interface DataEntry
Overrides:
addComponent in class AbstractDataEntry
Parameters:
component - The feature to be added to the VisualField attribute.
Throws:
InvalidComponentException - Se a relação já existir.
DuplicateComponentException - Se o componente não for do tipo FormDataEntryComponent.

getFieldValue

public java.lang.Object getFieldValue(int row,
                                      java.lang.String componentName)
Devolve o valor guardado num determinado campo visual da entrada de dados. O comportamento deste metodo depende do modo em que estiver a entrada de dados. Caso a entrada de dados esteja em modo de QUERY, o valor devolvido e o valor usado na pesquisa, caso contrario e devolvido o valor armazenado na entrada de dados.

Parameters:
row - Numero da linha da tabela a que o campo esta associado.
componentName - The name of the DataEntryComponent.
Returns:
O valor do campo visual associado a coluna da tabela.

getFieldValue

public java.lang.Object getFieldValue(int row,
                                      java.lang.String componentName,
                                      int mode)
Devolve o valor guardado num determinado campo visual da entrada de dados. O valor devolvido depende do modo escolhido. Se for escolhido o modo QUERY_MODE, e devolvido o valor usado na pesquisa. Caso a entrada de dados nao esteja em modo query, e devolvido null. Caso o modo escolhido seja diferente de QUERY_MODE, o valor devolvido e o valor armazenado na entrada de dados para a linha e coluna especificados, independentemente do modo em que se encontre a entrada de dados.

Parameters:
row - Numero da linha da tabela a que o campo esta associado.
componentName - The name of the DataEntryComponent.
mode - O modo em que se encontra a entrada de dados.
Returns:
O valor do campo visual associado a coluna da tabela.

setFieldValue

public void setFieldValue(int row,
                          java.lang.String componentName,
                          java.lang.Object value)
Altera o valor guardado num determinado campo visual da entrada de dados

Parameters:
row - Numero da linha da tabela a que o campo esta associado.
componentName - The name of the DataEntryComponent.
value - O novo valor do campo visual.

getRows

public int getRows()
Devolve o numero de linhas do DAOView que estao visiveis ao mesmo temo na entrada de dados.

Returns:
1, o numero de linhas visiveis ao mesmo tempo na entrada de dados.

refreshComponentsData

public void refreshComponentsData()
Actualiza os valores dos componentes da entrada de dados com os dados que a linha currente tinha da ultima vez que essa se encontrou visivel na entrada de dados. Este metodo deve ser implementado se os dados do componente da entrada de dados nao forem armazenados directamente no proprio componente. Tipicamente este metodo e chamado por uma Action que deseje reverter os dados da entrada de dados com os valores salvaguardados com o metodo saveComponentsData().

Specified by:
refreshComponentsData in interface DataEntry
Overrides:
refreshComponentsData in class AbstractDataEntry

refreshComponentsData

public void refreshComponentsData(int rowNumber)
Actualiza os valores dos componentes da entrada de dados com os valores armazenados numa determinada linha do _dataEntryValues.

Specified by:
refreshComponentsData in interface DataEntry
Overrides:
refreshComponentsData in class AbstractDataEntry
Parameters:
rowNumber - Linha do _dataEntryValues usada para actualizar os valores dos componentes.

saveComponentsData

public void saveComponentsData(int rowNumber)
Copia os valores dos componentes para a linha actual do _dataEntryValues. Como esta entrada de dados apenas tem uma linha vizivel de cada vez, so a linha actual (aque esta vizivel) e que e copiada para o _dataEntryValues.

Specified by:
saveComponentsData in interface DataEntry
Overrides:
saveComponentsData in class AbstractDataEntry
Parameters:
rowNumber - O numero da linha cujos valores devem ser copiados.

saveComponentsData

public void saveComponentsData()
Copia os valores dos componentes para a linha actual do _dataEntryValues.

Specified by:
saveComponentsData in interface DataEntry
Overrides:
saveComponentsData in class AbstractDataEntry

loadDataFromDAOView

public void loadDataFromDAOView(int rowNumber)
Carrega no _dataEntryValues os dados de uma linha do _daoView.

Parameters:
rowNumber - Linha que deve ser carregada.

loadDataFromDAOView

public void loadDataFromDAOView()
Carrega na entrada de dados todas as linhas tal como foram lidas do DataSource.

Specified by:
loadDataFromDAOView in interface DataEntry
Overrides:
loadDataFromDAOView in class AbstractDataEntry

insertNewRow

public void insertNewRow()
Adiciona uma nova linha na entrada dados.


removeRow

public void removeRow(int rowNumber)
Remove uma linha da entrada de dados.

Parameters:
rowNumber - Linha que deve ser removida da entrada de dados.