Class LinkTransformerInterceptor
java.lang.Object
org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor
- All Implemented Interfaces:
ComponentEventLinkEncoder
Intercepts some methods of
ComponentEventLinkEncoder
, passing the returned Link
s
through methods ofLinkTransformer
.- Since:
- 5.2.0
-
Constructor Summary
ConstructorsConstructorDescriptionLinkTransformerInterceptor
(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate) -
Method Summary
Modifier and TypeMethodDescriptioncreateComponentEventLink
(ComponentEventRequestParameters parameters, boolean forForm) Creates a link that encapsulates a component event request, includingPersistentLocale
(if set).createPageRenderLink
(PageRenderRequestParameters parameters) Creates a Link that encapsulates a page render request, including activation context andPersistentLocale
(if set).decodeComponentEventRequest
(Request request) Checks the request, primarily the path, to determine the if the request is a component event request.decodePageRenderRequest
(Request request) Checks the request, primarily the path, to determine the if the request is a page render request.
-
Constructor Details
-
LinkTransformerInterceptor
public LinkTransformerInterceptor(LinkTransformer linkTransformer, ComponentEventLinkEncoder delegate)
-
-
Method Details
-
createComponentEventLink
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
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
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
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
-