org.mariadb.jdbc
Class UrlParser

java.lang.Object
  extended by 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
protected UrlParser(String database, List<HostAddress> addresses, Options options, HaMode haMode)
           
 
Method Summary
static boolean acceptsUrl(String url)
          Tell if mariadb driver accept url string.
 UrlParser auroraPipelineQuirks()
          Permit to set parameters not forced.
 boolean equals(Object parser)
           
 String getDatabase()
           
 HaMode getHaMode()
           
 List<HostAddress> getHostAddresses()
           
 String getInitialUrl()
           
 Options getOptions()
           
 String getPassword()
           
 String getUsername()
           
 boolean isAurora()
          Detection of Aurora.
 boolean isMultiMaster()
           
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

auroraPipelineQuirks

public UrlParser auroraPipelineQuirks()
Permit to set parameters not forced. if options useBatchMultiSend and usePipelineAuth are not explicitly set in connection string, value will default to true or false according if aurora detection.

Returns:
UrlParser for easy testing

isAurora

public boolean isAurora()
Detection of Aurora.

Aurora rely on MySQL, then cannot be identified by protocol. But Aurora doesn't permit some behaviour normally working with MySQL : pipelining. So Driver must identified if server is Aurora to disable pipeline options that are enable by default.

Returns:
true if aurora.

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

isMultiMaster

public boolean isMultiMaster()


Copyright © 2017. All rights reserved.