org.jewel.core
Class ApplicationController

java.lang.Object
  extended by org.jewel.core.ApplicationController

public class ApplicationController
extends java.lang.Object

Singleton que proporciona el control de l'aplicació:

Version:
1.0
Author:
Juanma

Method Summary
 void configure(javax.servlet.ServletContext servletContext, java.lang.String configFilename)
          Configura l'aplicació a partir de l'arxiu web.xml i l'arxiu jewel-config.xml.
 void dispatch(ModelAndView mav, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp)
          Redirigeix a una vista determinada al ModelAndView
 void dispatchErrorPage(java.lang.Exception e, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp)
          Redirigeix la petició a una pàgina d'error definida per l'usuari o, en cas contrari, a una pàgina que crea Jewel on es mostra l'error.
 ModelAndView execute(RequestContext ctx)
          Executa una acció d'un controlador a partir d'un patró URL
static ApplicationController getInstance()
          Obté la instancia d'aquesta classe (Singleton) dins l'aplicació.
 java.lang.String getPattern(java.lang.String expression)
          Obté el patró URL d'una acció identificada per l'expressió 'controlador.mètode'
 java.lang.String getServletUrlPattern()
          Patró URL del JewelServlet
 java.lang.Class<?> getSessionControllerClass(java.lang.String controllerName)
          Comproba si un nom de controlador pertany a un controlador de l'usuari i el retorna.
 boolean validateAction(java.lang.String url)
          Valida que una acció està mapejada a l'aplicació.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

configure

public void configure(javax.servlet.ServletContext servletContext,
                      java.lang.String configFilename)
               throws javax.servlet.ServletException

Configura l'aplicació a partir de l'arxiu web.xml i l'arxiu jewel-config.xml.

S'encarrega de configurar el framework, les accions, les vistes i els filtres)

Parameters:
servletContext - Contexte del Servlet
configFilename - Nom de l'arxiu de configuració de Jewel
Throws:
javax.servlet.ServletException - Error de configuració del framework

dispatch

public void dispatch(ModelAndView mav,
                     javax.servlet.ServletRequest req,
                     javax.servlet.ServletResponse resp)
              throws ResultDispatchException

Redirigeix a una vista determinada al ModelAndView

Parameters:
mav - ModelAndView que conté el Model i les dades per presentar la vista adequada.
req - ServletRequest
resp - ServletResponse
Throws:
ResultDispatchException - Error al redirigir a la vista.

dispatchErrorPage

public void dispatchErrorPage(java.lang.Exception e,
                              javax.servlet.ServletRequest req,
                              javax.servlet.ServletResponse resp)
                       throws ResultDispatchException

Redirigeix la petició a una pàgina d'error definida per l'usuari o, en cas contrari, a una pàgina que crea Jewel on es mostra l'error.

Parameters:
e - Excepció produïda
req - ServletRequest
resp - ServletResponse
Throws:
ResultDispatchException - Error al redirigir a la vista.

execute

public ModelAndView execute(RequestContext ctx)
                     throws NoActionFoundException,
                            InvalidParameterActionException,
                            UndefinedActionException,
                            ActionDeniedException,
                            TokenException,
                            ParameterCastException

Executa una acció d'un controlador a partir d'un patró URL

Parameters:
ctx - Context de la petició
Returns:
ModelAndView Model i vista retornat per l'acció
Throws:
NoActionFoundException - No s'ha trobat cap acció que coincideixi amb la URL
InvalidParameterActionException - No coincideix el número o el tipus dels paràmetres
UndefinedActionException - S'ha produït un error al executar l'acció
ActionDeniedException - L'usuari no té permís per executar l'acció
TokenException - Excepció llançada per TokenFilter si no es valida la mostra o token
ParameterCastException - Error al convertir els paràmetres als tipus de l'acció

getInstance

public static ApplicationController getInstance()

Obté la instancia d'aquesta classe (Singleton) dins l'aplicació.

Returns:
la instancia de la classe a l'aplicació.

getPattern

public java.lang.String getPattern(java.lang.String expression)

Obté el patró URL d'una acció identificada per l'expressió 'controlador.mètode'

Parameters:
expression - Expressió 'controlador.mètode'
Returns:
Patró URL de l'acció

getServletUrlPattern

public java.lang.String getServletUrlPattern()

Patró URL del JewelServlet

Returns:
Patró URL del JewelServlet

getSessionControllerClass

public java.lang.Class<?> getSessionControllerClass(java.lang.String controllerName)
Comproba si un nom de controlador pertany a un controlador de l'usuari i el retorna.

Parameters:
controllerName - Nom del controlador
Returns:
true si existeix. false en cas contrari.

validateAction

public boolean validateAction(java.lang.String url)

Valida que una acció està mapejada a l'aplicació.

Parameters:
url - URL de l'acció
Returns:
acció mapejada