package com.querydsl.jpa; import com.querydsl.core.Target; import com.querydsl.sql.*; /** * @author tiwe * */ public final class Mode { public static final ThreadLocal<String> mode = new ThreadLocal<String>(); public static final ThreadLocal<Target> target = new ThreadLocal<Target>(); public static SQLTemplates getSQLTemplates() { switch (target.get()) { case CUBRID: return new CUBRIDTemplates(); case DERBY: return new DerbyTemplates(); case H2: return new H2Templates(); case HSQLDB: return new HSQLDBTemplates(); case SQLSERVER: return new SQLServer2008Templates(); case MYSQL: return new MySQLTemplates(); case ORACLE: return new OracleTemplates(); case POSTGRESQL: return new PostgreSQLTemplates(); case SQLITE: return new SQLiteTemplates(); case TERADATA: return new TeradataTemplates(); } throw new IllegalStateException("Unknown mode " + mode); } private Mode() { } }