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 boolean
acceptsUrl(String url)
Tell if mariadb driver accept url string.UrlParser
auroraPipelineQuirks()
Permit setting parameters not forced.Object
clone()
boolean
equals(Object parser)
CredentialPlugin
getCredentialPlugin()
String
getDatabase()
HaMode
getHaMode()
List<HostAddress>
getHostAddresses()
String
getInitialUrl()
Options
getOptions()
String
getPassword()
String
getUsername()
int
hashCode()
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.void
setDatabase(String database)
void
setPassword(String password)
protected void
setProperties(String urlParameters)
void
setUsername(String username)
String
toString()
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:
clone
in classObject
- Throws:
CloneNotSupportedException
-
-