org.apache.tapestry5.services
Interface ComponentEventLinkEncoder

Responsible for creating Links for page render requests and for component event
requests, and for parsing incoming paths to identify requests that are component event or page render requests. This
centralizes some logic that was scattered about in Tapestry 5.0.

createPageRenderLink

Creates a Link that encapsulates a page render request, including activation context and PersistentLocale (if set).
Passes the resulting Link through the PageRenderLinkTransformer chain of command, returning
the result.

The persistent locale may be placed in between the context name and the page name, i.e., "/context/fr/SomePage".

In many cases the context name is blank, so the path begins with a "/" and then the locale name or page name.

The page name portion may itself consist of a series of folder names, i.e., "admin/user/create". The context
portion isn't the concern of this code, since Request.getPath() will
already have stripped that off. We can act as if the context is always "/" (the path always starts with a slash).

decodeComponentEventRequest

Checks the request, primarily the path, to determine
the if the request is a component event request. As a side-effect (necessary for historical reasons), responsible
for setting the locale for the thread, including the PersistentLocale ...
but only if the locale is a component event.

Parameters:

request - incoming request

Returns:

component event request details, if a component event request

decodePageRenderRequest

Checks the request, primarily the path, to determine
the if the request is a page render request. As a side-effect (necessary for historical reasons), responsible for
setting the locale for the thread, including the PersistentLocale ... but
only if the request is a page render.