1 /* 2 * Created on 05/01/2005 Esta interface normaliza os metodos de acesso aos 3 * objetos de uma estrutura. Os objetos de uma estrutura são estrutura_atributo 4 * e estrutura_funcao_acompanhamento. O objetivo é enxergar os dois tipos de 5 * objetos como um objetoEstrutura, para facilitar a construcao de listas, 6 * relatorios e o form de dados gerais do item 7 */ 8 package ecar.pojo; 9 10 import java.util.Set; 11 12 import ecar.exception.ECARException; 13 14 /** 15 * @author garten 16 */ 17 public interface ObjetoEstrutura { 18 19 /** 20 * Define um valor limite para a sequencia de um campo na tela de dados 21 * gerais. Quando o usuario esquece de informar a sequencia do campo no 22 * cadastro de estrutura_atributo, o campo toma este valor como default, ou 23 * seja, ficará por ultimo na tela. 24 */ 25 public static final int MAX_SEQUENCIA_TELA_CAMPO = 1000; 26 27 /** 28 * Define um valor limite para a sequencia de colunas em listagens de itens. 29 * Quando o usuario esquece de informar a sequencia da coluna no cadastro de 30 * estrutura_atributo, a coluna toma este valor como default, ou seja, ficará 31 * por ultimo na lista. 32 */ 33 public static final int MAX_SEQUENCIA_COLUNA_LISTAGEM = 1000; 34 35 /** 36 * Define a largura em porcentagem de uma coluna em telas de listagem. Quando 37 * usuario esquece de definir a largura de uma coluna em telas de listagem 38 * assume esse valor como default. 39 */ 40 public static final int DEFAULT_LARGURA_TELA_CAMPO = 100; 41 42 /** 43 * Define o tamanho default de um campo input, quando o usuário não define o 44 * tamanho. Este tamanho também é levado em conta na hora do sistema exibir 45 * uma text ou textArea. Quando o usuário define um tamanho maior que 80, será 46 * exibido um textArea. Caso o valor seja menor que 80, será exibido um text. 47 */ 48 public static final int DEFAULT_TAMANHO_CAMPO_TEXT = 80; 49 50 /** 51 * Devolve o nome do atributo da estrutura. Este é o nome que está mapeado 52 * como um campo na tabela TB_Item_Estrutura_Iett. O nome está na sintaxe de 53 * atributo de objeto, ex: nomeIett 54 * @return nome do campo na tabela ItemEstruturaIett 55 */ 56 public String iGetNome(); 57 58 /** 59 * Devolve o nome do codigo da fk descrito no atributo_atb. por exemplo codAre 60 * @return 61 */ 62 public String iGetCodFk(); 63 64 /** 65 * Devolve o nome do nome da fk descrito no atributo_atb. por exemplo nomeAre 66 * @return 67 */ 68 public String iGetNomeFk(); 69 70 /** 71 * Devolve o nome do atributo que será utilizado para ordenar uma lista de 72 * itemEstruturaIett. Será utilizado na clausula order by do HQL que lista os 73 * itens na relacao de acesso à estrutura. Precisa ser um campo que está 74 * mapeado na tabela ItemEstruturaIett. Se for um objeto complexo, resolve o 75 * campo desse objeto. ex: "codOrg.descricaoOrg" Ex. retorna 76 * "codOrg.descricaoOrg" ou "nomeIett", etc 77 * @return nome do campo que será utilizado para ordenar os itens. 78 */ 79 public String iGetNomeOrdenarLista(); 80 81 /** 82 * Devolve o label a ser utilizado em telas de cadastro e relatórios. 83 * Geralmente é o labelEstruturaEttat ou labelPadraoAtb ou labelTpfa 84 * @return nome do label que será mostrado ao usuário 85 */ 86 public String iGetLabel(); 87 88 /** 89 * Obtem o valor cadastrado na tabela de itemEstruturaIett de um determinado 90 * campo. Utiliza o item e o nome no atributo para determinar seu valor. Por 91 * exemplo, devolve o valor do campo nome_iett realizando um getNomeIett() ou 92 * getOrgaoOrg().getDescricaoOrg() conforme estiver cadastrado em 93 * tb_atributos_atb no campo nome_fk_atb 94 * @param item 95 * @return string contendo o valor do campo na tabela ItemEstruturaIett 96 * @throws ECARException 97 */ 98 public String iGetValor(ItemEstruturaIett item) throws ECARException; 99 100 /** 101 * Obtem o valor do codigo de um campo caso ele seja uma FK dentro da tabela 102 * de ItemEstruturaIett. Por exemplo, para AreaAre, vai voltar o valor do 103 * codigo da Area (codAre). Para um objeto que não seja FK, não se aplica, vai 104 * retornar o mesmo valor que iGetValor 105 * @param item 106 * @return string contendo o codigo do campo na tabela ItemEstruturaIett 107 * @throws ECARException 108 */ 109 public String iGetValorCodFk(ItemEstruturaIett item) throws ECARException; 110 111 /** 112 * Devolve a largura de uma coluna em porcentagem nas telas de listagens de 113 * item em colunas. Se nao estiver especificado um valor, deve retornar 114 * DEFAULT_LARGURA_TELA_CAMPO 115 * @return valor correspondendo a largura de uma coluna 116 */ 117 public Integer iGetLargura(); 118 119 /** 120 * Devolve o numero que corresponde à sequencia das colunas em telas de 121 * listagem. 122 * @return o numero de sequencia entre 0..1000 123 */ 124 public Integer iGetSequenciaColunaEmListagem(); 125 126 /** 127 * Devolve o numero que corresponde à sequencia dos campos em uma tela de 128 * cadastro. 129 * @return numero da sequencia entre 0..1000 130 */ 131 public Integer iGetSequenciaCampoEmTela(); 132 133 /** 134 * Retorna o tipo da classe que está encapsulada no ObjetoEstrutura. 135 * Geralmente deve retornar ecar.pojo.EstruturaAtributoEttAt ou 136 * ecar.pojo.EstrutTpFuncAcmpEtttfa 137 * @return o tipo da classe 138 */ 139 public Class<?> iGetTipo(); 140 141 /** 142 * Retorna verdadeiro ou falso dependendo da obrigatoriedade do objeto 143 * @return Boolean(true) ou Boolean(false) 144 */ 145 public Boolean iGetObrigatorio(); 146 147 /** 148 * Retorna verdadeiro ou falso dependendo da configuração do atributo poder 149 * ser alterado, mesmo o cadastro estando bloqueado. 150 * @return Boolean(true) ou Boolean(false) 151 */ 152 public Boolean iGetBloqueado(); 153 154 /** 155 * Obtem o valor cadastrado na tabela de itemEstruturaIett de um determinado 156 * campo. Utiliza o item e o nome no atributo para determinar seu valor. Por 157 * exemplo, devolve o valor do campo nome_iett realizando um getNomeIett() ou 158 * getOrgaoOrg().getDescricaoOrg() conforme estiver cadastrado em 159 * tb_atributos_atb no campo nome_fk_atb 160 * @param item 161 * @return string contendo o valor do campo na tabela ItemEstruturaIett 162 * @throws ECARException 163 */ 164 public String iGetValor(ItemEstruturarevisaoIettrev itemRev) throws ECARException; 165 166 /** 167 * Obtem o valor do codigo de um campo caso ele seja uma FK dentro da tabela 168 * de ItemEstruturaIett. Por exemplo, para AreaAre, vai voltar o valor do 169 * codigo da Area (codAre). Para um objeto que não seja FK, não se aplica, vai 170 * retornar o mesmo valor que iGetValor 171 * @param item 172 * @return string contendo o codigo do campo na tabela ItemEstruturaIett 173 * @throws ECARException 174 */ 175 public String iGetValorCodFk(ItemEstruturarevisaoIettrev itemRev) throws ECARException; 176 177 public Boolean iGetIndOpcional(); 178 179 /** 180 * Devolve a dica do campo a ser utilizado em telas de cadastro e relatórios. 181 * É o campo dicaEttat. 182 * @return dica do campo que será mostrado ao usuário 183 */ 184 public String iGetDica(); 185 186 /** 187 * Devolve o grupo de atributos livres de um atributo 188 * @return SisGrupoAtributoSga 189 */ 190 public SisGrupoAtributoSga iGetGrupoAtributosLivres(); 191 192 /** 193 * Devolve o tamanho do conteúdo de um atributo. 194 * @return Integer 195 */ 196 public Integer iGetTamanhoConteudoAtrib(); 197 198 public Set<TipoFuncAcompTpfa> iGetLibTipoFuncAcompTpfas(); 199 }