org.apache.tapestry.portlet
Class RenderService
java.lang.Object
org.apache.tapestry.portlet.RenderService
- All Implemented Interfaces:
- org.apache.tapestry.engine.IEngineService
- public class RenderService
- extends java.lang.Object
- implements org.apache.tapestry.engine.IEngineService
Responsible for rendering out a page; a Portlet render URL is built during action processing that
stores the active page; this is the page that will be rendered. The render service is (typically)
the only service that operates during a portlet RenderRequest. All other services will be an
ActionRequest that (via PortletResponseRenderer
, writes
query parameters to activate this service during the render request.
Problematic is is anything related to the portlet mode or window state. As per the Portlet spec,
when the user clicks the "help" or "edit" buttons (or the minimize, maximize, etc.), this causes
a new RenderRequest, but explicitly keeps the render parameters set by the most recent
ActionRequest. But what Tapestry needs is to detect that the mode or state has changed and select
a different page to render the response. So we store the mode and state in effect when the
ActionRequest executed as two more query parameters, and detect changes to mode and state that
way. If there is a change, then we ignore the page query parameter and use the
PortletPageResolver
to figure out the correct page to display instead.
- Since:
- 4.0
- Author:
- Howard M. Lewis Ship
- See Also:
ResponseRendererImpl
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RenderService
public RenderService()
getLink
public org.apache.tapestry.engine.ILink getLink(boolean post,
java.lang.Object parameter)
- Specified by:
getLink
in interface org.apache.tapestry.engine.IEngineService
service
public void service(org.apache.tapestry.IRequestCycle cycle)
throws java.io.IOException
- Specified by:
service
in interface org.apache.tapestry.engine.IEngineService
- Throws:
java.io.IOException
getName
public java.lang.String getName()
- Specified by:
getName
in interface org.apache.tapestry.engine.IEngineService
setPortletRenderer
public void setPortletRenderer(PortletRenderer portletRenderer)
setRequest
public void setRequest(javax.portlet.PortletRequest request)
setPageResolver
public void setPageResolver(PortletPageResolver pageResolver)