{@inheritDoc}
<p>
Note that if the supplied properties and URL contain properties with the same name, the value from the supplied Properties
object will take precedence.
</p>

@see java.sql.Driver#connect(java.lang.String, java.util.Properties)
342563
@Override
    public Connection connect( String url,
                               Properties info ) throws SQLException {
        if (!acceptsURL(url)) {
            return null;
        }
        RepositoryDelegate repositoryDelegate = delegateFactory.createRepositoryDelegate(url, info, this.contextFactory);
        return repositoryDelegate.createConnection(getDriverInfo());
    }
610812
synchronized public void setDBProperties(Map<String, Object> properties) throws DBException, RemoteException
    {
        m_database.setProperties(properties);
    }
1065846
public Connection getConnection() throws SQLException {
        Connection conn = null;
        if (driver != null) {
            Properties props = new Properties();
            if (userName != null) {
                props.put("user", userName);
            }
            if (password != null) {
                props.put("password", password);
            }
            conn = driver.connect(jdbcURL, props);
        }
        if (conn == null) {
            if (userName != null) {
                conn = DriverManagerAccessor.getConnection(jdbcURL, userName, password);
            } else {
                conn = DriverManagerAccessor.getConnection(jdbcURL);
            }
        }
        return conn;
    }
998539
public void addProperty(final String propertyName, final String value) {
        Preconditions.checkNotNull(propertyName);
        Preconditions.checkNotNull(value);
        List<String> values = properties.get(propertyName);
        if (values == null) {
            values = new ArrayList<>();
            values.add(value);
            properties.put(propertyName, values);
        } else {
            values.add(value);
        }
    }
779412
@Override
    public void setURL(int parameterIndex, URL x) throws SQLException
    {
        checkParameterBounds(parameterIndex);
        this.parameters[parameterIndex-1] = x == null ? VoltType.NULL_STRING_OR_VARBINARY : x.toString();
    }
409351
protected void loadQueryProperties(String propertyFilename) throws IOException {

        Properties properties = new Properties();
        properties.load(getClass().getClassLoader().getResourceAsStream(propertyFilename));
        @SuppressWarnings("unchecked")
        Enumeration<String> propertyNames = (Enumeration<String>)properties.propertyNames();
        while (propertyNames.hasMoreElements()) {
            String propertyName = propertyNames.nextElement();
            m_queries.put(propertyName, properties.getProperty(propertyName));
        }
    }
909526
private static void addRequestProperties(final Map<String, String> requestProperties, final HttpURLConnection connection) {
        if (requestProperties != null) {
            for (Entry<String, String> entry : requestProperties.entrySet()) {
                connection.addRequestProperty(entry.getKey(), entry.getValue());
            }
        }
    }
388188
public DriverPropertyInfo[] getPropertyInfo(String url,
      Properties info)
      throws SQLException {
    if (url != null) {
      UrlParser urlParser = UrlParser.parse(url, info);
      if (urlParser == null || urlParser.getOptions() == null) {
        return new DriverPropertyInfo[0];
      }

      List<DriverPropertyInfo> props = new ArrayList<>();
      for (DefaultOptions o : DefaultOptions.values()) {
        try {
          Field field = Options.class.getField(o.getOptionName());
          Object value = field.get(urlParser.getOptions());
          DriverPropertyInfo propertyInfo = new DriverPropertyInfo(field.getName(),
              value == null ? null : value.toString());
          propertyInfo.description = o.getDescription();
          propertyInfo.required = o.isRequired();
          props.add(propertyInfo);
        } catch (NoSuchFieldException | IllegalAccessException e) {
          //eat error
        }
      }
      return props.toArray(new DriverPropertyInfo[props.size()]);
    }

    return new DriverPropertyInfo[0];
  }
1129878
public void setClientInfo(final Properties properties) 
        throws SQLClientInfoException {

        if (properties == null) {
            throw new IllegalArgumentException();
        } // end of if

        if (this.closed) {
            throw new SQLClientInfoException();
        } // end of if

        this.clientInfo = properties;
    }
7596
@Override
	public void visit(SQLProperty property) throws Exception {
		// add property index
		classBuilder.addField(FieldSpec.builder(Integer.TYPE, "index"+(counter++), Modifier.PROTECTED).addJavadoc("Index for column $S\n", property.getName()).build());

	}
656933
@Override
    protected void setProperty(final String _name,
                               final String _value)
        throws CacheReloadException
    {
        if (_name.equals(Classification.Keys.LINKATTR.value)) {
            this.linkAttributeName = _value;
        } else if (_name.equals(Classification.Keys.RELLINKATTR.value)) {
            this.relLinkAttributeName = _value;
        } else if (_name.equals(Classification.Keys.RELTYPEATTR.value)) {
            this.relTypeAttributeName = _value;
        } else if (_name.equals(Classification.Keys.MULTI.value)) {
            this.multipleSelect = !"FALSE".equalsIgnoreCase(_value);
        }
        super.setProperty(_name, _value);
    }
