Telescope (core) > Geração de código
Gerar sistemas em packages separadas
ADS.RQ-037
Fluxo normal
Para evitar a necessidade de re-geração constante de todos os sistemas, é importante criar packages separadas para tal.
Assim, o desenvolvedor pode simplesmente anexar as bibliiotecas em uso com os recursos próprios do Netbeans.
Cada package deve ter um arquivo app-info.xml na sua raiz.
Deste forma, a linha
Enumeration<URL> en = ClassLoader.getSystemClassLoader().getResources("app-info.xml");
retornará todas as packages de sistemas existentes neste Loader.
Apenas 1 Servlet (Controller) poderá executar todas as interfaces a partir de uma varredura feita na carga do sistema.
Esta carga pode ser refeita a qualquer momento por um comando que a "reconfigure".
Após a carga inicial da app-info.xml, as respectivas configurações poderão ser alteradas por parâmetros no sistema
(tabela na base de dados que poderá refefinir URLs e definições de entidades)
A app-info também deve ter estruturas para definir as entidades, domínios e execução de eventos.
As classes geradas poderiam ser separadas das implementações da seguinte forma:
- Uma classe abstrata contendo as assinaturas necessárias
- Uma classe concreta estendendo a classe abstrata com um sinal especial em um comentário inicial da mesma
- Toda a implementação da classe fica em um único código fonte;
- Implementações inseridas diretamente na entidade e/ou bloco de interface (ao contrário de ser por método).
O roundtrip passaria e verificar a implementação da classe como um todo e não apenas nos métodos.