pt.moredata.dataentry
Interface DataEntry

All Known Implementing Classes:
AbstractDataEntry

public interface DataEntry

Esta interface representa uma entrada de dados. A entrada de dados encontra-se associada a um DAOView, que mais nao e que uma versao simplificada de um DataAccessObject, que apenas permite consulta. Cada linha da entrada de dados esta associada a linha com o mesmo index no DAOView. Company MoreData

Version:
$Revision: 1.20 $ XXX : Adicionar o metodo addPropertyChangeListener TODO : Adicionar um metodo hasColumnName(String columnName);
Author:
pcarmo

Field Summary
static int INSERT_MODE
          A enrtada de dados encontra-se em modo de inserção.
static int QUERY_MODE
          A entrada de dados encontra-se em modo de pesquisa.
static int READ_MODE
          A enrtada de dados encontra-se em modo de leitura.
static int UPDATE_MODE
          A entrada de dados encontra-se em modo de inserção/alteração.
 
Method Summary
 void addActionListener(ActionListener listener)
          Adiciona um actionListener.
 void addActionMapping(java.lang.String commandName, java.lang.String className)
          Add a new Action mapping for a giveen command.
 void addComponent(DataEntryComponent component)
          Adiciona uma relacao entre uma coluna da tabela com um campo da entrada de dados.
 void addModeChangedListener(ModeChangedListener listener)
          Adiciona um ModeChangedListener.
 void addRecordDeletedListener(RecordDeletedListener listener)
          Adiciona um RecordDeletedListener.
 void addRecordInsertedListener(RecordInsertedListener listener)
          Adiciona um RecordInsertedListener.
 void addRecordModifiedListener(RecordModifiedListener listener)
          Adiciona um RecordModifiedListener.
 void cleanUp()
          Clean up the DataEntry, removing all listeners added to other objects.
 java.lang.String getClassNameForAction(java.lang.String commandName)
          Returns the name of the class that implements a Action for a giveen command.
 DataEntryComponent getComponent(int index)
          Devolve um determinado componente da entrada de dados.
 DataEntryComponent getComponent(java.lang.String componentName)
          Devolve um determinado componente da entrada de dados.
 java.util.Iterator getComponents()
          Devolve um iterador com todos os componentes da entrada de dados.
 int getComponentsCount()
          Devolve o numero de componentes da entrada de dados.
 java.util.Iterator getComponentsNames()
          Devolve um iterador para o nome dos componentes da entrade dados.
 int getCurrentRow()
          Devolve o index do registo que se encontra selecionado na entrada de dados.
 DAOManager getDAOManager()
          Devolve o gestor de DAOs usado no DataEntry.
 DAOView getDAOView()
          Devolve o DAOView associado a 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.
 java.lang.Object getFieldValue(java.lang.String componentName)
          Devolve o valor guardado num determinado campo visual da entrada de dados.
 int getMode()
          Devolve o modo em que se encontra a entrada de dados.
 java.lang.String getName()
          Getter for the DataEntry name.
 java.lang.Object getProperty(java.lang.Object key)
          Devolve o valor de um determinado atributo da entrada de dados.
 int getRows()
          Devolve o numero de linhas existentes na entrada de dados.
 void insertNewRow()
          Adiciona uma nova linha na entrada dados.
 boolean isColumn(java.lang.String componentName)
          Check if the component exists in the DataEntry.
 boolean isColumn(java.lang.String tableName, java.lang.String columnName)
          Check if exists any component with the columnName and table name.
 boolean isModified()
          Verifica se a algum registo da entrada de dados se encontra modificado.
 boolean isModified(int rowNumber)
          Verifica se um determinado registo se encontra modificado na entrada de dados.
 boolean isModified(int rowNumber, java.lang.String componentName)
          Verifica se uma determinada coluna de um determinado registo se encontra modificado na entrada de dados.
 boolean isNavigable()
          Indica se e possivel navegar atraves dos varios registos da entrada de dados.
 boolean isQueryAllowed()
          Indica se a entrada de dados permite ou nao a realizacao de pesquisas.
 void loadDataFromDAOView()
          Carrega na entrada de dados todas as linhas tal como foram lidas do DataSource.
 void loadDataFromDAOView(int rowNumber)
          Carrega na entrada de dados uma determinada linha tal como foi lida do DataSource.
 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 dados que uma determinada linha tinha da ultima vez que essa linha se encontrava visivel na entrada de dados.
 void removeActionListener(ActionListener listener)
          Remove um ActionListener.
 void removeAllRows()
          Remove todas as linhas da entrada de dados.
 void removeModeChangedListener(ModeChangedListener listener)
          Remove um ModeChangedListener.
 void removeRecordDeletedListener(RecordDeletedListener listener)
          Remove um RecordDeletedListener.
 void removeRecordInsertedListener(RecordInsertedListener listener)
          Remove um RecordInsertedListener.
 void removeRecordModifiedListener(RecordModifiedListener listener)
          Remove um RecordModifiedListener.
 void removeRow(int rowNumber)
          Remove uma linha da entrada de dados.
 void saveComponentsData()
          Salvaguarda os valores armazenados nos componente tornando possivel a sua recuperacao atraves dos metodos refreshComponentsData() ou refreshComponentsData(int).
 void saveComponentsData(int rowNumber)
          Salvaguarda os valores armazenados nos componente tornando possivel a sua recuperacao atraves dos metodos refreshComponentsData() ou refreshComponentsData(int).
 void setCurrentRow(int rowNumber)
          Altera o index do registo que se encontra selecionado na entrada de dados.
 void setDAOManager(DAOManager daoManager)
          Altera o gestor de DAOs usado pelo DataEntry.
 void setDAOView(DAOView daoView)
          Associa um DAOView a entrada de dados.
 void setFieldValue(int row, java.lang.String componentName, java.lang.Object value)
          Altera o valor guardado num determinado campo visual da entrada de dados
 void setMode(int mode)
          Altera o modo em que se encontra a entrada de dados.
 void setNavigable(boolean isNavigable)
          Activa ou desactiva a navegacao pelos registos da entrada de dados.
 void setProperty(java.lang.Object key, java.lang.Object obj)
          Guarda um determinado atributo na entrada de dados.
 void setQueryAllowed(boolean queryAllowed)
          Activa ou desactiva a possibilidade de se realizar pesquisas na entrada de dados.
 

