![JAR search and dependency download from the Maven repository](/logo.png)
br.com.objectos.sql.meta.maven.plugin.Vendor Maven / Gradle / Ivy
/*
* Copyright 2015 Objectos, Fábrica de Software LTDA.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package br.com.objectos.sql.meta.maven.plugin;
import java.sql.SQLException;
import java.sql.Statement;
import br.com.objectos.sql.core.db.Dialect;
/**
* @author [email protected] (Marcio Endo)
*/
public enum Vendor {
MYSQL(Dialect.MySQL, "com.mysql.jdbc.Driver", "jdbc:mysql://%s:%d") {
@Override
void createDatabase(Statement stmt, String db) throws SQLException {
stmt.executeUpdate("create database if not exists " + db + " character set utf8");
}
};
private final Dialect dialect;
private final String driverClassName;
private final String urlFormat;
private Vendor(Dialect dialect, String driverClassName, String urlFormat) {
this.dialect = dialect;
this.driverClassName = driverClassName;
this.urlFormat = urlFormat;
}
abstract void createDatabase(Statement stmt, String db) throws SQLException;
Dialect dialect() {
return dialect;
}
void loadDriver() throws ClassNotFoundException {
Class.forName(driverClassName);
}
String url(String server, int port) {
return String.format(urlFormat, server, port);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy