com.holonplatform.vaadin.flow.navigator

## Interface NavigationURLBuilder<B extends NavigationURLBuilder<B>>

- Type Parameters:
    `B` - Concrete builder type
  All Superinterfaces:
    Serializable
  All Known Subinterfaces:
    NavigationLink.Builder, Navigator.NavigationBuilder
  All Known Implementing Classes:
    AbstractNavigationURLBuilder, DefaultNavigationLink.DefaultBuilder, DefaultNavigator.DefaultNavigationBuilder

      public interface NavigationURLBuilder<B extends NavigationURLBuilder<B>>
      extends Serializable

  A builder to compose a navigation URL.
  Since:
    5.2.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `encodeQueryParameters(boolean encode)` Set whether to URL-encode the query parameter names and values, using the `UTF-8` charset.
    `<T> B` | `withPathParameter(T pathParameter)` Add a URL path parameter value to be included in the navigation URL.
    `<T> B` | `withQueryParameter(String name, List<T> values)` Add query parameter values to be included in the navigation URL.
    `default <T> B` | `withQueryParameter(String name, T... values)` Add query parameter values to be included in the navigation URL.

- - ### Method Detail

    - #### withQueryParameter

          default <T> B withQueryParameter(String name,
                                           T... values)

      Add query parameter values to be included in the navigation URL.

      If one or more values was previously associated to given parameter `name`, the given `values` will be added to the existing values set.

      Type Parameters:
        `T` - Parameter type
      Parameters:
        `name` - The parameter name (not null)
        `values` - The parameter values
      Returns:
        this

    - #### withQueryParameter

          <T> B withQueryParameter(String name,
                                   List<T> values)

      Add query parameter values to be included in the navigation URL.

      If one or more values was previously associated to given parameter `name`, the given `values` will be added to the existing values set.

      Type Parameters:
        `T` - Parameter type
      Parameters:
        `name` - The parameter name (not null)
        `values` - The parameter values
      Returns:
        this

    - #### withPathParameter

          <T> B withPathParameter(T pathParameter)

      Add a URL path parameter value to be included in the navigation URL.
      Type Parameters:
        `T` - Parameter type
      Parameters:
        `pathParameter` - The parameter value (not null)
      Returns:
        this

    - #### encodeQueryParameters

          B encodeQueryParameters(boolean encode)

      Set whether to URL-encode the query parameter names and values, using the `UTF-8` charset.

      Default is `true`.

      Parameters:
        `encode` - Whether to URL-encode the query parameter
      Returns:
        this

Copyright © 2020 The Holon Platform. All rights reserved.