Field Detail

QUERY_MODE

public static final int QUERY_MODE
A entrada de dados encontra-se em modo de pesquisa.

See Also:
Constant Field Values

READ_MODE

public static final int READ_MODE
A enrtada de dados encontra-se em modo de leitura.

See Also:
Constant Field Values

INSERT_MODE

public static final int INSERT_MODE
A enrtada de dados encontra-se em modo de inserção.

See Also:
Constant Field Values

UPDATE_MODE

public static final int UPDATE_MODE
A entrada de dados encontra-se em modo de inserção/alteração.

See Also:
Constant Field Values
Method Detail

getName

public java.lang.String getName()
Getter for the DataEntry name.

Returns:
The DataEntry name.

getFieldValue

public java.lang.Object getFieldValue(java.lang.String componentName)
Devolve o valor guardado num determinado campo visual da entrada de dados. A linha a que pertence o campo visual e a linha que se encontra selecionada na 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:
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)
Devolve o valor guardado num determinado campo visual da entrada de dados. Caso a entrada de dados esteja em modo query, e devolvido o valor do campo usado na pesquisa. 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:
value - O novo valor do campo visual.
row - Numero da linha da tabela a que o campo esta associado.
componentName - The name of the DataEntryComponent.

getProperty

public java.lang.Object getProperty(java.lang.Object key)
Devolve o valor de um determinado atributo da entrada de dados.

Parameters:
key - Nome chave do atributo pretendido.
Returns:
O valor do atributo com a chave 'key'.

setProperty

public void setProperty(java.lang.Object key,
                        java.lang.Object obj)
Guarda um determinado atributo na entrada de dados.

Parameters:
key - Nome chave do atributo pretendido.
obj - Atributo a guardar na entrada de dados.

addComponent

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

Parameters:
component - The feature to be added to the VisualField attribute.

getMode

public int getMode()
Devolve o modo em que se encontra a entrada de dados.

Returns:
O modo em que se encontra a entrada de dados.

setMode

public void setMode(int mode)
Altera o modo em que se encontra a entrada de dados. Se o modo escolhido for INSERT_MODE, o registo currente deve ser alterado com o numero de registos da entrada de dados mais 1. O valor do registo currente deve ser salvaguardado, para quando se voltar a alterar o modo para QUERY_MODE ou READ_MODE.

Parameters:
mode - O novo modo da entrada de dados.

getCurrentRow

public int getCurrentRow()
Devolve o index do registo que se encontra selecionado na entrada de dados. Este numero corresponde ao numero da linha do DAOView a que o registo que esta a ser visualizado pertence.

Returns:
O registo que se encontra selecionado na entrada de dados.

setCurrentRow

public void setCurrentRow(int rowNumber)
Altera o index do registo que se encontra selecionado na entrada de dados. Este numero corresponde ao numero da linha do DAOView a que o registo que esta a ser visualizado pertence.

