RFW
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.
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.