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 PopUpEntidade implements PopUpPesquisa {
34      
35  
36      private String[] pesquisarEm;
37      
38      
39      // declare o seu pojo e o Dao aqui
40      private EntidadeEnt entidade;
41      private EntidadeDao entidadeDao;
42  
43      /**
44       * @author N/C
45       * @since N/C
46       * @version N/C
47       */
48      public PopUpEntidade(){
49          entidade = 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  	                entidade.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         entidade.setIndAtivoEnt("S");
101         return entidadeDao.pesquisar(entidade, new String[] {"nomeEnt", "asc"});
102     }
103     
104     /**
105      * Devolve para o template o codigo do radio button.<br>
106      * 
107      * @author N/C
108      * @since N/C
109      * @version N/C
110      * @return String
111      */
112     public String getCodigo() {
113         return entidade.getCodEnt().toString();
114     }
115     
116     /**
117      * Devolve para o template a descricao.<br>
118      * 
119      * @author N/C
120      * @since N/C
121      * @version N/C
122      * @return String
123      */
124     public String getDescricao() {
125         return entidade.getNomeEnt();
126     }
127     
128     /**
129      * Recebe um objeto do template.<br>
130      * 
131      * @author N/C
132      * @since N/C
133      * @version N/C
134      * @param Object o
135      */
136     public void setPojo(Object o) {
137         entidade = (EntidadeEnt) o;
138     }
139 
140     /**
141      * Retorna para o template um array com os nomes para montar os checkbox.<br>
142      * 
143      * @author N/C
144      * @since N/C
145      * @version N/C
146      * @return String[] - (Returns the pesquisarEm)
147      */
148     public String[] getPesquisarEm() {
149         return pesquisarEm;
150     }
151 
152     /**
153      * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
154      * 
155      * @author N/C
156      * @since N/C
157      * @version N/C
158      * @param String[] pesquisarEm - (The pesquisarEm to set)
159      */
160     private void setPesquisarEm(String[] pesquisarEm) {
161         this.pesquisarEm = pesquisarEm;
162     }
163 
164     /**
165      * Retorna String "Entidade".<br>
166      * 
167      * @author N/C
168      * @since N/C
169      * @version N/C
170      * @return String
171      */
172     public String getTitulo() {
173         return "Entidade";
174     }
175 }