1 package ecar.pojo; 2 3 import ecar.exception.ECARException; 4 5 public interface ObjetoDemanda { 6 7 /** 8 * Define um valor limite para a sequencia de um campo na tela. Quando o 9 * usuario esquece de informar a sequencia do campo no cadastro de 10 * atributo_demanda, o campo toma este valor como default, ou seja, ficará por 11 * ultimo na tela. 12 */ 13 public static final int MAX_SEQUENCIA_TELA_CAMPO = 1000; 14 15 /** 16 * Define um valor limite para a sequencia de colunas em listagens de 17 * atributos demanda. Quando o usuario esquece de informar a sequencia da 18 * coluna no cadastro de atributo_demanda, a coluna toma este valor como 19 * default, ou seja, ficará por ultimo na lista. 20 */ 21 public static final int MAX_SEQUENCIA_COLUNA_LISTAGEM = 1000; 22 23 /** 24 * Define a largura em porcentagem de uma coluna em telas de listagem. Quando 25 * usuario esquece de definir a largura de uma coluna em telas de listagem 26 * assume esse valor como default. 27 */ 28 public static final int DEFAULT_LARGURA_TELA_CAMPO = 100; 29 30 /** 31 * Define o tamanho default de um campo input, quando o usuário não define o 32 * tamanho. Este tamanho também é levado em conta na hora do sistema exibir 33 * uma text ou textArea. Quando o usuário define um tamanho maior que 80, será 34 * exibido um textArea. Caso o valor seja menor que 80, será exibido um text. 35 */ 36 public static final int DEFAULT_TAMANHO_CAMPO_TEXT = 80; 37 38 /** 39 * Devolve o nome do atributo da demanda. Este é o nome que está mapeado como 40 * um campo na tabela tb_reg_demanda_regd. O nome está na sintaxe de atributo 41 * de objeto, ex: descricaoRegd 42 * @return nome do campo na tabela RegDemandaRegd 43 */ 44 public String iGetNome(); 45 46 /** 47 * Devolve o nome do codigo da fk descrito no atributo_demanda. por exemplo 48 * codOrg 49 * @return 50 */ 51 public String iGetCodFk(); 52 53 /** 54 * Devolve o nome do nome da fk descrito no atributo_demanda. por exemplo 55 * descricaoOrg 56 * @return 57 */ 58 public String iGetNomeFk(); 59 60 /** 61 * Devolve o label a ser utilizado em telas de cadastro e relatórios. * 62 * @return nome do label que será mostrado ao usuário 63 */ 64 public String iGetLabel(); 65 66 /** 67 * Obtem o valor cadastrado na tabela de regDemandaRegd de um determinado 68 * campo. Utiliza o regDemanda e o nome no atributo demanda para determinar 69 * seu valor. Por exemplo, devolve o valor do campo nome_iett realizando um 70 * getDescricaoRegd() ou getOrgaoOrg().getDescricaoOrg() conforme estiver 71 * cadastrado em tb_atributo_demanda_atbdem no campo nome_fk_atbdem 72 * @param item 73 * @return string contendo o valor do campo na tabela ItemEstruturaIett 74 * @throws ECARException 75 */ 76 public String iGetValor(RegDemandaRegd regDemanda) throws ECARException; 77 78 /** 79 * Obtem o valor do codigo de um campo caso ele seja uma FK dentro da tabela 80 * de RegDemandaRegd. Por exemplo, para OrgaoOrg, vai voltar o valor do codigo 81 * do Orgão (codOrg). Para um objeto que não seja FK, não se aplica, vai 82 * retornar o mesmo valor que iGetValor 83 * @param item 84 * @return string contendo o codigo do campo na tabela RegDemandaRegd 85 * @throws ECARException 86 */ 87 public String iGetValorCodFk(RegDemandaRegd regDemanda) throws ECARException; 88 89 /** 90 * Obtem o conjunto de valores do codigo de um campo caso ele seja uma FK 91 * dentro de uma tabela de relacionamentos que se relaciona com 92 * RegDemandaRegd. Por exemplo, para OrgaoOrg, vai voltar o valor do codigo do 93 * Orgão (codOrg). Para um objeto que não seja FK, não se aplica, vai retornar 94 * o mesmo valor que iGetValor 95 * @param item 96 * @return string contendo o codigo do campo na tabela RegDemandaRegd 97 * @throws ECARException 98 */ 99 public String iGetValoresCodFk(RegDemandaRegd regDemanda) throws ECARException; 100 101 /** 102 * Devolve a largura de uma coluna em porcentagem nas telas de listagens de 103 * item em colunas. Se nao estiver especificado um valor, deve retornar 104 * DEFAULT_LARGURA_TELA_CAMPO 105 * @return valor correspondendo a largura de uma coluna 106 */ 107 public Integer iGetLargura(); 108 109 /** 110 * Devolve o numero que corresponde à sequencia das colunas em telas de 111 * listagem. 112 * @return o numero de sequencia entre 0..1000 113 */ 114 public Integer iGetSequenciaColunaEmListagem(); 115 116 /** 117 * Devolve o numero que corresponde à sequencia dos campos em uma tela de 118 * cadastro. 119 * @return numero da sequencia entre 0..1000 120 */ 121 public Integer iGetSequenciaCampoEmTela(); 122 123 /** 124 * Retorna o tipo da classe que está encapsulada no ObjetoDemanda. Geralmente 125 * deve retornar ecar.pojo.RegDemandaRegd 126 * @return o tipo da classe 127 */ 128 public Class iGetTipo(); 129 130 /** 131 * Retorna verdadeiro ou falso dependendo da obrigatoriedade do objeto 132 * @return Boolean(true) ou Boolean(false) 133 */ 134 public Boolean iGetObrigatorio(); 135 136 /** 137 * Devolve a dica do campo a ser utilizado em telas de cadastro e relatórios. 138 * É o campo dicaAtbdem. 139 * @return dica do campo que será mostrado ao usuário 140 */ 141 public String iGetDica(); 142 143 /** 144 * Devolve o grupo de atributos livres de um atributo demanda 145 * @return SisGrupoAtributoSga 146 */ 147 public SisGrupoAtributoSga iGetGrupoAtributosLivres(); 148 149 /** 150 * Devolve o tamanho do conteúdo de um atributo demanda. 151 * @return Integer 152 */ 153 public Integer iGetTamanhoConteudoAtbdem(); 154 155 /** 156 * Devolve a indicação se o atributo demanda é filtro. 157 * @return String 158 */ 159 public String iGetIndFiltroAtbdem(); 160 161 /** 162 * Devolve a hierarquia dos locais de uma demanda (cidade - sigla - estado) 163 * @param regDemanda 164 * @return 165 * @throws ECARException 166 */ 167 public String iGetHierarquiaLocaisDemanda(RegDemandaRegd regDemanda) throws ECARException; 168 }