JdbcMapper/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/ManualSQLParser.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()");
}
}