View Javadoc

1   /*
2    * Criado em 08/12/2004
3    *
4    */
5   package ecar.taglib.util;
6   
7   import java.io.IOException;
8   import java.util.Collection;
9   import java.util.Iterator;
10  
11  import javax.servlet.jsp.JspException;
12  import javax.servlet.jsp.JspWriter;
13  import javax.servlet.jsp.PageContext;
14  import javax.servlet.jsp.tagext.Tag;
15  import javax.swing.ImageIcon;
16  import java.awt.Image;
17  
18  import org.apache.log4j.Logger;
19  
20  import comum.util.Pagina;
21  import comum.util.Util;
22  
23  import ecar.dao.ConfiguracaoDao;
24  import ecar.pojo.AtributoLivre;
25  import ecar.pojo.ConfiguracaoCfg;
26  import ecar.pojo.SisAtributoSatb;
27  import ecar.pojo.SisGrupoAtributoSga;
28  
29  /**
30   * Taglib para gerar elementos de Formulário HTML.<br>
31   * 
32   * @author felipev
33   */
34  public class Input implements Tag {
35  	
36      /**
37       * Label do Campo
38       */
39      private String label;
40  
41      /**
42       * Inteiro que define o tipo de campo<br>
43       *     COMBOBOX = 1<br>
44       * 	   CHECKBOX = 2<br>
45       * 	   LISTBOX = 3<br>
46       * 	   RADIO_BUTTON = 4<br>
47       * 	   TEXT = 5<br>
48       *	   IMAGEM = 6<br>
49       *	   MULTITEXTO = 7<br>
50       *	   VALIDACAO = 8<br>
51       */
52      private int tipo;
53  
54      /**
55       * Define se o campo é obrigatório.<br>
56       * "S" Campo Obrigatório<br>
57       * "N" Campo Opcional<br>
58       */
59      private String obrigatorio;
60      
61      /**
62       * Label para ser utilizada nos campos Obrigatorios.<br>
63       */
64      private String labelObrigatorio;
65      
66      /**
67       * Define se o campo deve se apresentar desabilitado<br>
68       * "S" Campo Desabilitado<br>
69       * "N" Campo Editável<br>
70       */
71      private String disabled;
72  
73      /**
74       * Label do Campo<br>
75       */
76      private String nome;
77  
78      /**
79       * Tamanho do campo (para o caso de um campo de Texto)<br>
80       */
81      private String size;
82  
83      /**
84       * Classe CSS para utilizar no label
85       */
86      private String classLabel;
87      
88      /**
89       * Atributo que está sendo mostrado
90       */
91      
92      private SisAtributoSatb sisAtributo;
93      
94      
95      /**
96       * Grupo de Atributo que está sendo mostrado (OPCIONAL)
97       */
98      private SisGrupoAtributoSga sisGrupoAtributoSga;
99      
100     /**
101      * Diretorio raiz da página que solicitou o Input
102      */
103     
104     private String pathRaiz;
105     
106     private String classInput;
107 
108     private Collection selecionados;
109     
110     private AtributoLivre atribLivre;
111 
112     private PageContext page = null;
113     
114     private String dica;    
115     
116     private String contexto;
117 
118     public static final int COMBOBOX = 1;
119     public static final int CHECKBOX = 2;
120     public static final int LISTBOX = 3;
121     public static final int RADIO_BUTTON = 4;
122     public static final int TEXT = 5;
123     public static final int IMAGEM = 6;   
124     public static final int MULTITEXTO = 7;   
125     public static final int VALIDACAO = 8;
126     public static final int MULTIPLO = 9;
127     public static final int TEXTAREA = 10;
128 
129     public static final long MAXLENGTH = 200;
130     private JspWriter writerParametro = null; 
131     
132     /**
133      * Atributo que define se as opções do nível de planejamento é para ser checkbox (false = DEFAULT)
134      * Utilizado no cadastro de usuários
135      */
136     private Boolean nivelPlanejamentoCheckBox = new Boolean(false);
137 
138 	
139 	private Boolean telaFiltro = new Boolean(false);
140 	/**
141      * @author N/C
142 	 * @since N/C
143 	 * @version N/C
144      */
145     public Input() {
146     }
147     
148     /**
149      * Construtor.<br>
150      * 
151      * @author N/C
152 	 * @since N/C
153 	 * @version N/C
154      * @param JspWriter writer
155      */
156     public Input(JspWriter writer) {
157     	this.writerParametro = writer;
158     }
159     
160     /**
161      * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
162      * 
163      * @author N/C
164 	 * @since N/C
165 	 * @version N/C
166 	 * @return int
167 	 * @throws JspException
168      */
169     public int doStartTag() throws JspException {
170     	JspWriter writer = null;
171     	if(writerParametro != null) {
172     		writer = writerParametro;
173     	} else {
174         	writer = this.page.getOut();
175     	}
176         StringBuffer s = new StringBuffer();
177         try {
178             ConfiguracaoCfg configuracao = new ConfiguracaoDao(null).getConfiguracao();            
179         	atribLivre = buscaAtributo(sisAtributo);
180         	if(getDica() != null)
181         		s.append("<TR><TD valign=\"top\" title=\"" + getDica()+ "\"");
182         	else
183         		s.append("<TR><TD valign=\"top\"");
184             
185         	if (getClassLabel() != null)
186                 s.append(" class=\"").append(getClassLabel()).append("\"");
187             s.append(">");
188             
189             if ("S".equals(getObrigatorio())){
190                 s.append(getLabelObrigatorio());
191             }          
192             
193             if(getTipo() == MULTITEXTO)
194             {
195             	s.append(getLabel()).append("</TD>\n</TR>\n<TR");
196             	setClassLabel("labelNormal");
197             }
198             else{
199             	s.append(getLabel()).append("</TD><TD");  
200             	if (getClassInput() != null)
201             		s.append(" class=\"").append(getClassInput()).append("\"");
202             }
203             s.append(">");            
204 
205             if(getNivelPlanejamentoCheckBox().booleanValue()
206             		&& this.getSisGrupoAtributoSga() != null
207             		&& configuracao.getSisGrupoAtributoSgaByCodSgaGrAtrNvPlan() != null 
208             		&& this.getSisGrupoAtributoSga().equals(configuracao.getSisGrupoAtributoSgaByCodSgaGrAtrNvPlan())
209             		&& tipo != CHECKBOX) {
210             	tipo = CHECKBOX;
211             }
212             
213             switch (tipo) {
214             	case COMBOBOX:
215             		s.append(addInputComboBox());
216             		break;                
217             	case LISTBOX:
218             		s.append(addInputListBox());
219             		break;                
220             	case TEXT:
221             		s.append(addInputText());
222             		break;
223             	case VALIDACAO:
224             		s.append(addInputValidacao());
225             		break;
226             	case IMAGEM:          	
227             		s.append(addInputImagem());    	               	
228             		break;
229             	case MULTIPLO:          	
230             		s.append(addInputMultiAtributo());    	               	
231             		break;
232             	case TEXTAREA:          	
233             		s.append(addInputTextArea());    	               	
234             		break;
235             }
236             writer.print(s.toString());
237         } catch (Exception e) {
238         	Logger logger = Logger.getLogger(this.getClass());
239         	logger.error(e);
240         }
241         return Tag.EVAL_BODY_INCLUDE;
242     }
243   
244     /**
245      * Método para criar botões. Criado na refatoração da criação de campos do tipo imagem
246      * em que havia repetição de código.<br>
247      * 
248      * @author N/C
249 	 * @since N/C
250 	 * @version N/C
251      * @param String nome
252      * @param String valor
253      * @param String params
254      * @return StringBuffer
255      */
256     public StringBuffer criaBotao(String nome, String valor, String params)
257     {
258     	StringBuffer s = new StringBuffer();
259    		s.append("&nbsp;<input type=button class=\"botao\" name = \"").append(nome).append("\" value=\"").append(valor).append("\" ")
260    		 .append("onClick=\"javascript:abrirPopUpUpload(").append(params).append(")\"");
261        		if (getDisabled() != null && "S".equals(getDisabled()))
262     	   		s.append(" disabled ");                    			
263        		s.append(">\n");   
264        		return s;
265 
266     }
267     
268     /**
269      * Atribui valor especificado para PageContext page.<br>
270      * 
271      * @author N/C
272 	 * @since N/C
273 	 * @version N/C
274 	 * @param PageContext arg0
275      */
276     public void setPageContext(PageContext arg0) {
277         this.page = arg0;
278     }
279 
280     /**
281      * @author N/C
282 	 * @since N/C
283 	 * @version N/C
284 	 * @param Tag arg0
285      */
286     public void setParent(Tag arg0) {
287     }
288 
289     /**
290      * Retorna Tag null.<br>
291      * 
292      * @author N/C
293 	 * @since N/C
294 	 * @version N/C
295 	 * @return Tag
296      */
297     public Tag getParent() {
298         return null;
299     }
300 
301     /**
302      * Encerra Tag.<br>
303      * 
304      * @author N/C
305 	 * @since N/C
306 	 * @version N/C
307 	 * @return int
308 	 * @throws JspException
309      */
310     public int doEndTag() throws JspException {
311         JspWriter writer = null;
312         if(writerParametro != null) {
313     		writer = writerParametro;
314     	} else {
315         	writer = this.page.getOut();
316     	}
317         StringBuffer s = new StringBuffer();
318         try {
319             switch (tipo) {
320             case 1:
321                 s.append("</select>");
322                 break;
323             case LISTBOX:
324                 s.append("</select>");                
325 		        s.append("&nbsp;<input type=\"button\" name=\"buttonLimpar\" value=\"Limpar\" class=\"botao\" ")
326 		        .append("onclick=\"limparListBox(document.getElementById('" + nome + "'));\"");
327 		        s.append(">");
328                 break;            
329             case RADIO_BUTTON:            	
330             	break;
331             }
332             if( dica != null && !"".equals(dica) ){
333             	if (contexto != null && tipo!= CHECKBOX && tipo != RADIO_BUTTON && tipo != MULTITEXTO){
334             		s.append(Util.getTagDica(nome, contexto, dica));
335             	}
336             }
337             s.append("</TD>");
338             s.append("</TR>");
339             writer.print(s.toString());
340         } catch (IOException e) {
341         	Logger logger = Logger.getLogger(this.getClass());
342         	logger.error(e);
343         }
344         return Tag.EVAL_PAGE;
345     }
346     
347   
348     /**
349      * @author N/C
350 	 * @since N/C
351 	 * @version N/C
352      */
353     public void release() {
354     }
355 
356     /**
357      * Retorna PageContext page.<br>
358      * 
359      * @author N/C
360 	 * @since N/C
361 	 * @version N/C
362      * @return PageContext - (Returns the page)
363      */
364     public PageContext getPage() {
365         return page;
366     }
367 
368     /**
369      * Atribui valor especificado para PageContext page.<br>
370      * 
371      * @author N/C
372 	 * @since N/C
373 	 * @version N/C
374      * @param PageContext page - (The page to set)
375      */
376     public void setPage(PageContext page) {
377         this.page = page;
378     }
379 
380     /**
381      * Retorna String label.<br>
382      * 
383      * @author N/C
384 	 * @since N/C
385 	 * @version N/C
386      * @return String - (Returns the label)
387      */
388     public String getLabel() {
389         return label;
390     }
391 
392     /**
393      * Atribui valor especificado para String label.<br>
394      * 
395      * @author N/C
396 	 * @since N/C
397 	 * @version N/C
398      * @param String label - (The label to set)
399      */
400     public void setLabel(String label) {
401         this.label = label;
402     }
403 
404     /**
405      * Retorna String disabled.<br>
406      * 
407      * @author N/C
408 	 * @since N/C
409 	 * @version N/C
410      * @return String - (Returns the disabled)
411      */
412     public String getDisabled() {
413         return disabled;
414     }
415 
416     /**
417      * Atribui valor especificado para String disabled.<br>
418      * 
419      * @author N/C
420 	 * @since N/C
421 	 * @version N/C
422      * @param String disabled - (The disabled to set)
423      */
424     public void setDisabled(String disabled) {
425         this.disabled = disabled;
426     }
427 
428     /**
429      * Retorna String nome.<br>
430      * 
431      * @author N/C
432 	 * @since N/C
433 	 * @version N/C
434      * @return String - (Returns the nome)
435      */
436     public String getNome() {
437         return nome;
438     }
439 
440     /**
441      * Atribui valor especificado para String nome.<br>
442      * 
443      * @author N/C
444 	 * @since N/C
445 	 * @version N/C
446      * @param String nome - (The nome to set)
447      */
448     public void setNome(String nome) {
449         this.nome = nome;
450     }
451 
452     /**
453      * Retorna String obrigatorio.<br>
454      * 
455      * @author N/C
456 	 * @since N/C
457 	 * @version N/C
458      * @return String - (Returns the obrigatorio)
459      */
460     public String getObrigatorio() {
461         return obrigatorio;
462     }
463 
464     /**
465      * Atribui valor especificado para String obrigatorio.<br>
466      * 
467      * @author N/C
468 	 * @since N/C
469 	 * @version N/C
470      * @param String obrigatorio - (The obrigatorio to set)
471      */
472     public void setObrigatorio(String obrigatorio) {
473         this.obrigatorio = obrigatorio;
474     }
475 
476     /**
477      * Retorna Collection selecionados.<br>
478      * 
479      * @author N/C
480 	 * @since N/C
481 	 * @version N/C
482      * @return Collection - (Returns the selecionados)
483      */
484     public Collection getSelecionados() {
485         return selecionados;
486     }
487 
488     /**
489      * Atribui valor especificado para Collection selecionados.<br>
490      * 
491      * @author N/C
492 	 * @since N/C
493 	 * @version N/C
494      * @param Collection selecionados - (The selecionados to set)
495      */
496     public void setSelecionados(Collection selecionados) {
497         this.selecionados = selecionados;
498     }
499 
500     /**
501      * Retorna int tipo.<br>
502      * 
503      * @author N/C
504 	 * @since N/C
505 	 * @version N/C
506      * @return int - (Returns the tipo)
507      */
508     public int getTipo() {
509         return tipo;
510     }
511 
512     /**
513      * Atribui valor especificado para int tipo.<br>
514      * 
515      * @author N/C
516 	 * @since N/C
517 	 * @version N/C
518      * @param int tipo - (The tipo to set)
519      */
520     public void setTipo(int tipo) {
521         this.tipo = tipo;
522     }
523 
524     /**
525      * Retorna String classInput.<br>
526      * 
527      * @author N/C
528 	 * @since N/C
529 	 * @version N/C
530      * @return String - (Returns the classInput)
531      */
532     public String getClassInput() {
533         return classInput;
534     }
535 
536     /**
537      * Atribui valor especificado para String classInput.<br>
538      * 
539      * @author N/C
540 	 * @since N/C
541 	 * @version N/C
542      * @param String classInput - (The classInput to set)
543      */
544     public void setClassInput(String classInput) {
545         this.classInput = classInput;
546     }
547 
548     /**
549      * Retorna String classLabel.<br>
550      * 
551      * @author N/C
552 	 * @since N/C
553 	 * @version N/C
554      * @return String - (Returns the classLabel)
555      */
556     public String getClassLabel() {
557         return classLabel;
558     }
559 
560     /**
561      * Atribui valor especificado para String classLabel.<br>
562      * 
563      * @author N/C
564 	 * @since N/C
565 	 * @version N/C
566      * @param String classLabel - (The classLabel to set)
567      */
568     public void setClassLabel(String classLabel) {
569         this.classLabel = classLabel;
570     }
571 
572     /**
573      * Retorna String size.<br>
574      * 
575      * @author N/C
576 	 * @since N/C
577 	 * @version N/C
578      * @return String - (Returns the size)
579      */
580     public String getSize() {
581         return size;
582     }
583 
584     /**
585      * Atribui valor especificado para String size.<br>
586      * 
587      * @author N/C
588 	 * @since N/C
589 	 * @version N/C
590      * @param String size - (The size to set)
591      */
592     public void setSize(String size) {
593         this.size = size;
594     }
595     
596     /**
597      * Retorna String labelObrigatorio.<br>
598      * 
599      * @author N/C
600 	 * @since N/C
601 	 * @version N/C
602      * @return String - (Returns the labelObrigatorio)
603      */
604     public String getLabelObrigatorio() {
605         return labelObrigatorio;
606     }
607     
608     /**
609      * Atribui valor especificado para String labelObrigatorio.<br>
610      * 
611      * @author N/C
612 	 * @since N/C
613 	 * @version N/C
614      * @param String labelObrigatorio - (The labelObrigatorio to set)
615      */
616     public void setLabelObrigatorio(String labelObrigatorio) {
617         this.labelObrigatorio = labelObrigatorio;
618     }
619     
620     /**
621      * Retorna SisAtributoSatb sisAtributo.<br>
622      * 
623      * @author N/C
624 	 * @since N/C
625 	 * @version N/C
626      * @return SisAtributoSatb
627      */
628     public SisAtributoSatb getSisAtributo() {
629         return sisAtributo;
630     }
631 
632     /**
633      * Atribui valor especificado para SisAtributoSatb sisAtributo.<br>
634      * 
635      * @author N/C
636 	 * @since N/C
637 	 * @version N/C
638      * @param SisAtributoSatb sisAtributo
639      */
640     public void setSisAtributo(SisAtributoSatb sisAtributo) {
641         this.sisAtributo = sisAtributo;
642     }
643 
644     /**
645      * Retorna AtributoLivre atribLivre.<br>
646      * 
647      * @author N/C
648 	 * @since N/C
649 	 * @version N/C
650      * @return AtributoLivre
651      */
652     public AtributoLivre getAtribLivre() {
653         return atribLivre;
654     }
655 
656     /**
657      * Atribui valor especificado para AtributoLivre atribLivre.<br>
658      * 
659      * @author N/C
660 	 * @since N/C
661 	 * @version N/C
662      * @param AtributoLivre atribLivre
663      */
664     public void setAtribLivre(AtributoLivre atribLivre) {
665         this.atribLivre = atribLivre;
666     }
667 
668     /**
669      * Retorna String pathRaiz.<br>
670      * 
671      * @author N/C
672 	 * @since N/C
673 	 * @version N/C
674      * @return String
675      */
676     public String getPathRaiz() {
677         return pathRaiz;
678     }
679 
680     /**
681      * Atribui valor especificado para String pathRaiz.<br>
682      * 
683      * @author N/C
684 	 * @since N/C
685 	 * @version N/C
686      * @param String pathRaiz
687      */
688     public void setPathRaiz(String pathRaiz) {
689         this.pathRaiz = pathRaiz;
690     }   
691     
692     /**
693      * Retorna String dica.<br>
694      * 
695      * @author N/C
696 	 * @since N/C
697 	 * @version N/C
698      * @return String
699      */
700     public String getDica() {
701 		return dica;
702 	}
703 
704     /**
705      * Atribui valor especificado para String dica.<br>
706      * 
707      * @author N/C
708 	 * @since N/C
709 	 * @version N/C
710      * @param String dica
711      */
712 	public void setDica(String dica) {
713 		this.dica = dica;
714 	}
715 
716 	/**
717 	 * Atributo Selecionado.<br>
718 	 * 
719 	 * @author N/C
720 	 * @since N/C
721 	 * @version N/C
722 	 * @param SisAtributoSatb sisAtributo
723 	 * @return boolean
724 	 */
725 	public boolean atributoSelecionado(SisAtributoSatb sisAtributo)
726     {
727     	Iterator itSisAtb = getSelecionados().iterator();
728     	while(itSisAtb.hasNext())
729     	{
730     		if(sisAtributo.equals(((AtributoLivre)itSisAtb.next()).getSisAtributoSatb()))
731     			return true;
732     	}
733     	return false;
734     		
735     }
736 
737 	/**
738 	 * Busca atributo.<br>
739 	 * 
740 	 * @author N/C
741 	 * @since N/C
742 	 * @version N/C
743 	 * @param SisAtributoSatb sisAtb
744 	 * @return Atributo livre
745 	 */
746     public AtributoLivre buscaAtributo (SisAtributoSatb sisAtb)
747     {
748     	AtributoLivre atribLivre = new AtributoLivre();
749     	Iterator itAtb = getSelecionados().iterator();
750     	while (itAtb.hasNext())
751     	{
752     		atribLivre = (AtributoLivre)itAtb.next();
753     		if(sisAtb.equals(atribLivre.getSisAtributoSatb()))
754     			return atribLivre;
755     	}
756     	return null;
757     }
758 
759 
760     /**
761      * Adiciona Input Imagem.<br>
762      * 
763      * @author N/C
764 	 * @since N/C
765 	 * @version N/C
766      * @return StringBuffer
767      */
768     public StringBuffer addInputImagem()
769     {            	
770         StringBuffer s = new StringBuffer();
771         if (atribLivre != null && !atribLivre.equals(null))
772         {
773         	String arquivo = atribLivre.getInformacao();
774            	if (!("".equals(arquivo.trim())) && !(arquivo.equals(null)))
775            	{
776            		String nomeArquivo = "";
777            		String width = "";
778            		String heigth = "";
779            	    if(arquivo.lastIndexOf("\\") != -1) {
780            			nomeArquivo = arquivo.substring(arquivo.lastIndexOf("\\") + 1); 
781            		} else 
782            			if (arquivo.lastIndexOf("/") != -1)     
783            	        	nomeArquivo = arquivo.substring(arquivo.lastIndexOf("/") + 1);
784            	    
785            	    //Modificado por José André Fernandes
786            	    if (arquivo.lastIndexOf("=") != -1)     
787            	    	arquivo = arquivo.substring(arquivo.lastIndexOf("=") + 1);
788            	    
789            	    
790            	    //Modificado por Patricia Pessoa
791            	    //Colocar um delimitador na imagem para aparecer no internet explorer
792 	 			//Seta width e heigth da imagem
793 	           	ImageIcon imagem = new ImageIcon(arquivo);
794 	           	Image image = new ImageIcon(arquivo).getImage();
795 	           	 
796 	           	if (((imagem.getIconHeight() < 0) && (imagem.getIconWidth() < 0))) {  //Verificando a existência da imagem  
797 	           		arquivo = pathRaiz + "/images/ImagemIndisponivel.gif";
798 	           	} else
799 	           		 arquivo = pathRaiz +"/DownloadFile?tipo=open&RemoteFile=" + arquivo;
800 		         
801            	    
802            	    double intImgWidth;			
803 	 			double intImgHeight;
804 	 			double intPadrWidth = 330;
805 	 			double intPadrHeight = 250;
806 	 			double intPropImg = imagem.getIconWidth()/imagem.getIconHeight();
807 	 			double intPropPadr = intPadrWidth/intPadrHeight;
808 	 			
809 	 			if (image.getWidth(null) > intPadrWidth && intPropImg >= intPropPadr)
810 	 			{
811 	 				intImgWidth = intPadrWidth;
812 	 				intImgHeight = imagem.getIconHeight() * intPadrWidth/imagem.getIconWidth();
813 	 			}
814 	 			else if(image.getHeight(null) > intPadrHeight && intPropImg < intPropPadr){
815 	 				intImgWidth = imagem.getIconWidth() * intPadrHeight/imagem.getIconHeight();
816 	 				intImgHeight = intPadrHeight;
817 	 			}
818 	 			else
819 	 			{
820 	 				intImgWidth = imagem.getIconWidth();
821 	 				intImgHeight = imagem.getIconHeight();
822 	 			}
823 	 			
824 	 			width = String.valueOf(intImgWidth);
825 	 			heigth = String.valueOf(intImgHeight);
826 	 			 
827 	 			
828            	    
829         		s.append("<input type=\"text\" name=\"").append(getNome()).append("\" value=\"")
830         		 .append(arquivo).append("\" style=\"display:none\" >");
831            		s.append(criaBotao("b1"+getNome(), "Alterar " + getLabel(), "'" + getNome() + "', '"+ getLabel()+ "'"));
832            		s.append(criaBotao("b2"+getNome(), "Excluir " + getLabel(), "'" + getNome() + "', '"+ getLabel()+ "', '" + arquivo + "'"));          		
833            		s.append("<br><img name=\"imagem").append(getNome()).append("\" src=\"").append(arquivo).append("\" width=\"")
834            		 .append(width).append("\" heigth=\"").append(heigth).append("\" ");
835             	if (getDisabled() != null && "S".equals(getDisabled()))
836                     s.append(" disabled ");
837         		s.append("><br>\n");
838         		s.append("<div id=\"link").append(getNome()).append("\">");
839         		s.append("<a href=\"").append(arquivo).append("\">Fazer download do arquivo ").append(nomeArquivo).append("</a></div>");
840                	
841         		return s;
842         	}
843         }
844    		String arquivo = pathRaiz + "/images/ImagemIndisponivel.gif";
845         s.append("<input type=\"text\" name=\"").append(getNome()).append("\" value=\"\"style=\"display:none\">");
846         s.append(criaBotao("b1"+getNome(), "Inserir " + getLabel(), "'" + getNome() + "', '"+ getLabel()+ "'"));                	
847        	s.append("<br><img name=\"imagem").append(getNome()).append("\" src=\"").append(arquivo).append("\" width=\"\" heigth=\"\"");
848         if (getDisabled() != null && "S".equals(getDisabled()))
849    				s.append(" disabled ");
850        	s.append(">");
851 		s.append("<div id=\"link").append(getNome()).append("\"> </div>");
852 		return s;
853     }
854     
855 	public StringBuffer addInputValidacao() {
856     	if (atribLivre == null || atribLivre.equals(null)){ 
857         	atribLivre = new AtributoLivre();
858         	atribLivre.setSisAtributoSatb(sisAtributo);
859         }
860     	if (telaFiltro.booleanValue() && 
861     		atribLivre != null && 
862     		!atribLivre.equals(null) && 
863     		atribLivre.getSisAtributoSatb() != null && 
864     		atribLivre.getSisAtributoSatb().getAtribInfCompSatb() != null){
865     		
866     		if (atribLivre.getSisAtributoSatb().getAtribInfCompSatb().equals("dataScript") || 
867     			atribLivre.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroInteiroScript") ||
868     			atribLivre.getSisAtributoSatb().getAtribInfCompSatb().equals("numeroRealScript") ||
869     			atribLivre.getSisAtributoSatb().getAtribInfCompSatb().equals("valorMonetarioScript") ){
870     			
871     			return addInputValidacaoCampo("_Inicio").append(" a ").append(addInputValidacaoCampo("_Fim"));
872     			
873     		} else {
874     			return addInputValidacaoCampo("");
875     		}
876     	} else {
877     		return addInputValidacaoCampo("");
878     	}
879     }
880     
881     /**
882      * Adiciona Input validação.<br>
883      * 
884      * @author N/C
885 	 * @since N/C
886 	 * @version N/C
887      * @return StringBuffer
888      */
889     public StringBuffer addInputValidacaoCampo(String nomeCampo) {   
890     	StringBuffer s = new StringBuffer();  
891     	
892     	s.append("<input type=\"text\" name=\"").append(getNome() + nomeCampo).append("\"");
893         s.append(" id=\"").append(getNome() + nomeCampo).append("\" ");
894     	
895         if (getSize() != null) {
896             s.append(" size=\"").append(getSize()).append("\" ");
897             //s.append(" maxlength=\"").append(MAXLENGTH).append("\" ");
898         }
899         if (getDisabled() != null && "S".equals(getDisabled()))
900             s.append(" disabled ");
901                 
902         if (atribLivre == null || atribLivre.equals(null)){ 
903         	atribLivre = new AtributoLivre();
904         	atribLivre.setSisAtributoSatb(sisAtributo);
905         }
906         
907         String scriptValidacao="";
908         if (atribLivre != null && !atribLivre.equals(null)){
909         	s.append(" value=\"").append(Pagina.trocaNull(atribLivre.getInformacao())).append("\"");
910        		
911         	if (atribLivre.getSisAtributoSatb().getAtribInfCompSatb() != null){       			
912        			String opcaoScript = atribLivre.getSisAtributoSatb().getAtribInfCompSatb();
913        			if (opcaoScript.equals("dataScript")) {
914            			scriptValidacao = "validaData(" +
915 						"document.getElementById('" +
916 						//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
917 						getNome() + nomeCampo +
918 						"')," +						
919 						"true,true,false)";
920            			s.append(" maxlength=\"").append("10").append("\" ");
921            			s.append(" onkeyup=\"").append("mascaraData(event, this);").append("\"");   
922 				} else if (opcaoScript.equals("numeroInteiroScript")) {
923 	           		scriptValidacao = "isIntegerValid(" +
924 						"document.getElementById('" +
925 						//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
926 						getNome() + nomeCampo +
927 						"')," +
928 						"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
929 						")";
930 	           		s.append(" maxlength=\"").append(MAXLENGTH).append("\" ");
931 				} else if (opcaoScript.equals("numeroRealScript")) {
932 	           		scriptValidacao = "isNumericValid(" +
933 						"document.getElementById('" +
934 						//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
935 						getNome() + nomeCampo +
936 						"')," +
937 						"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
938 						")";
939 	           		s.append(" maxlength=\"").append(MAXLENGTH).append("\" ");
940 				} else if (opcaoScript.equals("valorMonetarioScript")) {
941 	           		scriptValidacao = "isMoedaValid(" +
942 	           			"document.getElementById('" +
943 	           			//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
944 	           			getNome() + nomeCampo +
945 	           			"')," +
946 	           			"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
947 	           			")";															
948 	           		s.append(" onKeyPress=\"").append("return mascaraMoeda(this,'.',',',event," +
949 	           				MAXLENGTH +");").append("\"");
950 	           		s.append(" maxlength=\"").append(MAXLENGTH).append("\" ");					
951 				} else if (opcaoScript.equals("cpfScript")) {
952 		           	scriptValidacao = "isCpf(" +
953 	           			"document.getElementById('" +
954 	           			//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
955 	           			getNome() + nomeCampo +
956 	           			"')," +
957 	           			"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
958 	           			")";															
959 	           		s.append(" onKeyPress=\"").append("MascaraCPF(" +
960 	           				"document.getElementById('" +
961 	           				//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
962 	           				getNome() + nomeCampo +
963 	           				"'),event);").append("\"");	           		
964 	           		s.append(" maxlength=\"14\"");	           			           							
965 				} else if (opcaoScript.equals("cnpjScript")) {
966 		           	scriptValidacao = "isCnpj(" +
967 	           			"document.getElementById('" +
968 	           			//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
969 	           			getNome() + nomeCampo +
970 	           			"')," +
971 	           			"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
972 	           			")";															
973 		           	s.append(" onKeyPress=\"").append("MascaraCNPJ(" +
974            				"document.getElementById('" +
975            				//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
976            				getNome() + nomeCampo +
977            				"'),event);").append("\"");	           		
978 		           	s.append(" maxlength=\"18\"");	           			           							
979 				} else if (opcaoScript.equals("emailScript")) {
980 		           	scriptValidacao = "isEmail(" +
981 	           			"document.getElementById('" +
982 	           			//"a" + atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getCodSga() + nomeCampo +
983 	           			getNome() + nomeCampo +
984 	           			"')," +
985 	           			"'"+atribLivre.getSisAtributoSatb().getSisGrupoAtributoSga().getDescricaoSga()+"'"+
986 	           			")";															
987 		           	s.append(" maxlength=\"").append(MAXLENGTH).append("\" ");	           			           							
988 				}       			      			
989        			
990        			s.append(" onBlur=\"").append(scriptValidacao).append("\"");      			    			
991        		}else {
992          		s.append("\" onBlur=\"").append(atribLivre.toString()).append("\"");                		
993         	}
994        	} 
995 //*********************
996         
997         s.append(" />");
998         return s;
999     }
1000     
1001     /**
1002      * Adiciona input ComboBox.<br>
1003      * 
1004      * @author N/C
1005 	 * @since N/C
1006 	 * @version N/C
1007      * @return StringBuffer
1008      */
1009     public StringBuffer addInputComboBox()
1010     {
1011         StringBuffer s = new StringBuffer();
1012         s.append("<select name=\"").append(getNome()).append("\"");
1013         if (getDisabled() != null && "S".equals(getDisabled()))
1014             s.append(" disabled ");
1015         s.append(">");
1016         return s;
1017     }
1018     
1019     /**
1020      * Adiciona uma input listBox.<br>
1021      * 
1022      * @author N/C
1023 	 * @since N/C
1024 	 * @version N/C
1025      * @return StringBuffer
1026      */
1027     public StringBuffer addInputListBox()
1028     {
1029         StringBuffer s = new StringBuffer();    	
1030         s.append("<select multiple size=5 id=\"").append(getNome()).append("\" name=\"").append(getNome()).append("\"");
1031         if (getDisabled() != null && "S".equals(getDisabled()))
1032             s.append(" disabled ");
1033         if (getSize() != null)
1034             s.append(" size=\"").append(getSize()).append("\" ");
1035         s.append(">");
1036         return s;
1037     }
1038     
1039     /**
1040      * Adiciona Input Text.<br>
1041      * 
1042      * @author N/C
1043 	 * @since N/C
1044 	 * @version N/C
1045      * @return StringBuffer
1046      */
1047     public StringBuffer addInputText() {
1048 
1049     	StringBuffer s = new StringBuffer();    	
1050         try {
1051 	        s.append("<input type=\"text\" name=\"").append(getNome()).append("\"");
1052 	
1053 	        
1054 	        if (getSize() == null) {
1055 	        	setSize("80");
1056 	        }
1057 	        s.append(" size=\"");
1058 	        s.append(getSize());
1059 	        s.append("\" ");
1060 	        s.append(" maxlength=\"");
1061 	        s.append(getSize());
1062 	        s.append("\" ");
1063 	        if (getDisabled() != null && "S".equals(getDisabled())) {
1064 	            s.append(" disabled ");
1065 	        }
1066 	        if (atribLivre != null) {
1067 	        	s.append("value=\"");
1068 	        	s.append(Pagina.trocaNull(atribLivre.getInformacao()));
1069 	        	s.append("\"");
1070 	        }
1071 	        s.append(" />");
1072         } catch (Exception e) {
1073 			e.printStackTrace();
1074 		}
1075         return s;
1076     }
1077     
1078     /**
1079      * Adiciona input MultiAtributo.<br>
1080      * 
1081      * @author N/C
1082 	 * @since N/C
1083 	 * @version N/C
1084      * @return StringBuffer
1085      */
1086     public StringBuffer addInputMultiAtributo()
1087     {
1088         StringBuffer sb = new StringBuffer();    
1089     	sb.append(addScriptFuncoesMulti());
1090         sb.append("<input type=\"hidden\" id=\"cont");
1091     	sb.append(getNome());
1092     	sb.append("\" name=\"cont");
1093     	sb.append(getNome());
1094     	sb.append("\"  value=\"0\">");
1095         sb.append("\n</td>");
1096         sb.append("\n</tr>");
1097 //      sb.append("\n<%;");
1098 //      sb.append("\n}");
1099 //      sb.append("\nif((!navega) || (");
1100 //    	sb.append(getNome());
1101 //    	sb.append(".size() > 0)) {");
1102 //      sb.append("\n%>");
1103         sb.append("\n<tr>");
1104         sb.append("\n<td class=\"label\" colspan=\"2\">&nbsp;</td>");		
1105         sb.append("\n</tr> ");
1106         sb.append("\n<tr>");
1107         sb.append("\n<td class=\"label\"><span class=\"fontLabelEntidade\">");
1108     	sb.append(getLabel());
1109     	sb.append("</span></td>");
1110         sb.append("\n<td>");
1111     	if (!"S".equals(getDisabled()))
1112     	{
1113     		sb.append("\n<a href=\"#\" onClick=\"adiciona");
1114     		sb.append(getNome());
1115     		sb.append("('','')\"> Adicionar Novo");
1116     		sb.append(getLabel());
1117     		sb.append("</a>");
1118     	}
1119         sb.append("\n</td>");
1120         sb.append("\n</tr>");
1121         sb.append("\n<tr>");
1122         sb.append("\n<td id=\"");
1123     	sb.append(getNome());
1124     	sb.append("\" colspan=\"2\">"); 
1125         
1126         /*
1127         s.append("<input type=\"text\" name=\"" + getNome() + "\"");
1128         if (getSize() != null) {
1129             s.append(" size=\"" + getSize() + "\" ");
1130             s.append(" maxlength=\"" + MAXLENGTH + "\" ");
1131         }
1132         if (getDisabled() != null && "S".equals(getDisabled()))
1133             s.append(" disabled ");
1134         if (atribLivre != null && !atribLivre.equals(null))
1135             s.append(" value=\""
1136                     + atribLivre.getInformacao() + "\" ");*/
1137         return sb;
1138     } 
1139 
1140     /**
1141      * Adiciona input TextArea.<br>
1142      * 
1143      * @author N/C
1144 	 * @since N/C
1145 	 * @version N/C
1146      * @return StringBuffer
1147      */
1148     public StringBuffer addInputTextArea() {		    	
1149     	StringBuffer s = new StringBuffer();    	
1150     	try {
1151     		s.append("<textarea name=\"").append(getNome()).append("\"");
1152     		s.append(" rows=\"4\" cols=\"60\" ");
1153     		if (getDisabled() != null && "S".equals(getDisabled())) {
1154     			s.append(" disabled ");        	
1155     		}
1156     		s.append(">");
1157     		if (atribLivre != null) {
1158     			s.append(Pagina.trocaNull(atribLivre.getInformacao()));
1159     		}
1160     		s.append("</textarea>");
1161     	} catch (Exception e) {
1162     		e.printStackTrace();
1163     	}
1164     	return s;
1165     }
1166     
1167     /**
1168      * Adiciona Script MultiFunções.<br>
1169      * 
1170      * @author N/C
1171 	 * @since N/C
1172 	 * @version N/C
1173      * @return StringBuffer
1174      */
1175     public StringBuffer addScriptFuncoesMulti()
1176     {
1177     	StringBuffer sb = new StringBuffer();
1178     	sb.append("<script>\n");
1179     	sb.append("var contador");
1180     	sb.append(getNome());
1181     	sb.append(" = 0;\n");
1182     	sb.append("var campo");
1183     	sb.append(getNome());
1184     	sb.append("  = new Array();\n");
1185     	sb.append("var id");
1186     	sb.append(getNome());
1187     	sb.append("  = new Array();\n");
1188     	sb.append("var add");
1189     	sb.append(getNome());
1190     	sb.append("  = new Array();\n");
1191     	sb.append("function setOutros");
1192     	sb.append(getNome());
1193     	sb.append("(n)\n");
1194     	sb.append("{\n");
1195     	sb.append("\tfor(i = 1; i <= n; i++)\n");
1196     	sb.append("\t\t{\n");
1197     	sb.append("\t\tif(document.getElementById(\"adiciona");
1198     	sb.append(getNome());
1199     	sb.append("\"+i).value == \"S\")\n");
1200     	sb.append("\t\t{\n");
1201     	sb.append("\t\t\tcampo");
1202     	sb.append(getNome());
1203     	sb.append("[i] = document.getElementById(\"campo");
1204     	sb.append(getNome());
1205     	sb.append(" \"+i).value;\n");
1206     	sb.append("\t\t\tid");
1207     	sb.append(getNome());
1208     	sb.append("[i] = document.getElementById(\"id");
1209     	sb.append(getNome());
1210     	sb.append("\"+i).value;\n");
1211     	sb.append("\t\t}\n");
1212     	sb.append("\tadd");
1213     	sb.append(getNome());
1214     	sb.append("[i] = document.getElementById(\"adiciona");
1215     	sb.append(getNome());
1216     	sb.append("\"+i).value;\n");
1217     	sb.append("\t}\n");
1218     	sb.append("\t}\n");
1219     	sb.append("\n\tfunction getOutros");
1220     	sb.append(getNome());
1221     	sb.append("(n)\n");
1222     	sb.append("\t{\n");
1223     	sb.append("\t\tfor(i = 1; i < n; i++)\n");
1224     	sb.append("\t\t{\n");
1225     	sb.append("\t\t\tif (add");
1226     	sb.append(getNome());
1227     	sb.append("[i] == \"S\")\n");
1228     	sb.append("\t\t\t{\n");
1229     	sb.append("\t\t\t\tdocument.getElementById(\"campo");
1230     	sb.append(getNome());
1231     	sb.append("\"+i).value = campo");
1232     	sb.append(getNome());
1233     	sb.append("[i];\n");
1234     	sb.append("\t\t\t\tdocument.getElementById(\"id");
1235     	sb.append(getNome());
1236     	sb.append("\"+i).value = id");
1237     	sb.append(getNome());
1238     	sb.append("[i];\n");
1239     	sb.append("\t\t\t}\n");
1240     	sb.append("\t\tdocument.getElementById(\"adiciona");
1241     	sb.append(getNome());
1242     	sb.append("\"+i).value = add");
1243     	sb.append(getNome());
1244     	sb.append("[i];\n");
1245     	sb.append("\t}\n");
1246     	sb.append("\t}\n");
1247 
1248     	sb.append("\n\tfunction adiciona");
1249     	sb.append(getNome());
1250     	sb.append("(campo, id) {\n");
1251     	sb.append("\t\tif ((id == null) || (id == \"\"))\n");
1252     	sb.append("\t\t\tid");
1253     	sb.append(getNome());
1254     	sb.append(" = prompt(\"Digite um identificador para o ");
1255     	sb.append(getLabel());
1256     	sb.append("\", \"\");\n");	
1257     	sb.append("\t\telse\n");
1258     	sb.append("\t\t\tid");
1259     	sb.append(getNome());
1260     	sb.append(" = id;\n");
1261     	sb.append("\t\tif ((id");
1262     	sb.append(getNome());
1263     	sb.append(" != null) && (id");
1264     	sb.append(getNome());
1265     	sb.append(" != \"\"))\n");
1266     	sb.append("\t\t{\n");	
1267     	sb.append("\t\t\tsetOutros");
1268     	sb.append(getNome());
1269     	sb.append("(contador");
1270     	sb.append(getNome());
1271     	sb.append(");\n");
1272     	sb.append("\t\t\tcontador");
1273     	sb.append(getNome());
1274     	sb.append(" += 1;\n");
1275     	sb.append("\t\t\tdivconteudo = \"<table id='");
1276     	sb.append(getNome());
1277     	sb.append("\"+contador");
1278     	sb.append(getNome());
1279     	sb.append("+\"'>\";\n");
1280     	sb.append("\t\t\tdivconteudo += \"<input type=\\\"hidden\\\" id=\\\"id");
1281     	sb.append(getNome());
1282     	sb.append("\"+contador");
1283     	sb.append(getNome());
1284     	sb.append("+\"\\\" name=\\\"id");
1285     	sb.append(getNome());
1286     	sb.append("\"+contador");
1287     	sb.append(getNome());
1288     	sb.append("+\"\\\" value=\"+ id");
1289     	sb.append(getNome());
1290     	sb.append(" +\" ");
1291     	if (getDisabled() != null && "S".equals(getDisabled()))
1292     	   		sb.append(" disabled ");
1293     	sb.append(" >\";\n");
1294     	sb.append("\t\t\tdivconteudo += \"<input type=\\\"hidden\\\" id=\\\"adiciona");
1295     	sb.append(getNome());
1296     	sb.append("\"+ contador");
1297     	sb.append(getNome());
1298     	sb.append(" +\"\\\" name=\\\"adiciona");
1299     	sb.append(getNome());
1300     	sb.append("\"+ contador");
1301     	sb.append(getNome());
1302     	sb.append(" +\"\\\" value=\\\"S\\\"");
1303     	if (getDisabled() != null && "S".equals(getDisabled()))
1304     	   		sb.append(" disabled ");
1305     	sb.append(" >\"	;\n");
1306     	sb.append("\t\t\tdivconteudo += \"\t<tr>\";\n");
1307     	sb.append("\t\t\tdivconteudo += \"\t\t<td class=\\\"labelNormal\\\">\"+id");
1308     	sb.append(getNome());
1309     	sb.append("+\"</td>\";\n");
1310     	sb.append("\t\t\tdivconteudo += \"\t\t<td><input type=\\\"text\\\" size=\\\"");
1311     	sb.append(getSize());
1312     	sb.append("\\\" maxlength=\\\"");
1313     	sb.append(getSize());
1314     	sb.append("\\\" id=\\\"campo");
1315     	sb.append(getNome());
1316     	sb.append("\" + contador");
1317     	sb.append(getNome());
1318     	sb.append(" + \"\\\" name=\\\"campo");
1319     	sb.append(getNome());
1320     	sb.append("\" + contador");
1321     	sb.append(getNome());
1322     	sb.append(" + \"\\\" value=\\\"\"+ campo +\"\\\" ");
1323     	if (getDisabled() != null && "S".equals(getDisabled()))
1324     	   		sb.append(" disabled ");
1325     	sb.append(" /> \";\n");
1326     	sb.append("\t\t\tdivconteudo += \"<a href=\\\"#\\\" onClick=\\\"remove");
1327     	sb.append(getNome());
1328     	sb.append("(\"+ contador");
1329     	sb.append(getNome());
1330     	sb.append(" +\")\\\">\";\n");
1331     	sb.append("\t\t\t\tif (\"");
1332     	if (getDisabled() != null && "S".equals(getDisabled()))
1333     	   		sb.append(" disabled ");
1334     	sb.append("\" == \"\")\n");
1335     	sb.append("\t\t\t\t\tdivconteudo +=\"Excluir\";\n");
1336     	sb.append("\t\t\t\t\tdivconteudo +=\"</a>\";\n");
1337     	sb.append("\t\t\t\t\tdivconteudo += \"\t</tr>\";\n");
1338     	sb.append("\t\t\t\t\tdivconteudo += \"<//table>\";\n");
1339     	sb.append("\t\t\t\t\tdocument.getElementById(\"");
1340     	sb.append(getNome());
1341     	sb.append("\").innerHTML += divconteudo;\n");
1342     	sb.append("\t\t\t\t\tdocument.form.cont");
1343     	sb.append(getNome());
1344     	sb.append(".value = contador");
1345     	sb.append(getNome());
1346     	sb.append(";\n");
1347     	sb.append("\t\t\t\t\tgetOutros");
1348     	sb.append(getNome());
1349     	sb.append("(contador");
1350     	sb.append(getNome());
1351     	sb.append(");\n");
1352     	sb.append("\t\t\t\t}\n");
1353     	sb.append("\t\t\t}\n");
1354 
1355     	sb.append("\tfunction remove");
1356     	sb.append(getNome());
1357     	sb.append("(n) {\n");
1358     	sb.append("\t\tif (confirm(\"O ");
1359     	sb.append(getLabel());
1360     	sb.append(" \"+n+\" será excluído. Confirma?\"))\n");
1361     	sb.append("\t\t\tdocument.getElementById(\"");
1362     	sb.append(getNome());
1363     	sb.append("\"+n).innerHTML = \"<input type=\\\"hidden\\\" id=\\\"adiciona");
1364     	sb.append(getNome());
1365     	sb.append("\" + n +\"\\\" name=\\\"adiciona");
1366     	sb.append(getNome());
1367     	sb.append("\" + n +\"\\\" value=\\\"N\\\">\";\n");
1368     	sb.append("\t\t}\n");
1369     	sb.append("</script>\n");
1370     	return (sb);
1371     }
1372     
1373     /**
1374      * Adiciona Scripts ExecMulti.<br>
1375      * 
1376      * @author N/C
1377 	 * @since N/C
1378 	 * @version N/C
1379      * @return StringBuffer
1380      */
1381     public StringBuffer addScriptsExecMulti()
1382     {
1383     	StringBuffer sb = new StringBuffer();
1384     	return(sb);
1385     }
1386 
1387     /**
1388      * Retorna SisGrupoAtributoSga sisGrupoAtributoSga.<br>
1389      * 
1390      * @author N/C
1391 	 * @since N/C
1392 	 * @version N/C
1393      * @return SisGrupoAtributoSga
1394      */
1395 	public SisGrupoAtributoSga getSisGrupoAtributoSga() {
1396 		return sisGrupoAtributoSga;
1397 	}
1398 
1399 	/**
1400 	 * Atribui valor especificado para SisGrupoAtributoSga sisGrupoAtributoSga.<br>
1401 	 * 
1402 	 * @author N/C
1403 	 * @since N/C
1404 	 * @version N/C
1405 	 * @param SisGrupoAtributoSga sisGrupoAtributoSga
1406 	 */
1407 	public void setSisGrupoAtributoSga(SisGrupoAtributoSga sisGrupoAtributoSga) {
1408 		this.sisGrupoAtributoSga = sisGrupoAtributoSga;
1409 	}
1410     
1411     public Boolean getNivelPlanejamentoCheckBox() {
1412 		return nivelPlanejamentoCheckBox;
1413 	}
1414 
1415 	public void setNivelPlanejamentoCheckBox(Boolean nivelPlanejamentoCheckBox) {
1416 		this.nivelPlanejamentoCheckBox = nivelPlanejamentoCheckBox;
1417 	}
1418 
1419 	public Boolean getTelaFiltro() {
1420 		return telaFiltro;
1421 	}
1422 
1423 	public void setTelaFiltro(Boolean telaFiltro) {
1424 		this.telaFiltro = telaFiltro;
1425 	}
1426 
1427 	public String getContexto() {
1428 		return contexto;
1429 	}
1430 
1431 	public void setContexto(String contexto) {
1432 		this.contexto = contexto;
1433 	}
1434     
1435 }