33 lines
978 B
Java
33 lines
978 B
Java
package com.moparisthebest.jdbc.codegen;
|
|
|
|
/**
|
|
* Created by mopar on 5/25/17.
|
|
*/
|
|
class ManualSQLParser extends AbstractSQLParser {
|
|
|
|
private static final SQLParser notSelect = new ManualSQLParser(null, false);
|
|
|
|
private ManualSQLParser(final String[] columnNames, final boolean isSelect) {
|
|
super(columnNames, isSelect);
|
|
}
|
|
|
|
public static SQLParser getSQLParser(final JdbcMapper.SQL sql, final SQLParser parser, final String sqlStatement) {
|
|
if(sql.columnNames().length != 0) {
|
|
final String[] newColumnNames = new String[sql.columnNames().length + 1];
|
|
int count = 0;
|
|
for (final String columnName : sql.columnNames())
|
|
newColumnNames[++count] = columnName.toUpperCase();
|
|
return new ManualSQLParser(newColumnNames, true);
|
|
} else if(!sql.isSelect()) {
|
|
return notSelect;
|
|
} else {
|
|
return parser.parse(sqlStatement);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public SQLParser parse(final String sql) {
|
|
throw new UnsupportedOperationException("use getDefinedColumns()");
|
|
}
|
|
}
|