View Javadoc

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 }