Telescope (core) > Geração de código
Geração de classes a partir de LIBs
ADS.RQ-036
Fluxo normal
Gerar classes a partir de elementos LIBs do repositório.
São classes "livres".
Atributos viram getters e setters
Métodos e funções.
Herança
A classe deve ter um domínio apontando para uma outra classe. Isso representa que ela estende esta outra classe.
Neste momento não será implementada a representação local dos elementos estendidos (atributos e métodos):
Tipo de componente para representar os links dos métodos/funções/atributos herdados (que são automaticamente criados)
Cada método ou atributo (ou link) publico que existir na classe herdada terá um cópia na classe filha como sendo um link para o componente que está sendo extendido.
O usuário não consegue alterar este componente, mas pode incluir um novo (no pre-insert, deve excluir o link)
Os componentes criados devem manter o mesmo tipo que os que ele extende.
Interface
Incluir uma identificação indicando o que a classe é no atributo VALOR do componente:
- A = Abstract
- I = Interface
- C = Concrete
Implements
Tipo de objeto específico para fazer referencia entre a classe e outras classes/interfaces.
Nas interfaces de consulta, pode apresentar mensagens de advertencia dizendo que não está implementando algum método.
Esta advertência leva em consideração a arquitetura. Só precisa implementar o que tem implementação na interface.
Não tem maiores impactos a não ser para a geração.
Construtores
Os contrutores são um tipo especial de método (Procedure, Function, Constructor)
Possibilitar transformar em construtor estático (informação no cabeçalho da classe)
Outros construtores apenas através de métodos estáticos que retornam um objeto da classe.
Métodos e propriedades (atributos) estáticos
Não existe atributos estáticos dentro de uma classe... ?
O contexto permite salvar objetos para a aplicação ou para a sessão.
Precisa de informação para indicar se o método é ou não estático.
Métodos e propriedades (atributos) finais
Não tem. Ou incluir por anotação
Constantes
Não tem...
Oi seria uma declaração?
Fluxos alternativos
Necessidade revisada com Daniel em 17/03/2009, pois são necessárias soluções de contorno para utilização de funções reutilizáveis em todos os sistemas.
P.ex.: Função de arredondamento.