org.mariadb.jdbc

## Class UrlParser

- java.lang.Object
- - org.mariadb.jdbc.UrlParser

    public class UrlParser
    extends Object

parse and verification of URL.

basic syntax :
`jdbc:(mysql|mariadb):[replication:|failover|loadbalance:|aurora:]//<hostDescription>[,<hostDescription>]/[database>] [?<key1>=<value1>[&<key2>=<value2>]]`

hostDescription:
- simple :
`<host>:<portnumber>`
(for example localhost:3306)
- complex :
`address=[(type=(master|slave))][(port=<portnumber>)](host=<host>)`
type is by default master
port is by default 3306

host can be dns name, ipv4 or ipv6.
in case of ipv6 and simple host description, the ip must be written inside bracket.
exemple : `jdbc:mariadb://[2001:0660:7401:0200:0000:0000:0edf:bdd7]:3306`

Some examples :
`jdbc:mariadb://localhost:3306/database?user=greg&password=pass`
`jdbc:mariadb://address=(type=master)(host=master1),address=(port=3307)(type=slave)(host=slave1)/database?user=greg&password=pass`

### Constructor Summary

Constructors
`protected` `UrlParser(String database, List<HostAddress> addresses, Options options, HaMode haMode)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static boolean` `acceptsUrl(String url)` Tell if mariadb driver accept url string.
`boolean` `equals(Object parser)`
`String` `getDatabase()`
`HaMode` `getHaMode()`
`List<HostAddress>` `getHostAddresses()`
`String` `getInitialUrl()`
`Options` `getOptions()`
`String` `getPassword()`
`String` `getUsername()`
`static UrlParser` `parse(String url)`
`static UrlParser` `parse(String url, Properties prop)` Parse url connection string with additional properties.
`void` `parseUrl(String url)` Parse url connection string.
`protected void` `setDatabase(String database)`
`void` `setHostAddresses(List<HostAddress> addresses)`
`protected void` `setPassword(String password)`
`protected void` `setProperties(String urlParameters)`
`protected void` `setUsername(String username)`
`String` `toString()` ToString implementation.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### UrlParser

    protected UrlParser(String database,
                        List<HostAddress> addresses,
                        Options options,
                        HaMode haMode)

### Method Detail

#### acceptsUrl

    public static boolean acceptsUrl(String url)

Tell if mariadb driver accept url string. (Correspond to interface java.jdbc.Driver.acceptsURL() method)

Parameters:
  `url` - url String
Returns:
  true if url string correspond.

#### parse

    public static UrlParser parse(String url)
                           throws SQLException

Throws:
  `SQLException`

#### parse

    public static UrlParser parse(String url,
                                  Properties prop)
                           throws SQLException

Parse url connection string with additional properties.

Parameters:
  `url` - connection string
  `prop` - properties
Returns:
  UrlParser instance
Throws:
  `SQLException` - if parsing exception occur

#### parseUrl

    public void parseUrl(String url)
                  throws SQLException

Parse url connection string.

Parameters:
  `url` - connection string
Throws:
  `SQLException` - if url format is incorrect

#### getUsername

    public String getUsername()

#### setUsername

    protected void setUsername(String username)

#### getPassword

    public String getPassword()

#### setPassword

    protected void setPassword(String password)

#### getDatabase

    public String getDatabase()

#### setDatabase

    protected void setDatabase(String database)

#### getHostAddresses

    public List<HostAddress> getHostAddresses()

#### setHostAddresses

    public void setHostAddresses(List<HostAddress> addresses)

#### getOptions

    public Options getOptions()

#### setProperties

    protected void setProperties(String urlParameters)

#### toString

    public String toString()

ToString implementation.

Overrides:
  `toString` in class `Object`
Returns:
  String value

#### getInitialUrl

    public String getInitialUrl()

#### getHaMode

    public HaMode getHaMode()

#### equals

    public boolean equals(Object parser)

Overrides:
  `equals` in class `Object`