Parameters:
rowNumber - O numero do novo registo selecionado na entrada de dados.

setDAOView

public void setDAOView(DAOView daoView)
Associa um DAOView a entrada de dados. O registo currente permanece inalterado.

Parameters:
daoView - O DAOView a associar a entrada de dados.

getDAOView

public DAOView getDAOView()
Devolve o DAOView associado a entrada de dados.

Returns:
Devolve o DAOView associado a entrada de dados.

isModified

public boolean isModified(int rowNumber,
                          java.lang.String componentName)
Verifica se uma determinada coluna de um determinado registo se encontra modificado na entrada de dados. Se o valor da coluna for nulo na base de dados, não é considerado modificado se o seu valor na entrada de dados for uma string vazia.

Parameters:
rowNumber - Numero do registo.
componentName - The name of the DataEntryComponent.
Returns:
true caso o campo esteja modificado, false caso contrario. Se o DAOView for nulo, a coluna nao esta modificada.

isModified

public boolean isModified(int rowNumber)
Verifica se um determinado registo se encontra modificado na entrada de dados. Os registos caom campos nulos na base de dados, não são considerados modificados se o seu valor na entrada de dados for uma string vazia.

Parameters:
rowNumber - Numero do registo.
Returns:
true caso o registo esteja modificado, false caso contrario. Se o DAOView for nulo, o registo nao esta modificado.

isModified

public boolean isModified()
Verifica se a algum registo da entrada de dados se encontra modificado. Os registos caom campos nulos na base de dados, não são considerados modificados se o seu valor na entrada de dados for uma string vazia.

Returns:
true caso algum registo esteja modificado, false caso contrario. Se o DAOView for nulo, a entrada de dados nao esta modificada.

getRows

public int getRows()
Devolve o numero de linhas existentes na entrada de dados.

Returns:
O numero de linhas existentes na entrada de dados.

getComponentsNames

public java.util.Iterator getComponentsNames()
Devolve um iterador para o nome dos componentes da entrade dados. Cada elemento do iterador corresponde a uma String com o nome de um componente A lista de nomes devolvida por este metodo pode ser diferente da lista devolvida pelo DAOView: getDAOView().getColumnNames(); Isto acontece quando o DAOView contem mais colunas do que as que são vizualizadas na entrada de dados ou quando os comonentes tem nomes diferentes do nome das colunas.

Returns:
Um iterador para o nome das colunas da entrade dados. O iterador pode estar vazio, se o DAOView for nulo.

refreshComponentsData

public void refreshComponentsData(int rowNumber)
Actualiza os valores dos componentes da entrada de dados com os dados que uma determinada linha tinha da ultima vez que essa linha se encontrava visivel na entrada de dados.

Parameters:
rowNumber - Linha da 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.


saveComponentsData

public void saveComponentsData(int rowNumber)
Salvaguarda os valores armazenados nos componente tornando possivel a sua recuperacao atraves dos metodos refreshComponentsData() ou refreshComponentsData(int). Apenas é salvaguardada a linha passada por parametro.

Parameters:
rowNumber - Numero da linha da entrada de dados que deve ser salvaguardada.

saveComponentsData

public void saveComponentsData()
Salvaguarda os valores armazenados nos componente tornando possivel a sua recuperacao atraves dos metodos refreshComponentsData() ou refreshComponentsData(int). Todas as linhas visiveis na entrada de dados são salvaguardadas. No caso da entrada de dados so permitir visualizar uma unica linha de cada vez, este metodo devera prosuzir o mesmo efeito que o metodo saveComponentsData(int).


loadDataFromDAOView

public void loadDataFromDAOView(int rowNumber)
Carrega na entrada de dados uma determinada linha tal como foi lida do DataSource.

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.


isNavigable

public boolean isNavigable()
Indica se e possivel navegar atraves dos varios registos da entrada de dados.

Returns:
true Se a entrada de dados for navegavel, false caso contrario.

setNavigable

public void setNavigable(boolean isNavigable)
Activa ou desactiva a navegacao pelos registos da entrada de dados.

Parameters:
isNavigable - True para permitir a navesação na entrada de dados, false caso contrario.

insertNewRow

public void insertNewRow()
Adiciona uma nova linha na entrada dados. TODO : Devia devolver o numero da linha inserida !


removeRow

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

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

removeAllRows

public void removeAllRows()
Remove todas as linhas da entrada de dados.


addRecordDeletedListener

public void addRecordDeletedListener(RecordDeletedListener listener)
Adiciona um RecordDeletedListener.

Parameters:
listener - O listener a adicionar.

addRecordInsertedListener

public void addRecordInsertedListener(RecordInsertedListener listener)
Adiciona um RecordInsertedListener.

Parameters:
listener - O listener a adicionar.

addRecordModifiedListener

public void addRecordModifiedListener(RecordModifiedListener listener)
Adiciona um RecordModifiedListener.

Parameters:
listener - O listener a adicionar.

addModeChangedListener

public void addModeChangedListener(ModeChangedListener listener)
Adiciona um ModeChangedListener.

Parameters:
listener - O listener a adicionar.

addActionListener

public void addActionListener(ActionListener listener)
Adiciona um actionListener.

Parameters:
listener - O listener a adicionar.

removeRecordModifiedListener

public void removeRecordModifiedListener(RecordModifiedListener listener)
Remove um RecordModifiedListener.

Parameters:
listener - O listener a remover.

removeRecordInsertedListener

public void removeRecordInsertedListener(RecordInsertedListener listener)
Remove um RecordInsertedListener.

Parameters:
listener - O listener a remover.

removeRecordDeletedListener

public void removeRecordDeletedListener(RecordDeletedListener listener)
Remove um RecordDeletedListener.

Parameters:
listener - O listener a remover.

removeModeChangedListener

public void removeModeChangedListener(ModeChangedListener listener)
Remove um ModeChangedListener.

Parameters:
listener - O listener a remover.

removeActionListener

public void removeActionListener(ActionListener listener)
Remove um ActionListener.

Parameters:
listener - O listener a remover.

getComponentsCount

public int getComponentsCount()
Devolve o numero de componentes da entrada de dados.

Returns:
O numero de componentes da entrada de dados.

getComponents

public java.util.Iterator getComponents()
Devolve um iterador com todos os componentes da entrada de dados.

Returns:
Um iterador com todos os componentes da entrada de dados.

getComponent

public DataEntryComponent getComponent(int index)
                                throws java.lang.IndexOutOfBoundsException
Devolve um determinado componente da entrada de dados.

Parameters:
index - O index do componente a devolver.
Returns:
O componente da entrada de dados com um determinado index.
Throws:
java.lang.IndexOutOfBoundsException - Se o index for superior ao numero de componentes.

getComponent

public DataEntryComponent getComponent(java.lang.String componentName)
                                throws NoFieldMappedToColumnException
Devolve um determinado componente da entrada de dados.

Parameters:
componentName - The name of the DataEntryComponent.
Returns:
A DataEntryComponent for the giveen column name.
Throws:
NoFieldMappedToColumnException - If there is no component associated to the giveen column name.

isQueryAllowed

public boolean isQueryAllowed()
Indica se a entrada de dados permite ou nao a realizacao de pesquisas.

Returns:
true caso a entrada de dados permita a realizacao de pesquisas, false caso naoi permita.

setQueryAllowed

public void setQueryAllowed(boolean queryAllowed)
Activa ou desactiva a possibilidade de se realizar pesquisas na entrada de dados.

Parameters:
queryAllowed - true para activar a pesquisa na entrada de dados, false para desactivar.

getDAOManager

public DAOManager getDAOManager()
Devolve o gestor de DAOs usado no DataEntry.


setDAOManager

public void setDAOManager(DAOManager daoManager)
Altera o gestor de DAOs usado pelo DataEntry.


cleanUp

public void cleanUp()
Clean up the DataEntry, removing all listeners added to other objects. This operation is necessary for making this object free of references so the GC can collect it.


addActionMapping

public void addActionMapping(java.lang.String commandName,
                             java.lang.String className)
Add a new Action mapping for a giveen command.

Parameters:
commandName - The name of the command that identifies the action.
className - The name of the class that implements the action command.

getClassNameForAction

public java.lang.String getClassNameForAction(java.lang.String commandName)
Returns the name of the class that implements a Action for a giveen command.

Parameters:
commandName - The name of the command that identifies the action.
Returns:
The name of the class that implements a Action for a giveen command.

isColumn

public boolean isColumn(java.lang.String componentName)
Check if the component exists in the DataEntry.

Parameters:
componentName - The name of the DataEntryComponent.
Returns:
True if the DataEntry has a component with the name specified.

isColumn

public boolean isColumn(java.lang.String tableName,
                        java.lang.String columnName)
Check if exists any component with the columnName and table name. Table alias can be specified insted table name.

Parameters:
tableName - The component tableName or table alias.
columnName - The component columnName.
Returns:
True if exists any component with the columnName and table name, false otherwise.