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

  • Constructor Details

    • UrlParser

      public UrlParser(String database, List<HostAddress> addresses, Options options, HaMode haMode) throws SQLException
      Constructor.
      Parameters:
      database - database
      addresses - list of hosts
      options - connection option
      haMode - High availability mode
      Throws:
      SQLException - if credential plugin cannot be loaded
  • Method Details

    • 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 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.
      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
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isMultiMaster

      public boolean isMultiMaster()
    • clone

      public Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException