Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tapestry5.services
Interface ComponentEventLinkEncoder

All Known Implementing Classes:
  ComponentEventLinkEncoderImpl, LinkTransformerInterceptor

    public interface ComponentEventLinkEncoder

Responsible for creating `Link`s 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.

Since:
  5.1.0.1

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.

Method Detail

### createPageRenderLink

    Link createPageRenderLink(PageRenderRequestParameters parameters)

  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.

  Parameters:
    `parameters` - defining page to render and context
  Returns:
    link for the page render

### createComponentEventLink

    Link createComponentEventLink(ComponentEventRequestParameters parameters,
                                  boolean forForm)

  Creates a link that encapsulates a component event request, including `PersistentLocale` (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"

  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.

  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

### decodeComponentEventRequest

    ComponentEventRequestParameters decodeComponentEventRequest(Request request)

  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

    PageRenderRequestParameters decodePageRenderRequest(Request request)

  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.

  Parameters:
    `request` - incoming request
  Returns:
    page render request details, if a page render request

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2012 The Apache Software Foundation.