Class UrlParser
- java.lang.Object
-
- org.mariadb.jdbc.UrlParser
-
- All Implemented Interfaces:
Cloneable
public class UrlParser extends Object implements Cloneable
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|replica))][(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.
example :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=replica)(host=replica1)/database?user=greg&password=pass
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleanacceptsUrl(String url)Tell if mariadb driver accept url string.UrlParserauroraPipelineQuirks()Permit setting parameters not forced.Objectclone()booleanequals(Object parser)CredentialPlugingetCredentialPlugin()StringgetDatabase()HaModegetHaMode()List<HostAddress>getHostAddresses()StringgetInitialUrl()OptionsgetOptions()StringgetPassword()StringgetUsername()inthashCode()booleanisMultiMaster()static UrlParserparse(String url)static UrlParserparse(String url, Properties prop)Parse url connection string with additional properties.voidparseUrl(String url)Parse url connection string.voidsetDatabase(String database)voidsetPassword(String password)protected voidsetProperties(String urlParameters)voidsetUsername(String username)StringtoString()ToString implementation.
-
-
-
Constructor Detail
-
UrlParser
public UrlParser(String database, List<HostAddress> addresses, Options options, HaMode haMode) throws SQLException
Constructor.- Parameters:
database- databaseaddresses- list of hostsoptions- connection optionhaMode- High availability mode- Throws:
SQLException- if credential plugin cannot be loaded
-
-
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 stringprop- properties- Returns:
- UrlParser instance
- Throws:
SQLException- if parsing exception occur
-
auroraPipelineQuirks
public UrlParser auroraPipelineQuirks()
Permit setting 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
-
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
public void setUsername(String username)
-
getPassword
public String getPassword()
-
setPassword
public void setPassword(String password)
-
getDatabase
public String getDatabase()
-
setDatabase
public void setDatabase(String database)
-
getHostAddresses
public List<HostAddress> getHostAddresses()
-
getOptions
public Options getOptions()
-
setProperties
protected void setProperties(String urlParameters)
-
getCredentialPlugin
public CredentialPlugin getCredentialPlugin()
-
toString
public String toString()
ToString implementation.
-
getInitialUrl
public String getInitialUrl()
-
getHaMode
public HaMode getHaMode()
-
isMultiMaster
public boolean isMultiMaster()
-
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
-