com.holonplatform.vaadin.flow.navigator.internal

## Class AbstractNavigationURLBuilder<B extends NavigationURLBuilder<B>>

- java.lang.Object
- - com.holonplatform.vaadin.flow.navigator.internal.AbstractNavigationURLBuilder<B>

- Type Parameters:
    `B` - Concrete builder type
  All Implemented Interfaces:
    NavigationURLBuilder<B>, Serializable
  Direct Known Subclasses:
    DefaultNavigationLink.DefaultBuilder, DefaultNavigator.DefaultNavigationBuilder

      public abstract class AbstractNavigationURLBuilder<B extends NavigationURLBuilder<B>>
      extends Object
      implements NavigationURLBuilder<B>

  Base `NavigationURLBuilder` implementation.
  Since:
    5.2.0
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractNavigationURLBuilder(String path)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete 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.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.holonplatform.vaadin.flow.navigator.NavigationURLBuilder

      `withQueryParameter`

- - ### Constructor Detail

    - #### AbstractNavigationURLBuilder

          public AbstractNavigationURLBuilder(String path)

      Constructor.
      Parameters:
        `path` - The navigation path

  - ### Method Detail

    - #### withQueryParameter

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

      Description copied from interface: `NavigationURLBuilder`
      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.

      Specified by:
        `withQueryParameter` in interface `NavigationURLBuilder<B extends NavigationURLBuilder<B>>`
      Type Parameters:
        `T` - Parameter type
      Parameters:
        `name` - The parameter name (not null)
        `values` - The parameter values
      Returns:
        this

    - #### withPathParameter

          public <T> B withPathParameter(T pathParameter)

      Description copied from interface: `NavigationURLBuilder`
      Add a URL path parameter value to be included in the navigation URL.
      Specified by:
        `withPathParameter` in interface `NavigationURLBuilder<B extends NavigationURLBuilder<B>>`
      Type Parameters:
        `T` - Parameter type
      Parameters:
        `pathParameter` - The parameter value (not null)
      Returns:
        this

    - #### encodeQueryParameters

          public B encodeQueryParameters(boolean encode)

      Description copied from interface: `NavigationURLBuilder`
      Set whether to URL-encode the query parameter names and values, using the `UTF-8` charset.

      Default is `true`.

      Specified by:
        `encodeQueryParameters` in interface `NavigationURLBuilder<B extends NavigationURLBuilder<B>>`
      Parameters:
        `encode` - Whether to URL-encode the query parameter
      Returns:
        this

Copyright © 2020 The Holon Platform. All rights reserved.