|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Controller object that manages a single request cycle. A request cycle is one 'hit' on the web server. In the case of a Tapestry application, this will involve:
IEngineService
object
Mixed in with this is:
A request cycle is broken up into two phases. The rewind phase
is optional, as it tied to Action
or
Form
components. In the rewind phase,
a previous page render is redone (discarding output) until a specific component
of the page is reached. This rewinding ensures that the page
is restored to the exact state it had when the URL for the request cycle was
generated, taking into account the dynamic nature of the page (Foreach
,
Conditional
, etc.). Once this component is reached, it can notify
its IActionListener
. The listener has the ability to update the state
of any pages and select a new result page.
Following the rewind phase is the render phase. During the render phase, a page is actually rendered and output sent to the client web browser.
Method Summary | |
void |
cleanup()
Invoked after the request cycle is no longer needed, to release any resources it may have. |
void |
commitPageChanges()
Invoked just before rendering the response page to get all page recorders touched in this request cycle
to commit their changes (save them to persistant storage). |
java.lang.String |
encodeURL(java.lang.String URL)
Passes the String through HttpServletResponse.encodeURL() , which
ensures that the session id is encoded in the URL (if necessary). |
java.lang.Object |
getAttribute(java.lang.String name)
Retrieves a previously stored attribute, returning null if not found. |
IEngine |
getEngine()
Returns the engine which is processing this request cycle. |
IMonitor |
getMonitor()
|
java.lang.String |
getNextActionId()
Returns the next action id. |
IPage |
getPage()
Identifies the page being rendered. |
IPage |
getPage(java.lang.String name)
Returns the page with the given name. |
RequestContext |
getRequestContext()
|
IEngineService |
getService()
Returns the service which initiated this request cycle. |
boolean |
isRewinding()
Returns true if the context is being used to rewind a prior state of the page. |
boolean |
isRewound(IComponent component)
Checks to see if the current action id matches the target action id. |
void |
removeAttribute(java.lang.String name)
Removes a previously stored attribute, if one with the given name exists. |
void |
renderPage(IResponseWriter writer)
Renders the given page. |
void |
rewindForm(IForm form,
java.lang.String targetActionId)
Used by forms to perform a partial rewind
and respond to the form submission. |
void |
rewindPage(java.lang.String targetActionId,
IComponent targetComponent)
Rewinds a page and executes some form of action when the component with the specified action id is reached. |
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Allows a temporary object to be stored in the request cycle, which allows otherwise unrelated objects to communicate. |
void |
setPage(IPage page)
Sets the page to be rendered. |
void |
setPage(java.lang.String name)
Sets the page to be rendered. |
Method Detail |
public void cleanup()
public java.lang.String encodeURL(java.lang.String URL)
HttpServletResponse.encodeURL()
, which
ensures that the session id is encoded in the URL (if necessary).public IEngine getEngine()
public java.lang.Object getAttribute(java.lang.String name)
public IMonitor getMonitor()
public java.lang.String getNextActionId()
public IPage getPage()
public IPage getPage(java.lang.String name)
IEngine.getPageSource()
public RequestContext getRequestContext()
public boolean isRewinding()
public boolean isRewound(IComponent component) throws StaleLinkException
If theres a match on action id, then the component
is compared against the target component. If there's a mismatch
then a StaleLinkException
is thrown.
public void removeAttribute(java.lang.String name)
public void renderPage(IResponseWriter writer) throws RequestCycleException
IRender.render(IResponseWriter, IRequestCycle)
since the
request cycle must perform some setup before rendering.public void rewindPage(java.lang.String targetActionId, IComponent targetComponent) throws RequestCycleException
IAction
public void setAttribute(java.lang.String name, java.lang.Object value)
HttpServletRequest.setAttribute()
,
except that values can be changed and removed as well.
This is used by components to locate each other. A component, such
as Body
, will write itself under a well-known name
into the request cycle, and components it wraps can locate it by that name.
public void setPage(IPage page)
public void setPage(java.lang.String name)
public void commitPageChanges() throws PageRecorderCommitException
page recorders
touched in this request cycle
to commit their changes (save them to persistant storage).IPageRecorder.commit()
public IEngineService getService()
public void rewindForm(IForm form, java.lang.String targetActionId) throws RequestCycleException
forms
to perform a partial rewind
and respond to the form submission.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |