org.apache.tapestry5.internal.services.linktransform
Class LinkTransformerInterceptor

java.lang.Object
  extended by org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor
All Implemented Interfaces:
ComponentEventLinkEncoder

public class LinkTransformerInterceptor
extends Object
implements ComponentEventLinkEncoder

Intercepts some methods of ComponentEventLinkEncoder, passing the returned Links through methods ofLinkTransformer.

Since:
5.2.0

Constructor Summary
LinkTransformerInterceptor(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)
           
 
Method Summary
 Link createComponentEventLink(ComponentEventRequestParameters parameters, boolean forForm)
          Creates a link that encapsulates a component event request, including PersistentLocale (if set).
 Link createPageRenderLink(PageRenderRequestParameters parameters)
          Creates a Link that encapsulates a page render request, including activation context and PersistentLocale (if set).
 ComponentEventRequestParameters decodeComponentEventRequest(Request request)
          Checks the request, primarily the path, to determine the if the request is a component event request.
 PageRenderRequestParameters decodePageRenderRequest(Request request)
          Checks the request, primarily the path, to determine the if the request is a page render request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinkTransformerInterceptor

public LinkTransformerInterceptor(LinkTransformer linkTransformer,
                                  ComponentEventLinkEncoder delegate)
Method Detail

createComponentEventLink

public Link createComponentEventLink(ComponentEventRequestParameters parameters,
                                     boolean forForm)
Description copied from interface: ComponentEventLinkEncoder
Creates a link that encapsulates a component event request, including PersistentLocale (if set).

Forms:

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).

Passes the resulting Link through the ComponentEventLinkTransformer chain of command, returning the result.

Specified by:
createComponentEventLink in interface ComponentEventLinkEncoder
Parameters:
parameters - defining page, component, activation context and other details
forForm - true if the event link will trigger a form submission
Returns:
link for the component event

createPageRenderLink

public Link createPageRenderLink(PageRenderRequestParameters parameters)
Description copied from interface: ComponentEventLinkEncoder
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.

Specified by:
createPageRenderLink in interface ComponentEventLinkEncoder
Parameters:
parameters - defining page to render and context
Returns:
link for the page render

decodeComponentEventRequest

public ComponentEventRequestParameters decodeComponentEventRequest(Request request)
Description copied from interface: ComponentEventLinkEncoder
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.

Specified by:
decodeComponentEventRequest in interface ComponentEventLinkEncoder
Parameters:
request - incoming request
Returns:
component event request details, if a component event request

decodePageRenderRequest

public PageRenderRequestParameters decodePageRenderRequest(Request request)
Description copied from interface: ComponentEventLinkEncoder
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.

Specified by:
decodePageRenderRequest in interface ComponentEventLinkEncoder
Parameters:
request - incoming request
Returns:
page render request details, if a page render request


Copyright © 2003-2012 The Apache Software Foundation.