ModuleManager

  • Recurso da camada de CONTROLE
  • Classe que configura a inicialização do Controlador referente ao Módulo;
  • Seu conteúdo é varrido e carregado no Servlet Controller em tempo de deploy;
  • Mapeia as classes das Actions e gerencia o fluxo das actions dentro do sistema;
  • Registra filtros (Filters);
  • Gerencia o fluxo (Consequences) das ações (Actions);
  • Configura os formatadores.

Assinatura da classe:

package modules.admin;
 
import org.futurepages.core.control.AbstractModuleManager;
 
public class ModuleManager extends AbstractModuleManager {
 
  //Métodos de configuração de actions, filters, formatters, etc...
 
}

Inicialização (init)

  • Sobrescreva o método init(Context application) para executar algo em tempo de deploy.
  • Exemplo do método a seguir:
  @Override
    public void init(Context application) {
       //armazenando o horário que foi feito o deploy em uma variável de aplicação 
       application.setAttribute("dataHoraDeploy",new Date());
    }

Ações/Filtros (loadActions)

  • Sobrescreva o método para configurar as ações e filtros do módulo.
  • Exemplo do código a seguir:
   @Override
    public void loadActions() {
        //filtro global de autenticação
        filter(new AuthenticationFilter());
 
        //filtro global de permissão de filtros
        filter(new ModulePermissionFilter());
 
        //consequências globais
	on(ACCESS_DENIED, fwIn("accessDenied.page"));
	on(AJAX_DENIED,  fwIn("ajaxDenied.jsp"));
 
       //Action, seus filtros e consequências
        action("Action", Action.class)
          .filter(new VOFilter("bean",Bean.class))
          .on(SUCCESS, fwIn("Action.page"))
          .on(ERROR, fwIn("Action.page"))
        ;
    }

Formatadores (loadFormatters)

  • Formatadores são utilizados na visão para formatar a saída.
  • Um formatador de CPF de um usuário, por exemplo seria utilizado da seguinte maneira na visão:
    • <fpg:valueFormatter object=“${usuario.cpf}” formatter=“cpf”/>
  • A configuração destes formatadores é feita no método presente no ModuleManager. Veja a seguir:
  • Veja mais sobre formatadores em Formatters
  @Override
    public void loadFormatters() {
        FormatterManager.addFormatter("cpf"	, new CPFFormatter());
        FormatterManager.addFormatter("cnpj"	, new CNPJFormatter());
    }
 
/var/www/html/wiki/data/pages/futurepages2/modulemanager.txt · Última modificação: 2010/12/16 00:28 (edição externa)
 
Exceto onde for informado ao contrário, o conteúdo neste wiki está sob a seguinte licença:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki