Class UriTemplateParser


  • public class UriTemplateParser
    extends Object
    A URI template parser that parses JAX-RS specific URI templates.
    Author:
    Paul Sandoz, Gerard Davison (gerard.davison at oracle.com)
    • Field Detail

      • TEMPLATE_VALUE_PATTERN

        public static final Pattern TEMPLATE_VALUE_PATTERN
        Default URI template value regexp pattern.
    • Constructor Detail

      • UriTemplateParser

        public UriTemplateParser​(String template)
                          throws IllegalArgumentException
        Parse a template.
        Parameters:
        template - the template.
        Throws:
        IllegalArgumentException - if the template is null, an empty string or does not conform to a JAX-RS URI template.
    • Method Detail

      • getTemplate

        public final String getTemplate()
        Get the template.
        Returns:
        the template.
      • getPattern

        public final Pattern getPattern()
        Get the pattern.
        Returns:
        the pattern.
      • getNormalizedTemplate

        public final String getNormalizedTemplate()
        Get the normalized template.

        A normalized template is a template without any explicit regular expressions.

        Returns:
        the normalized template.
      • getNameToPattern

        public final Map<String,​Pattern> getNameToPattern()
        Get the map of template names to patterns.
        Returns:
        the map of template names to patterns.
      • getNames

        public final List<String> getNames()
        Get the list of template names.
        Returns:
        the list of template names.
      • getGroupCounts

        public final List<Integer> getGroupCounts()
        Get the capturing group counts for each template variable.
        Returns:
        the capturing group counts.
      • getGroupIndexes

        public final int[] getGroupIndexes()
        Get the group indexes to capturing groups.

        Any nested capturing groups will be ignored and the the group index will refer to the top-level capturing groups associated with the templates variables.

        Returns:
        the group indexes to capturing groups.
      • getNumberOfExplicitRegexes

        public final int getNumberOfExplicitRegexes()
        Get the number of explicit regular expressions.
        Returns:
        the number of explicit regular expressions.
      • getNumberOfRegexGroups

        public final int getNumberOfRegexGroups()
        Get the number of regular expression groups
        Returns:
        the number of regular expressions groups
        Since:
        2.9
      • getNumberOfLiteralCharacters

        public final int getNumberOfLiteralCharacters()
        Get the number of literal characters.
        Returns:
        the number of literal characters.
      • encodeLiteralCharacters

        protected String encodeLiteralCharacters​(String characters)
        Encode literal characters of a template.
        Parameters:
        characters - the literal characters
        Returns:
        the encoded literal characters.