All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.dreampie.orm.dialect.DialectFactory Maven / Gradle / Ivy

There is a newer version: 1.3.0.RELEASE
Show newest version
package cn.dreampie.orm.dialect;

import cn.dreampie.orm.exception.DBException;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by wangrenhui on 14/12/31.
 */
public class DialectFactory {
  private static Map dialectMap = new HashMap() {{
    put("h2", new H2Dialect());
    put("mssql", new MSSQLDialect());
    put("mysql", new MySQLDialect());
    put("oracle", new OracleDialect());
    put("postgreSQL", new PostgreSQLDialect());
    put("sqlite", new SQLiteDialect());
  }};

  public static Map getDialectMap() {
    return dialectMap;
  }

  public static void setDialectMap(Map dialectMap) {
    DialectFactory.dialectMap = dialectMap;
  }

  public static Dialect get(String dialectName) {
    Dialect dialect = dialectMap.get(dialectName);
    if (dialect == null) {
      throw new DBException("Dialect could not found for name " + dialectName + ".only support like this:" + dialectMap.keySet().toString());
    }
    return dialect;
  }

  public static void addDialectMap(Map dialectMap) {
    DialectFactory.dialectMap.putAll(dialectMap);
  }

  public static void addDialect(String dialectName, Dialect dialect) {
    DialectFactory.dialectMap.put(dialectName, dialect);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy