wheel
Class EngineImpl

java.lang.Object
  extended by wheel.AbstractEngine
      extended by wheel.EngineImpl
All Implemented Interfaces:
IEngine
Direct Known Subclasses:
MultipartEngineImpl

public class EngineImpl
extends AbstractEngine

"main loop" for Wheel. Handles all the request processing. TODO move common functionality to AbstractEngine

Author:
Henri Frilund

Constructor Summary
EngineImpl(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext context)
           
 
Method Summary
 java.util.Set _getAvailableCssFiles()
          Intended for internal use.
 java.util.Set _getAvailableJsFiles()
          Intended for internal use.
 IMessagesSource _getMessagesSource()
          Intended for internal use.
 org.xmlpull.v1.XmlSerializer _getXmlSerializer()
          Intended for internal use.
 void _setMessagesSource(IMessagesSource messagesSource)
          Intended for internal use.
 void addErrorMapping(java.lang.String exceptionClassName, java.lang.String errorPageName)
          Adds a mapping that will map exception classnames to page names.
 java.lang.String getBasePackage()
          The base package name for page loading.
 javax.servlet.ServletContext getContext()
          The ServletContext instance.
 java.lang.String getCssPath()
          Server root-based path to css-files.
 java.lang.String getEncoding()
          The encoding used during this request cycle for all output as well as URL encoding.
 java.lang.Throwable getError()
          Active error for this request process cycle.
 StandaloneComponent getErrorPage()
          The error page to render if an exception is caugth.
 java.lang.String getJsPath()
          Server root-based path to js-files.
 java.util.Locale getLocale()
           
 IObjectStore getObjectStore()
          Gives access to the internal object store that is used with automatic persistence.
 StandaloneComponent getpage()
           
 javax.servlet.http.HttpServletRequest getRequest()
          The active HttpSerlvetRequest for this request.
 IResourceManager getResourceManager()
           
 javax.servlet.http.HttpServletResponse getResponse()
          The active HttpServletResponse for this request.
 javax.servlet.http.HttpSession getSession()
           
 boolean isAjaxRequest()
           
 StandaloneComponent loadPage(java.lang.String pagePath)
          This method can be used to load Page-classes when the page path is known.
 void processRequestInternal()
           
protected  java.util.Map readRequestParameters(javax.servlet.http.HttpServletRequest request)
           
 void setEncoding(java.lang.String encoding)
          Sets the encoding to use during this request cycle.
 void setError(java.lang.Throwable error)
          Sets the error that will be accessible to an error page.
 void setErrorPage(StandaloneComponent errorPage)
          Sets the page to render if an exception is caught.
 void setLocale(java.util.Locale locale)
          Sets the Locale for this request cycle.
 
Methods inherited from class wheel.AbstractEngine
getCurrentServer, processRequest, setCurrentServer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EngineImpl

public EngineImpl(javax.servlet.http.HttpServletRequest request,
                  javax.servlet.http.HttpServletResponse response,
                  javax.servlet.ServletContext context)
Method Detail

processRequestInternal

public void processRequestInternal()
Specified by:
processRequestInternal in class AbstractEngine

_getAvailableCssFiles

public java.util.Set _getAvailableCssFiles()
Description copied from interface: IEngine
Intended for internal use.

Returns:

_getAvailableJsFiles

public java.util.Set _getAvailableJsFiles()
Description copied from interface: IEngine
Intended for internal use.

Returns:

getBasePackage

public java.lang.String getBasePackage()
Description copied from interface: IEngine
The base package name for page loading. Example: com.foo.bar.pages (pagename FrontPage from URL will be translated to com.foo.bar.pages.FrontPage).

Returns:

getResponse

public javax.servlet.http.HttpServletResponse getResponse()
Description copied from interface: IEngine
The active HttpServletResponse for this request.

Returns:

getRequest

public javax.servlet.http.HttpServletRequest getRequest()
Description copied from interface: IEngine
The active HttpSerlvetRequest for this request.

Returns:

getCssPath

public java.lang.String getCssPath()
Description copied from interface: IEngine
Server root-based path to css-files. Example: /contextname/css/

Returns:

getJsPath

public java.lang.String getJsPath()
Description copied from interface: IEngine
Server root-based path to js-files. Example: /contextname/js/

Returns:

getContext

public javax.servlet.ServletContext getContext()
Description copied from interface: IEngine
The ServletContext instance.

Returns:

_getXmlSerializer

public org.xmlpull.v1.XmlSerializer _getXmlSerializer()
                                               throws org.xmlpull.v1.XmlPullParserException,
                                                      java.io.IOException
Description copied from interface: IEngine
Intended for internal use.

Returns:
An Xpp3 serializer for rendering output.
Throws:
org.xmlpull.v1.XmlPullParserException
java.io.IOException

getEncoding

public java.lang.String getEncoding()
Description copied from interface: IEngine
The encoding used during this request cycle for all output as well as URL encoding. Value encoding is UTF-8.

Returns:

setEncoding

public void setEncoding(java.lang.String encoding)
Description copied from interface: IEngine
Sets the encoding to use during this request cycle.


getSession

public javax.servlet.http.HttpSession getSession()

getObjectStore

public IObjectStore getObjectStore()
Description copied from interface: IEngine
Gives access to the internal object store that is used with automatic persistence.

Returns:
An IObjectStore implementation.

loadPage

public StandaloneComponent loadPage(java.lang.String pagePath)
Description copied from interface: IEngine
This method can be used to load Page-classes when the page path is known. Useful for example when you need to return a Page from an action method, ie. forward internally to another page. Will delegate the loading to IPageLoader.

Parameters:
pagePath - The path to wanted page in the URL-format, ie. stripped of basePackageForPages. Example: "FrontPage" or "admin/TestPage".
Returns:
An instance of the desired Page-class with this IEngine-instance attached.

setError

public void setError(java.lang.Throwable error)
Description copied from interface: IEngine
Sets the error that will be accessible to an error page.


getError

public java.lang.Throwable getError()
Description copied from interface: IEngine
Active error for this request process cycle.

Returns:

addErrorMapping

public void addErrorMapping(java.lang.String exceptionClassName,
                            java.lang.String errorPageName)
Description copied from interface: IEngine
Adds a mapping that will map exception classnames to page names. Example: addErrorMapping("java.io.IOException", "MyErrorPage"); would cause MyErrorPage to be rendered whenever an IOException is thrown.

Parameters:
exceptionClassName - The full classname of the mapped exception.
errorPageName - Name of the page to render.

getErrorPage

public StandaloneComponent getErrorPage()
Description copied from interface: IEngine
The error page to render if an exception is caugth.

Returns:

setErrorPage

public void setErrorPage(StandaloneComponent errorPage)
Description copied from interface: IEngine
Sets the page to render if an exception is caught.


getLocale

public java.util.Locale getLocale()
Returns:
Locale for this request cycle. By default will delegate to HttpServletRequest.getLocale();

setLocale

public void setLocale(java.util.Locale locale)
Description copied from interface: IEngine
Sets the Locale for this request cycle. Note that this setting is not persistent and will have to be set for every request separately.


_getMessagesSource

public IMessagesSource _getMessagesSource()
Description copied from interface: IEngine
Intended for internal use.

Returns:
Returns an implementation of IMessageSource.

_setMessagesSource

public void _setMessagesSource(IMessagesSource messagesSource)
Description copied from interface: IEngine
Intended for internal use. Sets the used IMessageSource implementation.


readRequestParameters

protected java.util.Map readRequestParameters(javax.servlet.http.HttpServletRequest request)
Specified by:
readRequestParameters in class AbstractEngine

isAjaxRequest

public boolean isAjaxRequest()

getResourceManager

public IResourceManager getResourceManager()

getpage

public StandaloneComponent getpage()


Copyright © 2007-2008. All Rights Reserved.