01: /*
02: * Created on 12/10/2004
03: *
04: * ============================================================================
05: * GNU Lesser General Public License
06: * ============================================================================
07: *
08: * Swing Components - visit http://sf.net/projects/gfd
09: *
10: * Copyright (C) 2004 Igor Regis da Silva Simões
11: *
12: * This library is free software; you can redistribute it and/or
13: * modify it under the terms of the GNU Lesser General Public
14: * License as published by the Free Software Foundation; either
15: * version 2.1 of the License, or (at your option) any later version.
16: *
17: * This library is distributed in the hope that it will be useful,
18: * but WITHOUT ANY WARRANTY; without even the implied warranty of
19: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20: * Lesser General Public License for more details.
21: *
22: * You should have received a copy of the GNU Lesser General Public
23: * License along with this library; if not, write to the Free Software
24: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
25: */
26:
27: package br.com.gfpshare.beans;
28:
29: import java.sql.ResultSet;
30: import java.sql.SQLException;
31: import java.util.Map;
32:
33: import br.com.gfpshare.db.DAOCreationException;
34: import br.com.gfpshare.db.PersistentObject;
35:
36: /**
37: * Interface que representa uma coleção de dados amaradas com um banco de dados.
38: *
39: * @author Igor Regis da Silva Simões
40: */
41: public interface DBCollectionModel<E extends PersistentObject> {
42:
43: /**
44: * Carrega os dados da coleção a partir do banco de dados.
45: * @throws DAOCreationException Quando houver qualquer problema referente a conexão com o banco de dados.
46: * @throws SQLException Quando houver problema na execução da query que retem os dados do banco.
47: */
48: public void loadDados() throws DAOCreationException, SQLException;
49:
50: /**
51: * Carrega os dados da colação a partir do banco de dados usando um critério para filtrar os dados carregados.
52: * @throws DAOCreationException Quando houver qualquer problema referente a conexão com o banco de dados.
53: * @throws SQLException Quando houver problema na execução da query que retem os dados do banco.
54: */
55: public void filter() throws DAOCreationException, SQLException;
56:
57: /**
58: * Retorna os dados da coleção.
59: * @return ResultSet contendo os dados da coleção
60: */
61: public ResultSet getDados();
62:
63: /**
64: * Retorna uma Map com os dados de uma determinada posição da coleção.
65: * @param index Posição da qual se deseja pegar os dados.
66: * @return Map contendo os dados.
67: * @throws SQLException Caso ocorra um erro sql.
68: */
69: public Map getDataAt(int index) throws SQLException;
70:
71: /**
72: * Retorna um PersistentObject representando os dados de uma determinada posição da coleção.
73: * @param index Posição da qual se deseja pegar os dados.
74: * @return PersistentObject representando os dados/
75: * @throws SQLException Caso ocorra um erro sql.
76: */
77: public E getPersistentObject(int index) throws SQLException;
78:
79: /**
80: * Determina o tipo de dados contidos nesta coleção assim como o filtro para o que será retido.
81: * @param dataType tipo de dados contidos nesta coleção assim como o filtro para o que será retido
82: */
83: public void setDataType(E dataType);
84:
85: /**
86: * Retorna o tipo de dados contidos nesta coleção assim como o filtro para o que será retido.
87: * @return tipo de dados contidos nesta coleção assim como o filtro para o que será retido
88: */
89: public E getDataType();
90:
91: }
|