Class LinkTransformerInterceptor
- java.lang.Object
-
- org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor
-
- All Implemented Interfaces:
ComponentEventLinkEncoder
public class LinkTransformerInterceptor extends Object implements ComponentEventLinkEncoder
Intercepts some methods ofComponentEventLinkEncoder
, passing the returnedLink
s through methods ofLinkTransformer
.- Since:
- 5.2.0
-
-
Constructor Summary
Constructors Constructor Description LinkTransformerInterceptor(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Link
createComponentEventLink(ComponentEventRequestParameters parameters, boolean forForm)
Creates a link that encapsulates a component event request, includingPersistentLocale
(if set).Link
createPageRenderLink(PageRenderRequestParameters parameters)
Creates a Link that encapsulates a page render request, including activation context andPersistentLocale
(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.
-
-
-
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, includingPersistentLocale
(if set). Forms:- /context/pagename:eventname -- event on the page, no action context
- /context/pagename:eventname/foo/bar -- event on the page with action context "foo", "bar"
- /context/pagename.foo.bar -- event on component foo.bar within the page, default event, no action context
- /context/pagename.foo.bar/baz.gnu -- event on component foo.bar within the page, default event, with action context "baz", "gnu"
- /context/pagename.bar.baz:eventname/foo/gnu -- event on component bar.baz within the page with action context "foo" , "gnu"
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 theComponentEventLinkTransformer
chain of command, returning the result.- Specified by:
createComponentEventLink
in interfaceComponentEventLinkEncoder
- Parameters:
parameters
- defining page, component, activation context and other detailsforForm
- 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 andPersistentLocale
(if set). Passes the resulting Link through thePageRenderLinkTransformer
chain of command, returning the result.- Specified by:
createPageRenderLink
in interfaceComponentEventLinkEncoder
- 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 thePersistentLocale
... but only if the locale is a component event.- Specified by:
decodeComponentEventRequest
in interfaceComponentEventLinkEncoder
- 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 thePersistentLocale
... but only if the request is a page render.- Specified by:
decodePageRenderRequest
in interfaceComponentEventLinkEncoder
- Parameters:
request
- incoming request- Returns:
- page render request details, if a page render request
-
-