com.vaadin.flow.router.internal.

Class HasUrlParameterFormat

  • All Implemented Interfaces:

    Serializable


    public class HasUrlParameterFormat
    extends Object
    implements Serializable

    Utility methods to transform urls and parameters from/into the HasUrlParameter format into/from the template format.

    For internal use only. May be renamed or removed in a future release.

    See Also:

    Serialized Form

    • Field Detail

      • PARAMETER_NAME

        public static final String PARAMETER_NAME

        Reserved parameter name used when setup internally route path pattern with the parameter design for backward compatibility with HasUrlParameter.

        See Also:

        Constant Field Values

      • PARAMETER

        public static final String PARAMETER

        Reserved parameter placeholder used when setup internally route path pattern with the parameter design for backward compatibility with HasUrlParameter.

        See Also:

        Constant Field Values

    • Method Detail

      • getTemplate

        public static String getTemplate(String urlBase,
                                         Class<? extends Component> navigationTarget)

        Gets the template for the given url base by appending the parameter according to the given navigationTarget if it's implementing HasUrlParameter

        Parameters:

        urlBase - url base.

        navigationTarget - HasUrlParameter navigation target.

        Returns:

        the final template.

        Throws:

        IllegalArgumentException - if the given url base contains url parameter template.

      • excludeTemplate

        public static String excludeTemplate(String urlTemplate,
                                             Class<? extends Component> navigationTarget)

        Gets the url base from a given url containing the url parameter template placeholder PARAMETER_NAME if it's implementing HasUrlParameter.

        Parameters:

        urlTemplate - url with a parameter template

        navigationTarget - HasUrlParameter navigation target.

        Returns:

        url excluding parameter template.

        Throws:

        IllegalArgumentException - if the given url template doesn't contain url parameter template.

      • getUrlBase

        public static String getUrlBase(String template)

        Gets the url base without the parameter for the given template and navigation target implementing * HasUrlParameter.

        Parameters:

        template - the template.

        Returns:

        the url base excluding the parameter placeholder.

      • getUrl

        public static <T> String getUrl(String url,
                                        List<T> parameters)

        Gets the final url by appending the given parameters.

        Type Parameters:

        T - type of the values.

        Parameters:

        url - url base.

        parameters - HasUrlParameter parameter values.

        Returns:

        navigation url string.

      • getParameters

        public static <T> RouteParameters getParameters(T parameter)

        Transform the HasUrlParameter value into a RouteParameters object.

        Type Parameters:

        T - type of the input value.

        Parameters:

        parameter - the parameter values.

        Returns:

        RouteParameters instance wrapping the given parameter.

      • getParameters

        public static <T> RouteParameters getParameters(List<T> parametersList)

        Transform the HasUrlParameter values into a RouteParameters object.

        Type Parameters:

        T - type of the input values.

        Parameters:

        parametersList - the list of values.

        Returns:

        RouteParameters instance wrapping the given parameters.

      • getParameterValues

        public static List<String> getParameterValues(RouteParameters parameters)

        Gets the values for the HasUrlParameter from the specified route parameters.

        Parameters:

        parameters - route parameter.

        Returns:

        HasUrlParameter compatible values.

      • getParameterTypes

        public static List<Class<?>> getParameterTypes(Collection<String> types)

        Gets the types of the parameters from string format.

        Parameters:

        types - the input string format types.

        Returns:

        the class types of the parameters.

      • checkMandatoryParameter

        public static void checkMandatoryParameter(Class<? extends Component> navigationTarget,
                                                   RouteParameters parameters)

        Verify whether the navigationTarget has mandatory parameter and complies with the given parameter values.

        Parameters:

        navigationTarget - navigation target.

        parameters - navigation route parameters.

      • hasUrlParameterTemplate

        public static boolean hasUrlParameterTemplate(String url)

        Verifies whether the given url already have the url parameter template or not.

        Parameters:

        url - url to be verified

        Returns:

        true if the given url already contains url parameter template PARAMETER_NAME