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.igor.beans;
28:
29: import java.sql.ResultSet;
30: import java.sql.SQLException;
31: import java.util.Map;
32:
33: import br.com.igor.db.ControllerCreationException;
34: import br.com.igor.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 {
42:
43: /**
44: * Carrega os dados da coleção a partir do banco de dados.
45: * @throws ControllerCreationException 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 ControllerCreationException,
49: SQLException;
50:
51: /**
52: * Carrega os dados da colação a partir do banco de dados usando um critério para filtrar os dados carregados.
53: * @throws ControllerCreationException Quando houver qualquer problema referente a conexão com o banco de dados.
54: * @throws SQLException Quando houver problema na execução da query que retem os dados do banco.
55: */
56: public void filter() throws ControllerCreationException,
57: SQLException;
58:
59: /**
60: * Retorna os dados da coleção.
61: * @return ResultSet contendo os dados da coleção
62: */
63: public ResultSet getDados();
64:
65: /**
66: * Retorna uma Map com os dados de uma determinada posição da coleção.
67: * @param index Posição da qual se deseja pegar os dados.
68: * @return Map contendo os dados.
69: * @throws SQLException Caso ocorra um erro sql.
70: */
71: public Map getDataAt(int index) throws SQLException;
72:
73: /**
74: * Retorna um PersistentObject representando os dados de uma determinada posição da coleção.
75: * @param index Posição da qual se deseja pegar os dados.
76: * @return PersistentObject representando os dados/
77: * @throws SQLException Caso ocorra um erro sql.
78: */
79: public PersistentObject getPersistentObject(int index)
80: throws SQLException;
81:
82: /**
83: * Determina o tipo de dados contidos nesta coleção assim como o filtro para o que será retido.
84: * @param dataType tipo de dados contidos nesta coleção assim como o filtro para o que será retido
85: */
86: public void setDataType(PersistentObject dataType);
87:
88: /**
89: * Retorna o tipo de dados contidos nesta coleção assim como o filtro para o que será retido.
90: * @return tipo de dados contidos nesta coleção assim como o filtro para o que será retido
91: */
92: public PersistentObject getDataType();
93:
94: }
|