01: // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
02:
03: package jodd.db.orm.sqlgen;
04:
05: import java.util.Map;
06:
07: /**
08: * Generates parametered SQL queries.
09: */
10: public interface DbSqlGenerator {
11:
12: /**
13: * Generates SQL query.
14: */
15: String generateQuery();
16:
17: /**
18: * Returns a map of parameters used by generated query.
19: * Must be invoked only after the {@link #generateQuery()}.
20: */
21: Map<String, Object> getQueryParameters();
22:
23: /**
24: * Returns a map of reference objects that will be used for generating query.
25: * Useful before invoking of {@link #generateQuery()}.
26: */
27: Map<String, Object> getQueryReferences();
28:
29: /**
30: * Returns an optional map of table and column names, used by {@link jodd.db.orm.mapper.ResultSetMapper}.
31: * If column alias type is TABLE_REF, then each table reference has its names.
32: * If column alias type is COLUMN_CODE, then each column has table and columns name.
33: */
34: Map<String, String[]> getColumnData();
35:
36: }
|