Class UriParser


  • class UriParser
    extends java.lang.Object
    Parser for string URI with template parameters which produces URIs from Strings. Example of parsed uri: "http://user@{host}:{port}/a/{path}?query=1#fragment". The parser is not thread safe.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String authority  
      private CharacterIterator ci  
      private static java.lang.String ERROR_STATE  
      private java.lang.String fragment  
      private java.lang.String host  
      private java.lang.String input  
      private boolean opaque  
      private boolean parserExecuted  
      private java.lang.String path  
      private java.lang.String port  
      private java.lang.String query  
      private java.lang.String scheme  
      private java.lang.String ssp  
      private java.lang.String userInfo  
    • Constructor Summary

      Constructors 
      Constructor Description
      UriParser​(java.lang.String uri)
      Creates new parser initialized with uri.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getAuthority()
      Returns parsed authority component.
      java.lang.String getFragment()
      Returns parsed fragment component.
      java.lang.String getHost()
      Returns parsed host component.
      java.lang.String getPath()
      Returns parsed path component.
      java.lang.String getPort()
      Returns parsed port component.
      java.lang.String getQuery()
      Returns parsed query component.
      java.lang.String getScheme()
      Returns parsed scheme component.
      java.lang.String getSsp()
      Returns parsed scheme specific part.
      java.lang.String getUserInfo()
      Returns parsed user info component.
      boolean isOpaque()
      Returns whether the input string URI is opaque.
      void parse()
      Parses the input string URI.
      private void parseAuthority()  
      private java.lang.String parseComponent​(java.lang.String delimiters, boolean mayEnd)  
      private java.lang.String parseComponent​(java.lang.String delimiters, boolean mayEnd, boolean isIp)
      Parses the URI component.
      private java.lang.String parseComponentWithIP​(java.lang.String delimiters, boolean mayEnd)  
      private void parseHierarchicalUri()  
      private void parsePath()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ERROR_STATE

        private static final java.lang.String ERROR_STATE
      • input

        private final java.lang.String input
      • scheme

        private java.lang.String scheme
      • userInfo

        private java.lang.String userInfo
      • host

        private java.lang.String host
      • port

        private java.lang.String port
      • query

        private java.lang.String query
      • path

        private java.lang.String path
      • fragment

        private java.lang.String fragment
      • ssp

        private java.lang.String ssp
      • authority

        private java.lang.String authority
      • opaque

        private boolean opaque
      • parserExecuted

        private boolean parserExecuted
    • Constructor Detail

      • UriParser

        UriParser​(java.lang.String uri)
        Creates new parser initialized with uri.
        Parameters:
        uri - String with URI to be parsed. May contain template parameters.
    • Method Detail

      • parseComponentWithIP

        private java.lang.String parseComponentWithIP​(java.lang.String delimiters,
                                                      boolean mayEnd)
      • parseComponent

        private java.lang.String parseComponent​(java.lang.String delimiters,
                                                boolean mayEnd)
      • parseComponent

        private java.lang.String parseComponent​(java.lang.String delimiters,
                                                boolean mayEnd,
                                                boolean isIp)
        Parses the URI component. Parsing starts at position of the first character of component and ends with position of one of the delimiters. The string and current position is taken from the CharacterIterator.
        Parameters:
        delimiters - String with delimiters which terminates the component.
        mayEnd - True if component might be the last part of the URI.
        isIp - True if the component might contain IPv6 address.
        Returns:
        Extracted component.
      • parse

        public void parse()
        Parses the input string URI. After calling this method The result components can be retrieved by calling appropriate getter methods like getHost(), getPort(), etc.
      • parseHierarchicalUri

        private void parseHierarchicalUri()
      • parseAuthority

        private void parseAuthority()
      • parsePath

        private void parsePath()
      • getSsp

        public java.lang.String getSsp()
        Returns parsed scheme specific part. The method must be called before executing this method.
        Returns:
        Scheme specific part.
      • getScheme

        public java.lang.String getScheme()
        Returns parsed scheme component. The method must be called before executing this method.
        Returns:
        Scheme.
      • getUserInfo

        public java.lang.String getUserInfo()
        Returns parsed user info component. The method must be called before executing this method.
        Returns:
        User info.
      • getHost

        public java.lang.String getHost()
        Returns parsed host component. The method must be called before executing this method.
        Returns:
        Host.
      • getPort

        public java.lang.String getPort()
        Returns parsed port component. The method must be called before executing this method.
        Returns:
        Port.
      • getQuery

        public java.lang.String getQuery()
        Returns parsed query component. The method must be called before executing this method.
        Returns:
        Query.
      • getPath

        public java.lang.String getPath()
        Returns parsed path component. The method must be called before executing this method.
        Returns:
        Path.
      • getFragment

        public java.lang.String getFragment()
        Returns parsed fragment component. The method must be called before executing this method.
        Returns:
        Fragment.
      • getAuthority

        public java.lang.String getAuthority()
        Returns parsed authority component. The method must be called before executing this method.
        Returns:
        Authority.
      • isOpaque

        public boolean isOpaque()
        Returns whether the input string URI is opaque. The method must be called before executing this method.
        Returns:
        True if the uri is opaque.