View Javadoc

1   /*
2    * Criado em 29/12/2004
3    *
4    */
5   package ecar.taglib.util;
6   
7   import java.util.Collection;
8   import java.util.Iterator;
9   
10  import javax.servlet.jsp.JspException;
11  import javax.servlet.jsp.JspWriter;
12  import javax.servlet.jsp.PageContext;
13  import javax.servlet.jsp.tagext.Tag;
14  
15  import org.apache.log4j.Logger;
16  
17  import comum.util.Util;
18  
19  import ecar.pojo.EstrutTpFuncAcmpEtttfa;
20  import ecar.pojo.ObjetoEstrutura;
21  
22  /**
23   * Taglib para gerar as rotinas de validação dos campos da tela de dados gerais do cadastro de Itens.<br>
24   * Gera também as funções de retorno dos parãmetros do pop up de pesquisa.<br>
25   * Permite validações específicas para cada campo que devem ser implementadas nos métodos geraValidacaoxxxxxxx<br>
26   * 
27   * @author felipev
28   */
29  public class ValidacaoItemEstruturaRevisaoTag implements Tag{
30      
31      private Collection atributos;
32      
33      private PageContext page = null;
34      
35      private StringBuffer validacaoCampos;
36      
37      private StringBuffer retornoPesquisa;
38      
39      /**
40       * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
41       * 
42       * @author N/C
43  	 * @since N/C
44  	 * @version N/C
45  	 * @return int
46  	 * @throws JspException
47       */
48      public int doStartTag() throws JspException {
49          try{
50              JspWriter writer = this.page.getOut();
51              StringBuffer s = new StringBuffer();
52              validacaoCampos = new StringBuffer();
53              retornoPesquisa = new StringBuffer();
54              if(atributos != null){
55                  Iterator it = atributos.iterator();
56                  while(it.hasNext()){
57                      ObjetoEstrutura atributoEstrutura = (ObjetoEstrutura) it.next();
58                      if(atributoEstrutura.iGetTipo() == EstrutTpFuncAcmpEtttfa.class) {
59                          geraPesquisaFuncaoAcompanhamento(atributoEstrutura);     
60                          geraValidacaoFuncaoAcompanhamento(atributoEstrutura);
61                      } else {
62                          this.getClass().
63                          	getMethod("geraValidacao" + Util.primeiraLetraToUpperCase(atributoEstrutura.iGetNome()), new Class[] { ObjetoEstrutura.class }).
64                          		invoke(this, new Object[] { atributoEstrutura });
65                      }
66                  }
67              }
68  //            s.append("function validar(form) { \n");
69              //if(validacaoCampos != null)
70                  //s.append(validacaoCampos);
71              //s.append( "return true;\n");
72              //s.append("}\n");
73              if(retornoPesquisa != null)
74                  s.append(retornoPesquisa);
75              writer.print(s.toString());
76          } catch(Exception e){
77          	Logger logger = Logger.getLogger(this.getClass());
78          	logger.error(e);
79          }
80          return Tag.EVAL_BODY_INCLUDE;
81      }
82      
83      
84      /* versao antiga com validacao para funcao de acompanhamento "todos ou nenhum"
85      public int doStartTag() throws JspException {
86          try{
87              JspWriter writer = this.page.getOut();
88              StringBuffer s = new StringBuffer();
89              validacaoCampos = new StringBuffer();
90              retornoPesquisa = new StringBuffer();
91              List atributosFuncaoAcompanhamento = new ArrayList();
92              if(atributos != null){
93                  Iterator it = atributos.iterator();
94                  while(it.hasNext()){
95                      ObjetoEstrutura atributoEstrutura = (ObjetoEstrutura) it.next();
96                      if(atributoEstrutura.iGetTipo() == EstrutTpFuncAcmpEtttfa.class) {
97                          geraPesquisaFuncaoAcompanhamento(atributoEstrutura);
98                          atributosFuncaoAcompanhamento.add(atributoEstrutura);                        
99                      } else {
100                         this.getClass().
101                         	getMethod("geraValidacao" + Util.primeiraLetraToUpperCase(atributoEstrutura.iGetNome()), new Class[] { ObjetoEstrutura.class }).
102                         		invoke(this, new Object[] { atributoEstrutura });
103                     }
104                 }
105             }
106             Iterator itFunAcomp = atributosFuncaoAcompanhamento.iterator();
107             Object[] atributosEstrutura = atributosFuncaoAcompanhamento.toArray(); 
108             while(itFunAcomp.hasNext()){
109                 ObjetoEstrutura atributoEstrutura = (ObjetoEstrutura) itFunAcomp.next();
110                 validacaoCampos.append("if(document.form." + atributoEstrutura.iGetNome() + ".value != \'\'){");
111                 for(int i = 0; i < atributosEstrutura.length; i++){
112                     ObjetoEstrutura obj = (ObjetoEstrutura) atributosEstrutura[i];                    
113                     geraValidacaoCampoObrigatorio(obj);
114                 }
115                 validacaoCampos.append("}");
116             }
117             s.append("function validar(form) { \n");
118             if(validacaoCampos != null)
119                 s.append(validacaoCampos);
120             s.append( "return true;\n");
121             s.append("}\n");
122             if(retornoPesquisa != null)
123                 s.append(retornoPesquisa);
124             writer.print(s.toString());
125         } catch(Exception e){
126         	Logger logger = Logger.getLogger(this.getClass());
127         	logger.error(e);
128         }
129         return Tag.EVAL_BODY_INCLUDE;
130     }
131      */
132     
133    /**
134     * Gera validação nomeIett.<br>
135     * 
136     * @author N/C
137 	* @since N/C
138 	* @version N/C
139     * @param ObjetoEstrutura atributo
140     */
141     public void geraValidacaoNomeIett(ObjetoEstrutura atributo) {
142         if(atributo.iGetObrigatorio().booleanValue() == true)
143             geraValidacaoCampoObrigatorio(atributo);
144     }
145 
146     /**
147      * Gera validação SiglaIett.<br>
148      * 
149      * @author N/C
150 	 * @since N/C
151 	 * @version N/C
152      * @param ObjetoEstrutura atributo 
153      */
154     public void geraValidacaoSiglaIett(ObjetoEstrutura atributo) {
155         if(atributo.iGetObrigatorio().booleanValue() == true)        
156             geraValidacaoCampoObrigatorio(atributo);
157     }
158 
159     /**
160      * Gera validação DescriçãoIett.<br>
161      * 
162      * @author N/C
163 	 * @since N/C
164 	 * @version N/C
165      * @param ObjetoEstrutura atributo 
166      */
167     public void geraValidacaoDescricaoIett(ObjetoEstrutura atributo) {
168         if(atributo.iGetObrigatorio().booleanValue() == true)
169             geraValidacaoCampoObrigatorio(atributo);
170     }
171 
172 
173     /**
174      * Gera validação OrigemIett.<br>
175      * 
176      * @author N/C
177 	 * @since N/C
178 	 * @version N/C
179      * @param ObjetoEstrutura atributo 
180      */
181     public void geraValidacaoOrigemIett(ObjetoEstrutura atributo) {
182         if(atributo.iGetObrigatorio().booleanValue() == true)        
183             geraValidacaoCampoObrigatorio(atributo);
184     }
185 
186 
187     /**
188      * Gera validação ObjetivoGeralIett.<br>
189      * 
190      * @author N/C
191 	 * @since N/C
192 	 * @version N/C
193      * @param ObjetoEstrutura atributo 
194      */
195     public void geraValidacaoObjetivoGeralIett(ObjetoEstrutura atributo) {
196         if(atributo.iGetObrigatorio().booleanValue() == true)
197             geraValidacaoCampoObrigatorio(atributo);
198     }
199 
200     /**
201      * Gera validação BeneficiariosIett.<br>
202      * 
203      * @author N/C
204 	 * @since N/C
205 	 * @version N/C
206      * @param ObjetoEstrutura atributo 
207      */
208     public void geraValidacaoBeneficiosIett(ObjetoEstrutura atributo) {
209         if(atributo.iGetObrigatorio().booleanValue() == true)
210             geraValidacaoCampoObrigatorio(atributo);
211     }
212     
213     /**
214      * Gera validação ObjetivoEspecificoIett.<br>
215      * 
216      * @author N/C
217 	 * @since N/C
218 	 * @version N/C
219      * @param ObjetoEstrutura atributo 
220      */
221     public void geraValidacaoObjetivoEspecificoIett(ObjetoEstrutura atributo) {
222         if(atributo.iGetObrigatorio().booleanValue() == true)
223             geraValidacaoCampoObrigatorio(atributo);
224     }    
225 
226     /**
227      * Gera validação Data inicio Iett.<br>
228      * 
229      * @author N/C
230 	 * @since N/C
231 	 * @version N/C
232      * @param ObjetoEstrutura atributo 
233      */
234     public void geraValidacaoDataInicioIett(ObjetoEstrutura atributo) {
235         if(atributo.iGetObrigatorio().booleanValue() == true)
236             geraValidacaoCampoObrigatorio(atributo);
237         geraValidacaoData(atributo);
238     }
239 
240     /**
241      * Gera validação Data terminoIett.<br>
242      * 
243      * @author N/C
244 	 * @since N/C
245 	 * @version N/C
246      * @param ObjetoEstrutura atributo 
247      */
248     public void geraValidacaoDataTerminoIett(ObjetoEstrutura atributo) {
249         if(atributo.iGetObrigatorio().booleanValue() == true)
250             geraValidacaoCampoObrigatorio(atributo);
251         geraValidacaoData(atributo);
252     }
253 
254     /**
255      * Gera validação IndCriticaIett.<br>
256      * 
257      * @author N/C
258 	 * @since N/C
259 	 * @version N/C
260      * @param ObjetoEstrutura atributo 
261      */
262     public void geraValidacaoIndCriticaIett(ObjetoEstrutura atributo) {
263         if(atributo.iGetObrigatorio().booleanValue() == true)
264             geraValidacaoCampoObrigatorio(atributo);
265     }
266 
267     /**
268      * Gera validação IndMonitoramentoIett.<br>
269      * 
270      * @author N/C
271 	 * @since N/C
272 	 * @version N/C
273      * @param ObjetoEstrutura atributo 
274      */
275     public void geraValidacaoIndMonitoramentoIett(ObjetoEstrutura atributo) {
276 
277     }
278     /**
279      * Gera validação IndMonitoramIett.<br>
280      * 
281      * @author N/C
282 	 * @since N/C
283 	 * @version N/C
284      * @param ObjetoEstrutura atributo 
285      */
286     public void geraValidacaoIndMonitoramIett(ObjetoEstrutura atributo) {
287 
288     }
289     /**
290      * Gera validação IndBloqPlanejamentoIett.<br>
291      * 
292      * @author N/C
293 	 * @since N/C
294 	 * @version N/C
295      * @param ObjetoEstrutura atributo 
296      */
297     public void geraValidacaoIndBloqPlanejamentoIett(ObjetoEstrutura atributo) {
298 
299     }
300     /**
301      * Gera validação IndPermBloqPlanejIett.<br>
302      * 
303      * @author N/C
304 	 * @since N/C
305 	 * @version N/C
306      * @param ObjetoEstrutura atributo 
307      */
308     public void geraValidacaoIndPermBloqPlanejIett(ObjetoEstrutura atributo) {
309 
310     }
311     /**
312      * Gera validação ValPrevistoFuturoIett.<br>
313      * 
314      * @author N/C
315 	 * @since N/C
316 	 * @version N/C
317      * @param ObjetoEstrutura atributo 
318      */
319     public void geraValidacaoValPrevistoFuturoIett(ObjetoEstrutura atributo) {
320         if(atributo.iGetObrigatorio().booleanValue() == true)
321             geraValidacaoCampoObrigatorio(atributo);
322         geraValidacaoNumeroDecimal(atributo);
323     }
324 
325     /**
326      * Gera validação data inicio MonitoramentoIett.<br>
327      * 
328      * @author N/C
329 	 * @since N/C
330 	 * @version N/C
331      * @param ObjetoEstrutura atributo 
332      */
333     public void geraValidacaoDataInicioMonitoramentoIett(ObjetoEstrutura atributo) {
334     }
335 
336     /**
337      * Gera validação dataInclusaoIett.<br>
338      * 
339      * @author N/C
340 	 * @since N/C
341 	 * @version N/C
342      * @param ObjetoEstrutura atributo 
343      */
344     public void geraValidacaoDataInclusaoIett(ObjetoEstrutura atributo) {
345     }
346     /**
347      * Gera validação UsuarioUsuByCodUsuIncIett.<br>
348      * 
349      * @author N/C
350 	 * @since N/C
351 	 * @version N/C
352      * @param ObjetoEstrutura atributo 
353      */
354     public void geraValidacaoUsuarioUsuByCodUsuIncIett(ObjetoEstrutura atributo) {
355     }
356     
357     /**
358      * Gera validação data ultima manutenção Iett.<br>
359      * 
360      * @author N/C
361 	 * @since N/C
362 	 * @version N/C
363      * @param ObjetoEstrutura atributo 
364      */
365     public void geraValidacaoDataUltManutencaoIett(ObjetoEstrutura atributo) {
366     }
367 
368     /**
369      * Gera validação UsuarioUsuByCodUsuUltManutIett.<br>
370      * 
371      * @author N/C
372 	 * @since N/C
373 	 * @version N/C
374      * @param ObjetoEstrutura atributo 
375      */
376     public void geraValidacaoUsuarioUsuByCodUsuUltManutIett(ObjetoEstrutura atributo) {
377     }
378 
379     /**
380      * Gera validação IndAtivoIett.<br>
381      * 
382      * @author N/C
383 	 * @since N/C
384 	 * @version N/C
385      * @param ObjetoEstrutura atributo 
386      */
387     public void geraValidacaoIndAtivoIett(ObjetoEstrutura atributo) {
388     }
389 
390     /**
391      * Gera validação DataR1.<br>
392      * 
393      * @author N/C
394 	 * @since N/C
395 	 * @version N/C
396      * @param ObjetoEstrutura atributo 
397      */
398     public void geraValidacaoDataR1(ObjetoEstrutura atributo) {
399         if(atributo.iGetObrigatorio().booleanValue() == true)
400             geraValidacaoCampoObrigatorio(atributo);
401         geraValidacaoData(atributo);
402     }
403     /**
404      * Gera validação DataR2.<br>
405      * 
406      * @author N/C
407 	 * @since N/C
408 	 * @version N/C
409      * @param ObjetoEstrutura atributo 
410      */
411     public void geraValidacaoDataR2(ObjetoEstrutura atributo) {
412         if(atributo.iGetObrigatorio().booleanValue() == true)
413             geraValidacaoCampoObrigatorio(atributo);
414         geraValidacaoData(atributo);
415     }
416     /**
417      * Gera validação DataR3.<br>
418      * 
419      * @author N/C
420 	 * @since N/C
421 	 * @version N/C
422      * @param ObjetoEstrutura atributo 
423      */
424     public void geraValidacaoDataR3(ObjetoEstrutura atributo) {
425         if(atributo.iGetObrigatorio().booleanValue() == true)
426             geraValidacaoCampoObrigatorio(atributo);
427         geraValidacaoData(atributo);
428     }
429     /**
430      * Gera validação DataR4.<br>
431      * 
432      * @author N/C
433 	 * @since N/C
434 	 * @version N/C
435      * @param ObjetoEstrutura atributo 
436      */
437     public void geraValidacaoDataR4(ObjetoEstrutura atributo) {
438         if(atributo.iGetObrigatorio().booleanValue() == true)
439             geraValidacaoCampoObrigatorio(atributo);
440         geraValidacaoData(atributo);
441     }
442     /**
443      * Gera validação DataR5.<br>
444      * 
445      * @author N/C
446 	 * @since N/C
447 	 * @version N/C
448      * @param ObjetoEstrutura atributo 
449      */
450     public void geraValidacaoDataR5(ObjetoEstrutura atributo) {
451         if(atributo.iGetObrigatorio().booleanValue() == true)
452             geraValidacaoCampoObrigatorio(atributo);
453         geraValidacaoData(atributo);
454     }
455 
456     /**
457      * Gera validação DescriçãoR1.<br>
458      * 
459      * @author N/C
460 	 * @since N/C
461 	 * @version N/C
462      * @param ObjetoEstrutura atributo 
463      */
464     public void geraValidacaoDescricaoR1(ObjetoEstrutura atributo) {
465         if(atributo.iGetObrigatorio().booleanValue() == true)
466             geraValidacaoCampoObrigatorio(atributo);        
467     }
468     /**
469      * Gera validação DescriçãoR2.<br>
470      * 
471      * @author N/C
472 	 * @since N/C
473 	 * @version N/C
474      * @param ObjetoEstrutura atributo 
475      */
476     public void geraValidacaoDescricaoR2(ObjetoEstrutura atributo) {
477         if(atributo.iGetObrigatorio().booleanValue() == true)
478             geraValidacaoCampoObrigatorio(atributo);        
479     }
480     /**
481      * Gera validação DescriçãoR3.<br>
482      * 
483      * @author N/C
484 	 * @since N/C
485 	 * @version N/C
486      * @param ObjetoEstrutura atributo 
487      */
488     public void geraValidacaoDescricaoR3(ObjetoEstrutura atributo) {
489         if(atributo.iGetObrigatorio().booleanValue() == true)
490             geraValidacaoCampoObrigatorio(atributo);        
491     }
492     /**
493      * Gera validação DescriçãoR4.<br>
494      * 
495      * @author N/C
496 	 * @since N/C
497 	 * @version N/C
498      * @param ObjetoEstrutura atributo 
499      */
500     public void geraValidacaoDescricaoR4(ObjetoEstrutura atributo) {
501         if(atributo.iGetObrigatorio().booleanValue() == true)
502             geraValidacaoCampoObrigatorio(atributo);        
503     }
504     /**
505      * Gera validação DescriçãoR5.<br>
506      * 
507      * @author N/C
508 	 * @since N/C
509 	 * @version N/C
510      * @param ObjetoEstrutura atributo 
511      */
512     public void geraValidacaoDescricaoR5(ObjetoEstrutura atributo) {
513         if(atributo.iGetObrigatorio().booleanValue() == true)
514             geraValidacaoCampoObrigatorio(atributo);        
515     }
516     /**
517      * Gera validação AreaAre.<br>
518      * 
519      * @author N/C
520 	 * @since N/C
521 	 * @version N/C
522      * @param ObjetoEstrutura atributo 
523      */
524     public void geraValidacaoAreaAre(ObjetoEstrutura atributo) {
525         if(atributo.iGetObrigatorio().booleanValue() == true)
526             geraValidacaoCampoObrigatorio(atributo);  
527     }
528     /**
529      * Gera validação SubAreaSare.<br>
530      * 
531      * @author N/C
532 	 * @since N/C
533 	 * @version N/C
534      * @param ObjetoEstrutura atributo 
535      */
536     public void geraValidacaoSubAreaSare(ObjetoEstrutura atributo) {
537         if(atributo.iGetObrigatorio().booleanValue() == true)
538             geraValidacaoCampoObrigatorio(atributo);  
539     }
540     /**
541      * Gera validação UnidadeOrçamentariaUO.<br>
542      * 
543      * @author N/C
544 	 * @since N/C
545 	 * @version N/C
546      * @param ObjetoEstrutura atributo 
547      */
548     public void geraValidacaoUnidadeOrcamentariaUO(ObjetoEstrutura atributo) {
549         if(atributo.iGetObrigatorio().booleanValue() == true)
550             geraValidacaoCampoObrigatorio(atributo);  
551     }
552     /**
553      * Gera validação orgão por codigo responsavel IETT.<br>
554      * 
555      * @author N/C
556 	 * @since N/C
557 	 * @version N/C
558      * @param ObjetoEstrutura atributo 
559      */
560     public void geraValidacaoOrgaoOrgByCodOrgaoResponsavel1Iett(ObjetoEstrutura atributo) {
561         if(atributo.iGetObrigatorio().booleanValue() == true)
562             geraValidacaoCampoObrigatorio(atributo);  
563     }
564     /**
565      * Gera validação orgão por codigo responsavel2 IETT.<br>
566      * 
567      * @author N/C
568 	 * @since N/C
569 	 * @version N/C
570      * @param ObjetoEstrutura atributo 
571      */
572     public void geraValidacaoOrgaoOrgByCodOrgaoResponsavel2Iett(ObjetoEstrutura atributo) {
573         if(atributo.iGetObrigatorio().booleanValue() == true)
574             geraValidacaoCampoObrigatorio(atributo);  
575     }
576 
577     /**
578      * Gera validação PeriodicidadePrdc.<br>
579      * 
580      * @author N/C
581 	 * @since N/C
582 	 * @version N/C
583      * @param ObjetoEstrutura atributo
584      */
585     public void geraValidacaoPeriodicidadePrdc(ObjetoEstrutura atributo) {
586         if(atributo.iGetObrigatorio().booleanValue() == true)
587             geraValidacaoCampoObrigatorio(atributo);  
588     }
589 
590     /**
591      * Gera validação SituaçãoSit.<br>
592      * 
593      * @author N/C
594 	 * @since N/C
595 	 * @version N/C
596      * @param ObjetoEstrutura atributo
597      */
598     public void geraValidacaoSituacaoSit(ObjetoEstrutura atributo) {
599         if(atributo.iGetObrigatorio().booleanValue() == true)
600             geraValidacaoCampoObrigatorio(atributo);  
601     }
602     
603 
604     /**
605      * Gera validação função Acompanhamento.<br>
606      * 
607      * @author N/C
608 	 * @since N/C
609 	 * @version N/C
610      * @param ObjetoEstrutura atributo
611      */
612     public void geraValidacaoFuncaoAcompanhamento(ObjetoEstrutura atributo) {
613         if(atributo.iGetObrigatorio().booleanValue() == true)
614             geraValidacaoCampoObrigatorio(atributo);
615     }
616     
617 
618     /**
619      * Gera pesquisa Função Acompanhamento.<br>
620      * 
621      * @author N/C
622 	 * @since N/C
623 	 * @version N/C
624      * @param ObjetoEstrutura atributo
625      */
626     public void geraPesquisaFuncaoAcompanhamento(ObjetoEstrutura atributo){
627         getRetornoPesquisa().append( "function retorno").append(atributo.iGetNome()).append("rev").append("(codigo, descricao) {\n");
628         getRetornoPesquisa().append( "document.form.nome").append(atributo.iGetNome()).append("rev").append(".value = descricao;\n");
629         getRetornoPesquisa().append( "document.form.").append(atributo.iGetNome()).append("rev").append(".value = codigo;\n");
630         getRetornoPesquisa().append("}\n");
631     }
632 
633 
634     /**
635      * Gera validação Campo Obrigatorio.<br>
636      * 
637      * @author N/C
638 	 * @since N/C
639 	 * @version N/C
640      * @param ObjetoEstrutura atributo
641      */
642     private void geraValidacaoCampoObrigatorio(ObjetoEstrutura atributo){        
643         getValidacaoCampos().append( " if (document.form.").append(atributo.iGetNome()).append("rev").append(".value == \"\"){\n" );
644         getValidacaoCampos().append( "  alert(\"Obrigatório o Preenchimento do Campo ").append(atributo.iGetLabel()).append("\");\n" );
645         getValidacaoCampos().append(" return false; \n");
646         getValidacaoCampos().append( " } \n");
647     }
648     
649 
650     /**
651      * Gera validação data.<br>
652      * 
653      * @author N/C
654 	 * @since N/C
655 	 * @version N/C
656      * @param ObjetoEstrutura atributo
657      */
658     private void geraValidacaoData(ObjetoEstrutura atributo){
659         getValidacaoCampos().append("if(form.").append(atributo.iGetNome()).append("rev").append(".value != \"\" && !validaData(form.").append(atributo.iGetNome()).append("rev").append(",false,true,true)){\n");
660         getValidacaoCampos().append( "  alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
661         getValidacaoCampos().append(" return false; \n");
662         getValidacaoCampos().append( " } \n");
663 
664     }
665     
666 
667     /**
668      * Gera validação moeda.<br>
669      * 
670      * @author N/C
671 	 * @since N/C
672 	 * @version N/C
673      * @param ObjetoEstrutura atributo
674      */
675     private void geraValidacaoMoeda(ObjetoEstrutura atributo){
676         getValidacaoCampos().append("if(document.form.").append(atributo.iGetNome()).append("rev").append(".value != \"\" && !isValidMoeda(form.").append(atributo.iGetNome()).append("rev").append(".value)){\n");
677         getValidacaoCampos().append( "  alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
678         getValidacaoCampos().append(" return false; \n");
679         getValidacaoCampos().append( " } \n");
680         
681     }
682     
683 
684     /**
685      * Gera validação Numero Decimal.<br>
686      * 
687      * @author N/C
688 	 * @since N/C
689 	 * @version N/C
690      * @param ObjetoEstrutura atributo
691      */
692     private void geraValidacaoNumeroDecimal(ObjetoEstrutura atributo){
693         getValidacaoCampos().append("if(document.form.").append(atributo.iGetNome()).append("rev").append(".value != \"\" && !validaDecimal(form.").append(atributo.iGetNome()).append("rev").append(".value)){\n");
694         getValidacaoCampos().append( "  alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
695         getValidacaoCampos().append( "  document.form.").append(atributo.iGetNome()).append("rev").append(".focus();\n" );
696         getValidacaoCampos().append(" return false; \n");
697         getValidacaoCampos().append( " } \n");
698         
699     }
700     
701     /**
702      * Retorna Collection atributos.<br>
703      * 
704      * @author N/C
705 	 * @since N/C
706 	 * @version N/C
707      * @return Collection - (Returns the atributos)
708      */
709     public Collection getAtributos() {
710         return atributos;
711     }
712     
713     /**
714      * Atribui valor especificado para Collection atributos.<br>
715      * 
716      * @author N/C
717 	 * @since N/C
718 	 * @version N/C
719      * @param Collection atributos - (The atributos to set)
720      */
721     public void setAtributos(Collection atributos) {
722         this.atributos = atributos;
723     }
724     
725     /**
726      * Retorna StringBuffer retornoPesquisa.<br>
727      * 
728      * @author N/C
729 	 * @since N/C
730 	 * @version N/C
731      * @return StringBuffer - (Returns the retornoPesquisa)
732      */
733     public StringBuffer getRetornoPesquisa() {
734         return retornoPesquisa;
735     }
736     
737     /**
738      * Atribui valor especificado para StringBuffer retornoPesquisa.<br>
739      * 
740      * @author N/C
741 	 * @since N/C
742 	 * @version N/C
743      * @param StringBuffer retornoPesquisa - (The retornoPesquisa to set)
744      */
745     public void setRetornoPesquisa(StringBuffer retornoPesquisa) {
746         this.retornoPesquisa = retornoPesquisa;
747     }
748     
749     /**
750      * Retorna StringBuffer validacaoCampos.<br>
751      * 
752      * @author N/C
753 	 * @since N/C
754 	 * @version N/C
755      * @return StringBuffer - (Returns the validacaoCampos)
756      */
757     public StringBuffer getValidacaoCampos() {
758         return validacaoCampos;
759     }
760     
761     /**
762      * Atribui valor especificado para StringBuffer validacaoCampos.<br>
763      * 
764      * @author N/C
765 	 * @since N/C
766 	 * @version N/C
767      * @param StringBuffer validacaoCampos - (The validacaoCampos to set)
768      */
769     public void setValidacaoCampos(StringBuffer validacaoCampos) {
770         this.validacaoCampos = validacaoCampos;
771     }
772     
773     /**
774      * Encerra Tag.<br>
775      * 
776      * @author N/C
777 	 * @since N/C
778 	 * @version N/C
779 	 * @return int
780 	 * @throws JspException
781      */
782     public int doEndTag() throws JspException {
783         return Tag.EVAL_PAGE;
784     }
785 
786     /**
787      * Atribui valor especificado para PageContext page.<br>
788      * 
789      * @author N/C
790 	 * @since N/C
791 	 * @version N/C
792 	 * @param PageContext arg0
793      */
794     public void setPageContext(PageContext arg0) {
795         this.page = arg0;
796     }
797 
798     /**
799      * 
800      * 
801      * @author N/C
802 	 * @since N/C
803 	 * @version N/C
804 	 * @param Tag arg0
805      */
806     public void setParent(Tag arg0) {
807     }
808 
809     /**
810      * Retorna Tag null.<br>
811      * 
812      * @author N/C
813 	 * @since N/C
814 	 * @version N/C
815 	 * @return Tag
816      */
817     public Tag getParent() {
818         return null;
819     }
820 
821     /**
822      * Retorna PageContext page.<br>
823      * 
824      * @author N/C
825 	 * @since N/C
826 	 * @version N/C
827      * @return PageContext - (Returns the page)
828      */
829     public PageContext getPage() {
830         return page;
831     }
832 
833     /**
834      * Atribui valor especificado para PageContext page.<br>
835      * 
836      * @author N/C
837 	 * @since N/C
838 	 * @version N/C
839      * @param PageContext page - (The page to set)
840      */
841     public void setPage(PageContext page) {
842         this.page = page;
843     }
844 
845     /**
846      * 
847      * 
848      * @author N/C
849 	 * @since N/C
850 	 * @version N/C
851      */
852     public void release() {
853 
854     }
855 }