View Javadoc
1   /*
2    * Created on 17/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.EntidadeDao;
26  import ecar.exception.ECARException;
27  import ecar.pojo.EntidadeEnt;
28  
29  /**
30  * @author evandro
31  *
32  */
33  public class PopUpEntidadeOrgao implements PopUpPesquisa {
34     
35  
36     private String[] pesquisarEm;
37     
38     
39     // declare o seu pojo e o Dao aqui
40     private EntidadeEnt entidadeOrgao;
41     private EntidadeDao entidadeDao;
42  
43     /**
44      * @author N/C
45      * @since N/C
46      * @version N/C
47      */
48     public PopUpEntidadeOrgao(){
49         entidadeOrgao = new EntidadeEnt();
50         entidadeDao = new EntidadeDao(null);
51         this.setPesquisarEm(new String[] {"Nome"});
52     }
53     
54     /**
55      * Devolve para o template jsp o Dao.<br>
56      * 
57      * @author N/C
58      * @since N/C
59      * @version N/C
60      * @return Dao
61      * @see ecar.popup.PopUpPesquisa#getDao()
62      */
63     public Dao getDao() {
64         return entidadeDao;
65     }
66  
67     /**
68      * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
69      * String arg - a string do argumento d pesquisa.<br>
70      * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
71      * 
72      * @author N/C
73      * @since N/C
74      * @version N/C
75      * @param HttpServletRequest request
76      * @throws ECARException
77      */
78     public void setArgPesquisa(HttpServletRequest request) throws ECARException{
79         String arg = Pagina.getParam(request, "hidArg");
80         String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
81         
82         if (pesquisarEm != null)
83              for (int i = 0; i < pesquisarEm.length; i++) {
84                  if ("0".equals(pesquisarEm[i]))
85                      entidadeOrgao.setNomeEnt(arg);
86                  
87              }
88     }
89  
90     /**
91      * Retorna List com entidades pesquisadas.<br>
92      * 
93      * @author N/C
94      * @since N/C
95      * @version N/C
96      * @return List
97      * @throws ECARException
98      */
99     public List pesquisar() throws ECARException {
100        entidadeOrgao.setIndAtivoEnt("S");
101        entidadeOrgao.setIndOrgaoEnt("S");
102        
103        return entidadeDao.pesquisar(entidadeOrgao, new String[] {"nomeEnt", "asc"});
104    }
105    
106    /**
107     * Devolve para o template o codigo do radio button.<br>
108     * 
109     * @author N/C
110     * @since N/C
111     * @version N/C
112     * @return String
113     */
114    public String getCodigo() {
115        return entidadeOrgao.getCodEnt().toString();
116    }
117    
118    /**
119     * Devolve para o template a descricao.<br>
120     * 
121     * @author N/C
122     * @since N/C
123     * @version N/C
124     * @return String
125     */
126    public String getDescricao() {
127        return entidadeOrgao.getNomeEnt();
128    }
129    
130    /**
131     * Recebe um objeto do template.<br>
132     * 
133     * @author N/C
134     * @since N/C
135     * @version N/C
136     * @param Object o
137     */
138    public void setPojo(Object o) {
139        entidadeOrgao = (EntidadeEnt) o;
140    }
141 
142    /**
143     * Retorna para o template um array com os nomes para montar os checkbox.<br>
144     * 
145     * @author N/C
146     * @since N/C
147     * @version N/C
148     * @return String[] - (Returns the pesquisarEm)
149     */
150    public String[] getPesquisarEm() {
151        return pesquisarEm;
152    }
153 
154    /**
155     * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
156     * 
157     * @author N/C
158     * @since N/C
159     * @version N/C
160     * @param String[] pesquisarEm - (The pesquisarEm to set)
161     */
162    private void setPesquisarEm(String[] pesquisarEm) {
163        this.pesquisarEm = pesquisarEm;
164    }
165 
166    /**
167     * Retorna String "Entidade".<br>
168     * 
169     * @author N/C
170     * @since N/C
171     * @version N/C
172     * @return String
173     */
174    public String getTitulo() {
175        return "Orgão";
176    }
177 }