Package org.apache.tapestry5.services.linktransform

# Interface ComponentEventLinkTransformer

All Known Subinterfaces:
  `LinkTransformer`

All Known Implementing Classes:
  `LinkTransformerImpl`

@UsesOrderedConfiguration(ComponentEventLinkTransformer.class) public interface ComponentEventLinkTransformer
Allows for selective replacement of the default `Link` used to represent a component event request. This is a service, but also the contribution to the service, as a chain of command. This transformer follows the same pattern as `PageRenderLinkTransformer`.

Since:
  5.2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ComponentEventRequestParameters`
  `decodeComponentEventRequest(Request request)`
  Attempts to decode the page render request, to perform the opposite action for `transformComponentEventLink(Link, ComponentEventRequestParameters)`.
  `Link`
  `transformComponentEventLink(Link defaultLink, ComponentEventRequestParameters parameters)`
  Allows the default Link created for the component event request to be replaced.

- ## Method Details

  - ### transformComponentEventLink

    Link transformComponentEventLink(Link defaultLink, ComponentEventRequestParameters parameters)
    Allows the default Link created for the component event request to be replaced.
    Parameters:
      `defaultLink` - the default Link generated for a component event request
      `parameters` - used to create the default Link
    Returns:
      a replacement Link, or null

  - ### decodeComponentEventRequest

    ComponentEventRequestParameters decodeComponentEventRequest(Request request)
    Attempts to decode the page render request, to perform the opposite action for `transformComponentEventLink(Link, ComponentEventRequestParameters)`. The transformer is also responsible for identifying the locale in the request (as part of the path, or as a query parameter or cookie) and setting the locale for the request. This method will be invoked from the `ComponentEventDispatcher` and a non-null value returned from this method will prevent the default `ComponentEventLinkEncoder.decodeComponentEventRequest(Request)` method from being invoked.
    Returns:
      decoded parameters, or null to proceed normally
    See Also:
      - `LocalizationSetter.setLocaleFromLocaleName(String)`