RFW

De Wiki do Leitão
Ir para: navegação, pesquisa

A classe estática RFW tem a finalidade de acumular configurações e métodos auxiliares para todos os módulos e implementação da aplicação. Como, por exemplo, métodos para retornar a data do sistema e formato, localidade, sistema de arredondamento de cálculos, flags de inicialização e desligamento do sistema, etc..


Ao concentrar métodos de configuração em uma única classe, ganhamos em manutenção quando desejamos fazer alterações desse tipo em todo o sistema.

Inicialização do Framework

Para simplificar a configuração inicial do RFW, a classe conta com uma coleção de métodos initialize*() que destacam as funções que podem/devem ser chamadas para inicializar o RFW. Desta forma, a medida que o framework ganhe novas funcionalidade, novos métodos com este prefixo serão criados.


Ao implementar o sistema, o desenvolvedor deve chamar esses métodos de inicialização logo que a aplicação "levanta". E devem ser chamados uma única vez. Se o sistema todo procurar as informações dessa classe, uma alteração em seus atributos terão o efeito total e em tempo de execução do sistema.


Métodos para o Desenvolvimento

Esta classe também conta com métodos para auxiliar no desenvolvimento. Entre eles estão:

  • isDevelopmentEnvironment() - que indica que o sistema está rodando em um ambiente de desenvolvimento ou produção. Utilizado para diferenciar blocos de execução do código, e talvez evitar que códigos de teste sejam acidentalmente esquecidos e executados na produção.
  • pDev(...) - permite a impressão no console com o System.out.println(), somente quando estiver no ambiente de desenvolvimento.


Modo Desenvolvimento

O método citado acima isDevelopmentEnvironment() retorna true caso o arquivo rfwdev.properties exista na pasta Home do usuário.

  • No windows o arquivo deve estar na pasta %userprofile%
  • No linux o arquivo deve estar na pasta ~


A simples existencia do arquivo na pasta faz com que o framework RFW identifique que é um ambiente de desenvolvimento, e passa a imprimir mais informações no console, bem como a executar trechos de código que dependam do método isDevelopmentEnvironment().


Propriedades do Arquivo

Embora só a existência do arquivo já configure o sistema para um ambiente de desenvolvimento, o arquivo ainda pode ser utilizado como um arquivo de properties para definir propriedades do sistema para o ambiente de desenvolvimento. Configurações que muitas vezes não temos no ambiente de produção. Como chaves de autenticações temporárias, pastas, flags, etc.


Para ler uma propriedade deste arquivo você pode utilizar o método RFW.getDevProperty(String property).

Shutting Down the Framework

Quando a aplicação for encerrada o método .shutdownRFW() deve ser chamado. Assim o RFW sinalizará para todos os módulos que suas threads e funcionamento precisam ter finalizados sem perda ou corrupção de dados.

A aplicação sendo desenvolvida pode monitorar essa flag para saber se o sistema está sendo finalizado (undeploy, por exemplo) e parar de aceitar novas solicitações/requisições e encerrar suas thread.