View Javadoc

1   /*
2    * Created on 06/10/2004
3    *
4    */
5   package ecar.taglib.util;
6   
7   import javax.servlet.jsp.JspException;
8   import javax.servlet.jsp.JspWriter;
9   import javax.servlet.jsp.tagext.Tag;
10  import javax.servlet.jsp.tagext.TagSupport;
11  
12  import org.apache.log4j.Logger;
13  
14  /**
15   * TagLib para montar a barra de botoes.<br>
16   * @author garten
17   */
18  public class BarraBotoesTag extends TagSupport {
19  
20  	/**
21  	 * 
22  	 */
23  	private static final long serialVersionUID = 7126604742141401956L;
24  
25  	private Logger logger = Logger.getLogger(this.getClass());
26  
27  	// constantes da sintaxe do html
28  	//private final String ASPAS = "\"";
29  	private final String DIVISAO = "";
30  	
31  	// parametros da taglib
32  	private String navegacao;
33  	private String btn1;             // botoes extras 1, 2, 3
34  	private Boolean exibirBtn1;
35  	private String btn2;
36  	private Boolean exibirBtn2;
37  	private String btn3;	
38  	private Boolean exibirBtn3;
39  	private String incluir;
40  	private Boolean exibirIncluir;
41  	private String alterar;
42  	private Boolean exibirAlterar;
43  	private String excluir;
44  	private Boolean exibirExcluir;
45  	private String pesquisar;
46  	private String cancelar;
47  	private Boolean esconderCancelar;
48  	private String voltar;
49  	private int atual;
50  	private int total;
51  	private Boolean desabilitarBtn3;
52  
53  	private String textoDireita;
54  
55  	public String getTextoDireita() {
56  		return textoDireita;
57  	}
58  
59  	public void setTextoDireita(String textoDireita) {
60  		this.textoDireita = textoDireita;
61  	}
62  
63  	/**
64  	 * Retorna Boolean desabilitarBtn3.<br>
65  	 * 
66  	 * @author N/C
67  	 * @since N/C
68  	 * @version N/C
69  	 * @return Boolean
70  	 */
71  	public Boolean getDesabilitarBtn3() {
72  		return desabilitarBtn3;
73  	}
74  
75  	/**
76  	 * Atribui valor especificado para Boolean desabilitarBtn3.<br>
77  	 * 
78  	 * @author N/C
79  	 * @since N/C
80  	 * @version N/C
81  	 * @param Boolean desabilitarBtn3
82  	 */
83  	public void setDesabilitarBtn3(Boolean desabilitarBtn3) {
84  		this.desabilitarBtn3 = desabilitarBtn3;
85  	}
86  
87  	/**
88  	 * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
89  	 * 
90  	 * @author N/C
91  	 * @since N/C
92  	 * @version N/C
93  	 * @return int
94  	 * @throws JspException
95  	 */
96  	public int doStartTag() throws JspException {
97  		JspWriter writer = this.pageContext.getOut();
98  		
99  		boolean imprimiu = false;
100 		
101 		try {
102 			writer.println("<table class=\"barrabotoes\" cellpadding=\"0\" cellspacing=\"0\">");
103 			writer.println("<tr>");
104 
105 			writer.println("<td class=\"label\">");
106 			
107 			/* imprime os registros da navegação */
108 			if (this.getAtual() != 0)
109 			    writer.println(this.getAtual());
110 			
111 			if (this.getTotal() != 0) {
112 				if (this.getAtual() != 0)
113 				    writer.println(" de ");
114 			    writer.println(this.getTotal());
115 			}
116 			
117 			writer.println("&nbsp;</td>");			
118 			writer.println("<td>");
119 			
120 			if (this.getNavegacao() != null) {
121 				writer.println(imprimiu ? DIVISAO : "");
122 				writer.println("<input name=\"btnPrimeiro\" type=\"button\" value=\"<<\" class=\"botao\" onclick=\"aoClicarPrimeiro(form);\">");
123 				writer.println(imprimiu ? DIVISAO : "");
124 				writer.println("<input name=\"btnAnterior\" type=\"button\" value=\"<\" class=\"botao\" onclick=\"aoClicarAnterior(form);\">");
125 				writer.println(imprimiu ? DIVISAO : "");
126 				writer.println("<input name=\"btnProximo\" type=\"button\" value=\">\" class=\"botao\" onclick=\"aoClicarProximo(form);\">");
127 				writer.println(imprimiu ? DIVISAO : "");
128 				writer.println("<input name=\"btnUltimo\" type=\"button\" value=\">>\" class=\"botao\" onclick=\"aoClicarUltimo(form);\">");
129 				imprimiu = true;
130 			}
131 			
132 			if (this.getBtn1() != null && (this.getExibirBtn1() == null || this.getExibirBtn1().booleanValue()) ) {
133 				writer.println(imprimiu ? DIVISAO : "");
134 				writer.println("<input name=\"btn1\" type=\"button\" value=\"" + this.getBtn1() + "\" class=\"botao\" onclick=\"aoClicarBtn1(form);\">");
135 				imprimiu = true;
136 			}
137 
138 			if (this.getBtn2() != null && (this.getExibirBtn2() == null || this.getExibirBtn2().booleanValue()) ) {
139 				writer.println(imprimiu ? DIVISAO : "");
140 				writer.println("<input name=\"btn2\" type=\"button\" value=\"" + this.getBtn2() + "\" class=\"botao\" onclick=\"aoClicarBtn2(form);\">");
141 				imprimiu = true;
142 			}
143 
144 			if (this.getBtn3() != null && (this.getExibirBtn3() == null || this.getExibirBtn3().booleanValue()) ) {
145 				writer.println(imprimiu ? DIVISAO : "");
146 				String disabled = "";
147 				
148 				if(this.getDesabilitarBtn3() != null && this.getDesabilitarBtn3().booleanValue()) {
149 					disabled = "disabled";
150 				}
151 				
152 				writer.println("<input name=\"btn3\" type=\"button\" value=\"" + this.getBtn3() + "\" " + disabled + " class=\"botao\" onclick=\"aoClicarBtn3(form);\">");
153 				imprimiu = true;
154 			}
155 			
156 			if (this.getIncluir() != null && (this.getExibirIncluir() == null || this.getExibirIncluir().booleanValue()) ) {
157 				writer.println(imprimiu ? DIVISAO : "");
158 				writer.println("<input name=\"btnGravar\" type=\"button\" value=\"" + this.getIncluir() + "\" class=\"botao\" onclick=\"aoClicarGravar(form);\">");
159 				imprimiu = true;
160 			}
161 
162 			if (this.getAlterar() != null && (this.getExibirAlterar() == null || this.getExibirAlterar().booleanValue()) ){
163 				writer.println(imprimiu ? DIVISAO : "");
164 				writer.println("<input name=\"btnAlterar\" type=\"button\" value=\"" + this.getAlterar() + "\" class=\"botao\" onclick=\"aoClicarAlterar(form);\">");
165 				imprimiu = true;
166 			}
167 
168 			if (this.getExcluir() != null && (this.getExibirExcluir() == null || this.getExibirExcluir().booleanValue()) ){
169 				writer.println(imprimiu ? DIVISAO : "");
170 				writer.println("<input name=\"btnExcluir\" type=\"button\" value=\"" + this.getExcluir() + "\" class=\"botao\" onclick=\"aoClicarExcluir(form);\">");
171 				imprimiu = true;
172 			}
173 			
174 			if (this.getPesquisar() != null){
175 				writer.println(imprimiu ? DIVISAO : "");
176 				writer.println("<input name=\"btnPesquisar\" type=\"button\" value=\"" + this.getPesquisar() + "\" class=\"botao\" onclick=\"aoClicarPesquisar(form);\">");
177 				imprimiu = true;
178 			}
179 			
180 			if (this.getCancelar() != null){
181 				writer.println(imprimiu ? DIVISAO : "");
182 				if(this.getEsconderCancelar() != null && this.getEsconderCancelar().booleanValue()){
183 					writer.println("<input style=\"display:none;\" name=\"btnCancelar\" type=\"button\" value=\"" + this.getCancelar() + "\" class=\"botao\" onclick=\"aoClicarCancelar(form);\">");
184 				}else{
185 					writer.println("<input name=\"btnCancelar\" type=\"button\" value=\"" + this.getCancelar() + "\" class=\"botao\" onclick=\"aoClicarCancelar(form);\">");
186 				}
187 				imprimiu = true;
188 			}
189 			
190 			if (this.getVoltar() != null){
191 				writer.println(imprimiu ? DIVISAO : "");
192 				writer.println("<input name=\"btnVoltar\" type=\"button\" value=\"" + this.getVoltar() + "\" class=\"botao\" onclick=\"aoClicarVoltar(form);\">");
193 				imprimiu = true;
194 			}
195 
196 			writer.println("</td>");
197 			if(this.getTextoDireita() != null && !"".equals(this.getTextoDireita())) {
198 				writer.println("<td class=\"texto\" align=\"right\">");
199 				writer.println(this.getTextoDireita());			
200 				writer.println("<td>");
201 			}
202 			writer.println("</tr>");
203 			writer.println("</table>");
204 		} catch (Exception e) {
205 			logger.error(e);
206 		}
207 		/* nao processa o conteudo do corpo da tag, porque nao existe */
208 		return Tag.SKIP_BODY;
209 	}
210 
211 	/**
212 	 * Encerra Tag.<br>
213 	 * 
214 	 * @author N/C
215 	 * @since N/C
216 	 * @version N/C
217 	 * @return int
218 	 * @throws JspException
219 	 */
220 	public int doEndTag() throws JspException {
221 	    /* processa o restante da página jsp */
222 		return Tag.EVAL_PAGE;
223 	}
224 
225 	/**
226 	 * Retorna String alterar.<br>
227 	 * 
228 	 * @author N/C
229 	 * @since N/C
230 	 * @version N/C
231 	 * @return String
232 	 */
233 	public String getAlterar() {
234 		return alterar;
235 	}
236 	
237 	/**
238 	 * Atribui valor especificado para String alterar.<br>
239 	 * 
240 	 * @author N/C
241 	 * @since N/C
242 	 * @version N/C
243 	 * @param String alterar
244 	 */
245 	public void setAlterar(String alterar) {
246 		this.alterar = alterar;
247 	}
248 	
249 	/**
250 	 * Retorna String excluir.<br>
251 	 * 
252 	 * @author N/C
253 	 * @since N/C
254 	 * @version N/C
255 	 * @return String
256 	 */
257 	public String getExcluir() {
258 		return excluir;
259 	}
260 	
261 	/**
262 	 * Atribui valor especificado para String excluir.<br>
263 	 * 
264 	 * @author N/C
265 	 * @since N/C
266 	 * @version N/C
267 	 * @param String excluir
268 	 */
269 	public void setExcluir(String excluir) {
270 		this.excluir = excluir;
271 	}
272 	
273 	/**
274 	 * Retorna String incluir.<br>
275 	 * 
276 	 * @author N/C
277 	 * @since N/C
278 	 * @version N/C
279 	 * @return String
280 	 */
281 	public String getIncluir() {
282 		return incluir;
283 	}
284 	
285 	/**
286 	 * Atribui valor especificado para String incluir.<br>
287 	 * 
288 	 * @author N/C
289 	 * @since N/C
290 	 * @version N/C
291 	 * @param String incluir
292 	 */
293 	public void setIncluir(String incluir) {
294 		this.incluir = incluir;
295 	}
296 	
297 	/**
298 	 * Retorna String pesquisar.<br>
299 	 * 
300 	 * @author N/C
301 	 * @since N/C
302 	 * @version N/C
303 	 * @return String
304 	 */
305 	public String getPesquisar() {
306 		return pesquisar;
307 	}
308 	
309 	/**
310 	 * Atribui valor especificado para String pesquisar.<br>
311 	 * 
312 	 * @author N/C
313 	 * @since N/C
314 	 * @version N/C
315 	 * @param String pesquisar
316 	 */
317 	public void setPesquisar(String pesquisar) {
318 		this.pesquisar = pesquisar;
319 	}
320 	
321 	/**
322 	 * Retorna String cancelar.<br>
323 	 * 
324 	 * @author N/C
325 	 * @since N/C
326 	 * @version N/C
327 	 * @return String
328 	 */
329 	public String getCancelar() {
330 		return cancelar;
331 	}
332 	
333 	/**
334 	 * Atribui valor especificado para String cancelar.<br>
335 	 * 
336 	 * @author N/C
337 	 * @since N/C
338 	 * @version N/C
339 	 * @param String cancelar
340 	 */
341 	public void setCancelar(String cancelar) {
342 		this.cancelar = cancelar;
343 	}
344 	
345 	/**
346 	 * Retorna String voltar.<br>
347 	 * 
348 	 * @author N/C
349 	 * @since N/C
350 	 * @version N/C
351 	 * @return String
352 	 */
353 	public String getVoltar() {
354 		return voltar;
355 	}
356 	
357 	/**
358 	 * Atribui valor especificado para String voltar.<br>
359 	 * 
360 	 * @author N/C
361 	 * @since N/C
362 	 * @version N/C
363 	 * @param String voltar
364 	 */
365 	public void setVoltar(String voltar) {
366 		this.voltar = voltar;
367 	}
368 	
369 	/**
370 	 * Retorna String navegacao.<br>
371 	 * 
372 	 * @author N/C
373 	 * @since N/C
374 	 * @version N/C
375 	 * @return String
376 	 */
377 	public String getNavegacao() {
378 		return navegacao;
379 	}
380 	
381 	/**
382 	 * Atribui valor especificado para String navegacao.<br>
383 	 * 
384 	 * @author N/C
385 	 * @since N/C
386 	 * @version N/C
387 	 * @param String navegacao
388 	 */
389 	public void setNavegacao(String navegacao) {
390 		this.navegacao = navegacao;
391 	}
392 	
393 	/**
394 	 * Retorna String btn1.<br>
395 	 * 
396 	 * @author N/C
397 	 * @since N/C
398 	 * @version N/C
399 	 * @return String - (Returns the btn1)
400 	 */
401 	public String getBtn1() {
402 		return btn1;
403 	}
404 	
405 	/**
406 	 * Atribui valor especficado para String btn1.<br>
407 	 * 
408 	 * @author N/C
409 	 * @since N/C
410 	 * @version N/C
411 	 * @param String - (btn1 The btn1 to set)
412 	 */
413 	public void setBtn1(String btn1) {
414 		this.btn1 = btn1;
415 	}
416 	
417 	/**
418 	 * Retorna String btn2.<br>
419 	 * 
420 	 * @author N/C
421 	 * @since N/C
422 	 * @version N/C
423 	 * @return String - (Returns the btn2)
424 	 */
425 	public String getBtn2() {
426 		return btn2;
427 	}
428 	
429 	/**
430 	 * Atribui valor especificado para String btn2.<br>
431 	 * 
432 	 * @author N/C
433 	 * @since N/C
434 	 * @version N/C
435 	 * @param String btn2 - (The btn2 to set)
436 	 */
437 	public void setBtn2(String btn2) {
438 		this.btn2 = btn2;
439 	}
440 	
441 	/**
442 	 * Retorna String btn3.<br>
443 	 * 
444 	 * @author N/C
445 	 * @since N/C
446 	 * @version N/C
447 	 * @return String - (Returns the btn3)
448 	 */
449 	public String getBtn3() {
450 		return btn3;
451 	}
452 	
453 	/**
454 	 * Atribui valor especificado para String btn3.<br>
455 	 * 
456 	 * @author N/C
457 	 * @since N/C
458 	 * @version N/C
459 	 * @param String btn3 - (The btn3 to set)
460 	 */
461 	public void setBtn3(String btn3) {
462 		this.btn3 = btn3;
463 	}
464 	
465     /**
466      * Retorna int atual.<br>
467      * 
468      * @author N/C
469 	 * @since N/C
470 	 * @version N/C
471      * @return int - (Returns the atual)
472      */
473     public int getAtual() {
474         return atual;
475     }
476     
477     /**
478      * Atribui valor especificado para int atual.<br>
479      * 
480      * @author N/C
481 	 * @since N/C
482 	 * @version N/C
483      * @param int atual - (The atual to set)
484      */
485     public void setAtual(int atual) {
486         this.atual = atual;
487     }
488     
489     /**
490      * Retorna int total.<br>
491      * 
492      * @author N/C
493 	 * @since N/C
494 	 * @version N/C
495      * @return int - (Returns the total)
496      */
497     public int getTotal() {
498         return total;
499     }
500     
501     /**
502      * Atribui valor especificado para int total.<br>
503      * 
504      * @author N/C
505 	 * @since N/C
506 	 * @version N/C
507      * @param int total - (The total to set)
508      */
509     public void setTotal(int total) {
510         this.total = total;
511     }
512 	
513 	/**
514 	 * Retorna Boolean exibirAlterar.<br>
515 	 * 
516 	 * @author N/C
517 	 * @since N/C
518 	 * @version N/C
519 	 * @return Boolean - (Returns the exibirAlterar)
520 	 */
521 	public Boolean getExibirAlterar() {
522 		return exibirAlterar;
523 	}
524 	
525 	/**
526 	 * Atribui valor especificado para Boolean exibirAlterar.<br>
527 	 * 
528 	 * @author N/C
529 	 * @since N/C
530 	 * @version N/C
531 	 * @param Boolean exibirAlterar - (The exibirAlterar to set)
532 	 */
533 	public void setExibirAlterar(Boolean exibirAlterar) {
534 		this.exibirAlterar = exibirAlterar;
535 	}
536 	
537 	/**
538 	 * Retorna Boolean exibirBtn1.<br>
539 	 * 
540 	 * @author N/C
541 	 * @since N/C
542 	 * @version N/C
543 	 * @return Boolean - (Returns the exibirBtn1)
544 	 */
545 	public Boolean getExibirBtn1() {
546 		return exibirBtn1;
547 	}
548 	
549 	/**
550 	 * Atribui valor especificado para Boolean exibirBtn1.<br>
551 	 * 
552 	 * @author N/C
553 	 * @since N/C
554 	 * @version N/C
555 	 * @param Boolean exibirBtn1 - (The exibirBtn1 to set)
556 	 */
557 	public void setExibirBtn1(Boolean exibirBtn1) {
558 		this.exibirBtn1 = exibirBtn1;
559 	}
560 	
561 	/**
562 	 * Retorna Boolean exibirBtn2.<br>
563 	 * 
564 	 * @author N/C
565 	 * @since N/C
566 	 * @version N/C
567 	 * @return Boolean - (Returns the exibirBtn2)
568 	 */
569 	public Boolean getExibirBtn2() {
570 		return exibirBtn2;
571 	}
572 	
573 	/**
574 	 * Atribui valor especificado Boolean exibirBtn2.<br>
575 	 * 
576 	 * @author N/C
577 	 * @since N/C
578 	 * @version N/C
579 	 * @param Boolean exibirBtn2 - (The exibirBtn2 to set)
580 	 */
581 	public void setExibirBtn2(Boolean exibirBtn2) {
582 		this.exibirBtn2 = exibirBtn2;
583 	}
584 	
585 	
586 	/**
587 	 * Retorna Boolean exibirBtn3.<br>
588 	 * 
589 	 * @author N/C
590 	 * @since N/C
591 	 * @version N/C
592 	 * @return Boolean - (Returns the exibirBtn3)
593 	 */
594 	public Boolean getExibirBtn3() {
595 		return exibirBtn3;
596 	}
597 	
598 	/**
599 	 * Atribui valor especificado para Boolean exibirBtn3.<br>
600 	 * 
601 	 * @author N/C
602 	 * @since N/C
603 	 * @version N/C
604 	 * @param Boolean exibirBtn3 - (The exibirBtn3 to set)
605 	 */
606 	public void setExibirBtn3(Boolean exibirBtn3) {
607 		this.exibirBtn3 = exibirBtn3;
608 	}
609 	
610 	
611 	/**
612 	 * Retorna Boolean exibirExcluir.<br>
613 	 * 
614 	 * @author N/C
615 	 * @since N/C
616 	 * @version N/C
617 	 * @return Boolean - (Returns the exibirExcluir)
618 	 */
619 	public Boolean getExibirExcluir() {
620 		return exibirExcluir;
621 	}
622 	
623 	/**
624 	 * Atribui valor especificado para Boolean exibirExcluir.<br>
625 	 * 
626 	 * @author N/C
627 	 * @since N/C
628 	 * @version N/C
629 	 * @param Boolean exibirExcluir - (The exibirExcluir to set)
630 	 */
631 	public void setExibirExcluir(Boolean exibirExcluir) {
632 		this.exibirExcluir = exibirExcluir;
633 	}
634 	
635 	/**
636 	 * Retorna Boolean exibirIncluir.<br>
637 	 * 
638 	 * @author N/C
639 	 * @since N/C
640 	 * @version N/C
641 	 * @return Boolean - (Returns the exibirIncluir)
642 	 */
643 	public Boolean getExibirIncluir() {
644 		return exibirIncluir;
645 	}
646 	
647 	/**
648 	 * Atribui valor especificado para Boolean exibirIncluir.<br>
649 	 * 
650 	 * @author N/C
651 	 * @since N/C
652 	 * @version N/C
653 	 * @param Boolean exibirIncluir - (The exibirIncluir to set)
654 	 */
655 	public void setExibirIncluir(Boolean exibirIncluir) {
656 		this.exibirIncluir = exibirIncluir;
657 	}
658 	
659 	/**
660 	 * Retorna Boolean esconderCancelar.<br>
661 	 * 
662 	 * @author N/C
663 	 * @since N/C
664 	 * @version N/C
665 	 * @return Boolean - (Returns the esconderCancelar)
666 	 */
667 	public Boolean getEsconderCancelar() {
668 		return esconderCancelar;
669 	}
670 	
671 	/**
672 	 * Atribui valor especificado para Boolean esconderCancelar.<br>
673 	 * 
674 	 * @author N/C
675 	 * @since N/C
676 	 * @version N/C
677 	 * @param Boolean esconderCancelar - (The esconderCancelar to set)
678 	 */
679 	public void setEsconderCancelar(Boolean esconderCancelar) {
680 		this.esconderCancelar = esconderCancelar;
681 	}
682 }