net.jot.web.ctrl
Class JOTMasterController

java.lang.Object
  extended by net.jot.web.ctrl.JOTMasterController

public class JOTMasterController
extends java.lang.Object

This is the master controller, it handles a complete "user request" comiming from the browser. This might includes multiple controllers, validations, internal redirtect and view rendering.

Author:
thibautc

Constructor Summary
JOTMasterController()
           
 
Method Summary
 javax.servlet.FilterChain getFilterChain()
           
 javax.servlet.FilterConfig getFilterConfig()
           
 JOTFlowConfig getFlowConfig()
           
 JOTForm getForm(java.lang.Class formClass)
          use this method to get/create a form object Will provide either : - a new form object if this form is newly used - the existing form if used earlier in this request (ie: validation failed) This allows you to get the form and put it in the View, or to populate/validate it in your controller.
 JOTFlowRequest getRequest()
           
 javax.servlet.http.HttpServletResponse getResponse()
           
 void process()
          Main method executing the request
 void render404(javax.servlet.http.HttpServletResponse response, java.lang.String txt)
          Renders a "not found" page
 void renderError(javax.servlet.http.HttpServletResponse response, java.lang.Throwable t)
          Render an error page (Unexpected Exception)
 void renderForbidden(javax.servlet.http.HttpServletResponse response)
          Renders a forbidden page
 void renderPlain(javax.servlet.ServletResponse response, java.lang.String text)
          Renders a page in plain text (no template/decoration), this is a failover if "nice" forbidden/404...
 void renderPlainError(javax.servlet.ServletResponse response, java.lang.Throwable t)
          Renders an unexpected error, this is a failover if renderError did not succeed
 void sendResponse(javax.servlet.http.HttpServletResponse response, java.lang.String template)
          Sends the processed HTML page to the browser
 void setFilterChain(javax.servlet.FilterChain filterChain)
           
 void setFilterConfig(javax.servlet.FilterConfig filterConfig)
           
 void setFlowConfig(JOTFlowConfig flowConfig)
           
 void setRequest(javax.servlet.ServletRequest request)
           
 void setResponse(javax.servlet.ServletResponse response)
           
 java.util.Hashtable validateForm(JOTForm form)
          Calls the form validation
protected  boolean validatePermissions(JOTForm form)
          Calls a form permission validation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JOTMasterController

public JOTMasterController()
Method Detail

getFlowConfig

public final JOTFlowConfig getFlowConfig()

setFlowConfig

public final void setFlowConfig(JOTFlowConfig flowConfig)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getFilterConfig

public final javax.servlet.FilterConfig getFilterConfig()

getRequest

public final JOTFlowRequest getRequest()

getResponse

public final javax.servlet.http.HttpServletResponse getResponse()

setRequest

public final void setRequest(javax.servlet.ServletRequest request)
                      throws java.lang.Exception
Throws:
java.lang.Exception

setResponse

public final void setResponse(javax.servlet.ServletResponse response)
                       throws java.lang.Exception
Throws:
java.lang.Exception

setFilterConfig

public final void setFilterConfig(javax.servlet.FilterConfig filterConfig)
                           throws java.lang.Exception
Throws:
java.lang.Exception

setFilterChain

public final void setFilterChain(javax.servlet.FilterChain filterChain)

getFilterChain

public final javax.servlet.FilterChain getFilterChain()

process

public final void process()
                   throws java.lang.Exception
Main method executing the request

Throws:
java.lang.Exception

renderError

public void renderError(javax.servlet.http.HttpServletResponse response,
                        java.lang.Throwable t)
Render an error page (Unexpected Exception)

Parameters:
response -
t -

sendResponse

public void sendResponse(javax.servlet.http.HttpServletResponse response,
                         java.lang.String template)
                  throws java.lang.Exception
Sends the processed HTML page to the browser

Parameters:
template -
Throws:
java.lang.Exception

renderForbidden

public void renderForbidden(javax.servlet.http.HttpServletResponse response)
                     throws java.lang.Exception
Renders a forbidden page

Parameters:
response -
txt -
Throws:
java.lang.Exception

render404

public void render404(javax.servlet.http.HttpServletResponse response,
                      java.lang.String txt)
               throws java.lang.Exception
Renders a "not found" page

Parameters:
response -
txt -
Throws:
java.lang.Exception

renderPlain

public void renderPlain(javax.servlet.ServletResponse response,
                        java.lang.String text)
Renders a page in plain text (no template/decoration), this is a failover if "nice" forbidden/404... pages fail.

Parameters:
response -
text -

renderPlainError

public void renderPlainError(javax.servlet.ServletResponse response,
                             java.lang.Throwable t)
Renders an unexpected error, this is a failover if renderError did not succeed

Parameters:
response -
t -

validateForm

public java.util.Hashtable validateForm(JOTForm form)
                                 throws java.lang.Exception
Calls the form validation

Parameters:
form -
Returns:
Throws:
java.lang.Exception

validatePermissions

protected boolean validatePermissions(JOTForm form)
                               throws java.lang.Exception
Calls a form permission validation

Parameters:
form -
Returns:
Throws:
java.lang.Exception

getForm

public JOTForm getForm(java.lang.Class formClass)
use this method to get/create a form object Will provide either : - a new form object if this form is newly used - the existing form if used earlier in this request (ie: validation failed) This allows you to get the form and put it in the View, or to populate/validate it in your controller.

Parameters:
formClass -
Returns: