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:

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.