View Javadoc

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 }