public function getPath()
 {
     $pathParams = [];
     foreach ($this->getPathParams() as $pathParam) {
         array_push($pathParams, \str\encodeUrl($pathParam));
     }
     return implode(':', $pathParams);
 }
 /**
  * @see \str\encodeUrl() encodeUrl
  */
 public static function encodeUrl($string_, $avoidDoubleEncoding_ = false)
 {
     return \str\encodeUrl($string_, $avoidDoubleEncoding_);
 }
 /**
  * @see \Components\Object::__toString() __toString
  */
 public function __toString()
 {
     $string = '';
     if ($this->m_scheme) {
         $string .= "{$this->m_scheme}://";
     } else {
         if ($this->m_host) {
             $string .= '//';
         }
     }
     if ($string) {
         if ($this->m_username && $this->m_host) {
             $authority = \str\encodeUrl($this->m_username);
             if ($this->m_password) {
                 $authority .= ':' . \str\encodeUrl($this->m_password);
             }
             $string .= "{$authority}@";
         }
         if ($this->m_host) {
             $string .= $this->m_host;
         }
         if ($this->m_port) {
             $string .= ':' . $this->m_port;
         }
     }
     if (count($this->m_pathParams)) {
         $string .= $this->getPath();
     } else {
         $string .= '/';
     }
     if ($queryString = $this->getQueryString()) {
         $string .= '?' . $queryString;
     }
     if ($this->m_fragment) {
         $string .= '#' . \str\encodeUrl($this->m_fragment);
     }
     return $string;
 }