public function setPort( $port ) : PgSQL
   {

      if ( null === $port )
      {
         $this->_attributes[ 'port' ] = $port;
         return $this;
      }

      $port = false;
      if ( \is_string( $port ) )
      {
         $port = (int) $port;
      }
      else if ( TypeTool::IsInteger( $port ) )
      {
         $port = (int) $port;
      }
      else if ( TypeTool::IsStringConvertible( $port, $portStr ) )
      {
         $port = (int) $portStr;
      }

      if ( ! \is_int( $port ) || ! $this->_supportedAttributes->get( 'port' )->validateValue( $port ) )
      {
         throw new ArgumentException( 'port', $port, 'Invalid port!' );
      }

      $this->_attributes[ 'port' ] = $port;

      return $this;

   }