264092
public void setProperties(Properties properties) throws ConfigurationException {
		String dbDriver = properties.getProperty("dbdriver").toString();
		if (dbDriver == null) {
			throw new ConfigurationException("please specify dbDriver for connectionpool");
		}

		dbUrl = properties.getProperty("dburl").toString();
		dbUsername = properties.getProperty("dbusername").toString();
		dbUserpassword = properties.getProperty("dbuserpassword").toString();

		if (properties.getProperty("nrof_connections") != null) {
			initialNrofConnections = Integer.valueOf(properties.getProperty("nrof_connections"));
			maxNrofConnections = Integer.valueOf(properties.getProperty("nrof_connections"));
		} else {
			initialNrofConnections = Integer.valueOf(properties.getProperty("initial_nrof_connections", "" + initialNrofConnections));
			maxNrofConnections = Integer.valueOf(properties.getProperty("max_nrof_connections", "" + maxNrofConnections));
			//set default option
			//properties.getProperty("nrof_connections", new GenericValue(initialNrofConnections)).toInteger().intValue();
		}
		connectionRequestTimeout = Integer.valueOf(properties.getProperty("connection_request_timeout", "" + connectionRequestTimeout));
		connectionTimeout = Integer.valueOf(properties.getProperty("connection_timeout", "" + connectionTimeout));
		connectionTimeoutCheck = Integer.valueOf(properties.getProperty("connection_timeout_check_interval", "" + connectionTimeoutCheck));

		connectionTestStatement = properties.getProperty("connection_test_statement", connectionTestStatement).toString();

		createReadOnlyConnections = Boolean.valueOf(properties.getProperty("create_readonly_connections", "" + createReadOnlyConnections));
		defaultIsolationLevel = isolationLevelStrings.indexOf(properties.getProperty("default_isolaton_level", "" + defaultIsolationLevel));

		try {
			Class.forName(dbDriver);
			Enumeration drivers = DriverManager.getDrivers();

			driverInfo = "";
			int count = 0;
			while (drivers.hasMoreElements()) {
				count++;
				Driver driver = (Driver) drivers.nextElement();
				driverInfo += "driver " + count + ": " + driver.getMajorVersion() + '.' + driver.getMinorVersion() + "\n";
			}
		} catch (ClassNotFoundException cnfe) {
			throw new ConfigurationException("ERROR: Driver \"" + dbDriver + "\" not found...");
		}
		resetStatistics();
	}
941583
private Connection connect()
            throws SQLException {

        if (DefaultContentLoader.localDataSource == null) {
            LOG.error("Data Source is null");
            return null;
        }

        final Connection conn = DataSourceUtils.getConnection(DefaultContentLoader.localDataSource);
        if (conn == null) {
            LOG.error("Connection is null");
        }

        return conn;
    }
820676
@Override
	public Connection getConnection(final String datasourceName) {
		try {
			DataSource ds = dsMap.computeIfAbsent(datasourceName, DataSourceConnectionSupplierImpl::getNewDataSource);
			final Connection connection;
			synchronized (ds) {
				connection = ds.getConnection();
			}
			boolean autoCommit = getAutoCommit(datasourceName);
			if (connection.getAutoCommit() != autoCommit) {
				connection.setAutoCommit(autoCommit);
			}
			boolean readOnly = getReadOnly(datasourceName);
			if (connection.isReadOnly() != readOnly) {
				connection.setReadOnly(readOnly);
			}
			int transactionIsolation = getTransactionIsolation(datasourceName);
			if (transactionIsolation > 0 && connection.getTransactionIsolation() != transactionIsolation) {
				connection.setTransactionIsolation(transactionIsolation);
			}
			return connection;
		} catch (SQLException ex) {
			throw new UroborosqlRuntimeException("Connection[" + datasourceName + "] can not be acquired.", ex);
		}
	}
76204
public ConnectionInput withConnectionProperties(java.util.Map<String, String> connectionProperties) {
        setConnectionProperties(connectionProperties);
        return this;
    }
228492
@Override
    public void connectAsynch(Object address) {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            Tr.entry(tc, "connectAsynch, vc=" + getVCHash());
        }
        // Determine if this is a redundant connect.
        if (connected) {
            handleRedundantConnect();
        }
        this.targetAddress = (TCPConnectRequestContext) address;
        // Nothing specific to SSL on connect. Pass through.
        ((OutboundConnectionLink) getDeviceLink()).connectAsynch(address);
        // The SSL handshake will happen in the ready method path.
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            Tr.exit(tc, "connectAsynch");
        }
    }
226697
private void connect() {
        try {
            URL url = new URL(this.endpoint);
            connection = (HttpURLConnection) url.openConnection();
            connection.setReadTimeout(this.readTimeoutMs);
            connection.setConnectTimeout(this.connectTimeoutMs);
            connection.setRequestMethod(this.method.name());
            if (method == HttpMethod.POST || method == HttpMethod.PUT) {
                connection.setDoOutput(true);
            } else {
                connection.setDoOutput(false);
            }
            connection.setDoInput(true);
            connection.setUseCaches(false);
            for (String headerName : headers.keySet()) {
                String headerValue = headers.get(headerName);
                connection.setRequestProperty(headerName, headerValue);
            }
            connection.connect();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }