1 /*
2 * Created on 2003-6-6 15:19:01 by joel guo
3 *
4 * vTradEx Information Technology Inc.
5 */
6 package com.cyclops.dbdigger.sql;
7 import com.cyclops.dbdigger.schema.Column;
8 import com.cyclops.dbdigger.schema.Table;
9 import com.cyclops.dbdigger.util.ArraySet;
10 /*** Add description <font color="red">HERE</font>!
11 *
12 * @author <a href="mailto:joeblack.guo@vtradex.com">joel guo</a>
13 * @since 2003-6-6 15:19:01
14 */
15 public class Select extends SQL {
16 /*** Empty select array */
17 public static final Select[] EMPTY_ARRAY = new Select[0];
18 /*** Select sql keyword */
19 public static final String OPERATION = "SELECT";
20 private ArraySet froms = new ArraySet();
21 private ArraySet orderBys = new ArraySet();
22 private ArraySet selectedColumns = new ArraySet();
23 private Condition where;
24 /*** Constructor of class Select
25 */
26 public Select() {
27 super(OPERATION);
28 }
29 /*** Method addOrderBy()
30 * @param orderBy OrderBy object to be added
31 */
32 public void addOrderBy(OrderBy orderBy) {
33 orderBys.add(orderBy);
34 }
35 /*** Add single select column
36 * @param column Database column
37 * @return This select object
38 */
39 public Select addSelectedColumn(Column column) {
40 selectedColumns.add(column);
41 froms.add(column.getTable());
42 return this;
43 }
44 /*** Add selected columns
45 * @param columns Array of database columns
46 * @return This select object
47 */
48 public Select addSelectedColumns(Column[] columns) {
49 for (int i = 0; i < columns.length; i++) {
50 Column column = columns[i];
51 addSelectedColumn(column);
52 }
53 return this;
54 }
55 /*** Method getFroms() in class Select
56 * @return From tables
57 */
58 public Table[] getFroms() {
59 return (Table[]) froms.toArray(Table.EMPTY_ARRAY);
60 }
61 /*** Method getOrderBys()
62 * @return OrderBy object array
63 */
64 public OrderBy[] getOrderBys() {
65 return (OrderBy[]) orderBys.toArray(OrderBy.EMPTY_ARRAY);
66 }
67 /*** Method getSeletedColumns() in class Select
68 * @return Column object array
69 */
70 public Column[] getSeletedColumns() {
71 return (Column[]) selectedColumns.toArray(Column.EMPTY_ARRAY);
72 }
73 /*** Get root where criterion
74 * @return Criterion object
75 */
76 public Condition getWhere() {
77 return where;
78 }
79 /*** Set root where Criterion
80 * @param c Criterion object
81 * @return This select object
82 */
83 public Select setWhere(Condition c) {
84 where = c;
85 return this;
86 }
87 }
This page was automatically generated by Maven