public static JDBCQueryMetaData createJDBCQueryMetaData(JDBCQueryMetaData jdbcQueryMetaData,
JDBCReadAheadMetaData readAhead,
Class qlCompiler) throws DeploymentException {
// RAW-SQL
if(jdbcQueryMetaData instanceof JDBCRawSqlQueryMetaData)
{
return new JDBCRawSqlQueryMetaData(jdbcQueryMetaData.getMethod(), qlCompiler, false);
}
// JBOSS-QL
if(jdbcQueryMetaData instanceof JDBCJBossQLQueryMetaData)
{
return new JDBCJBossQLQueryMetaData(
(JDBCJBossQLQueryMetaData) jdbcQueryMetaData,
readAhead, qlCompiler, false
);
}
// DYNAMIC-SQL
if(jdbcQueryMetaData instanceof JDBCDynamicQLQueryMetaData)
{
return new JDBCDynamicQLQueryMetaData(
(JDBCDynamicQLQueryMetaData) jdbcQueryMetaData,
readAhead, qlCompiler, false
);
}
// DECLARED-SQL
if(jdbcQueryMetaData instanceof JDBCDeclaredQueryMetaData)
{
return new JDBCDeclaredQueryMetaData(
(JDBCDeclaredQueryMetaData) jdbcQueryMetaData,
readAhead, qlCompiler, false
);
}
// EJB-QL: default
if(jdbcQueryMetaData instanceof JDBCQlQueryMetaData)
{
return new JDBCQlQueryMetaData(
(JDBCQlQueryMetaData) jdbcQueryMetaData,
readAhead, qlCompiler, false
);
}
throw new DeploymentException(
"Error in query specification for method " +
jdbcQueryMetaData.getMethod().getName()
);
}
|