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 }