1 /*
2 * Created on 14/12/2004
3 *
4 * Classe que implementa a interface PopUpPesquisa que é utilizada pelo template jsp
5 * popup_pesquisa.jsp
6 *
7 * O template instancia essa classe utilizando os métodos definidos na interface.
8 * Assim o template pode ser usado para pesquisar e navegar em várias classes sem
9 * precisar escrever um jsp específico para cada um.
10 * Basta criar uma classe que implementa a interface PopUpPesquisa e passá-la como
11 * parâmatro no momento de chamar a tela de pesquisa
12 *
13 * A tela de pesquisa sempre retorna um código e uma descrição do que foi selecionado.
14 *
15 */
16 package ecar.popup;
17
18 import java.util.List;
19
20 import javax.servlet.http.HttpServletRequest;
21
22 import comum.database.Dao;
23 import comum.util.Pagina;
24
25 import ecar.dao.BeneficiarioDao;
26 import ecar.exception.ECARException;
27 import ecar.pojo.BeneficiarioBnf;
28
29 /**
30 * @author garten
31 */
32 public class PopUpBeneficiario implements PopUpPesquisa {
33
34
35 private String[] pesquisarEm;
36
37
38 // declare o seu pojo e o Dao aqui
39 private BeneficiarioBnf bnf;
40 private BeneficiarioDao bnfDao;
41
42 public PopUpBeneficiario(){
43 bnf = new BeneficiarioBnf();
44 bnfDao = new BeneficiarioDao(null);
45 this.setPesquisarEm(new String[] {"Nome"});
46 }
47
48 /**
49 * Devolve para o template jsp o Dao.<br>
50 *
51 * @author N/C
52 * @since N/C
53 * @version N/C
54 * @return Dao
55 * @see ecar.popup.PopUpPesquisa#getDao()
56 */
57 public Dao getDao() {
58 return bnfDao;
59 }
60
61 /**
62 * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
63 * <p>
64 * String arg - a string do argumento d pesquisa.<br>
65 * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
66 *
67 * @author N/C
68 * @since N/C
69 * @version N/C
70 * @param HttpServletRequest request
71 * @throws ECARException
72 */
73 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
74 String arg = Pagina.getParam(request, "hidArg");
75 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
76
77 if (pesquisarEm != null)
78 for (int i = 0; i < pesquisarEm.length; i++) {
79 if ("0".equals(pesquisarEm[i]))
80 bnf.setNomeBnf(arg);
81
82 }
83 }
84
85 /**
86 * Retorna List do nome dos beneficiarios pesquisados.<br>
87 *
88 * @author N/C
89 * @since N/C
90 * @version N/C
91 * @return List
92 * @throws ECARException
93 */
94 public List pesquisar() throws ECARException {
95 bnf.setIndAtivoBnf("S");
96 return bnfDao.pesquisar(bnf, new String[] {"nomeBnf", "asc"});
97 }
98
99 /**
100 * Devolve para o template o codigo do radio button.<br>
101 *
102 * @author N/C
103 * @since N/C
104 * @version N/C
105 * @return String
106 */
107 public String getCodigo() {
108 return bnf.getCodBnf().toString();
109 }
110
111 /**
112 * Devolve para o template a descricao .<br>
113 *
114 * @author N/C
115 * @since N/C
116 * @version N/C
117 * @return String
118 */
119 public String getDescricao() {
120 return bnf.getNomeBnf();
121 }
122
123
124 /**
125 * Recebe um objeto do template.<br>
126 *
127 * @author N/C
128 * @since N/C
129 * @version N/C
130 * @param Object o
131 */
132 public void setPojo(Object o) {
133 bnf = (BeneficiarioBnf) o;
134 }
135
136 /**
137 * Retorna para o template um array com os nomes para montar os checkbox.<br>
138 *
139 * @author N/C
140 * @since N/C
141 * @version N/C
142 * @return String[] - (Returns the pesquisarEm)
143 */
144 public String[] getPesquisarEm() {
145 return pesquisarEm;
146 }
147
148 /**
149 * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
150 *
151 * @author N/C
152 * @since N/C
153 * @version N/C
154 * @param String[] pesquisarEm - (The pesquisarEm to set)
155 */
156 private void setPesquisarEm(String[] pesquisarEm) {
157 this.pesquisarEm = pesquisarEm;
158 }
159
160 /**
161 * Retorna String Beneficiario.<br>
162 *
163 * @author N/C
164 * @since N/C
165 * @version N/C
166 * @return String
167 */
168 public String getTitulo() {
169 return "Beneficiário";
170 }
171 }