-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathAlter.java
More file actions
57 lines (42 loc) · 1.83 KB
/
Copy pathAlter.java
File metadata and controls
57 lines (42 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package advancedsql.query;
import advancedsql.query.column.IColumn;
import advancedsql.table.ITable;
import java.util.ArrayList;
import java.util.List;
public class Alter extends ExecuteStatement<Alter> {
private final advancedsql.query.action.Add add = new advancedsql.query.action.Add();
private final advancedsql.query.action.Modify modify = new advancedsql.query.action.Modify();
private final advancedsql.query.action.Drop drop = new advancedsql.query.action.Drop();
public Alter(ITable table) {
super(table);
}
/**
* @return "Drop" Object that allows you to specify the columns that you want to drop.
*/
public advancedsql.query.action.Drop drop() {
return drop;
}
/**
* @return "Modify" Object that allows you to specify the columns that you want to modify.
*/
public advancedsql.query.action.Modify modify() {
return modify;
}
/**
* @return "Add" Object that allows you to specify the columns that you want to add.
*/
public advancedsql.query.action.Add add() {
return add;
}
@Override
public java.lang.String toQuery() {
StringBuilder query = new StringBuilder("ALTER TABLE " + this.table + " ");
List<IColumn> columns = new ArrayList<>();
columns.addAll(add.getColumns());
columns.addAll(modify.getColumns());
List<String> dropColumns = drop.getColumns();
for (int i = 0; i < columns.size(); i++) query.append(i != columns.size() - 1 ? columns.get(i).toString() + ", " : columns.get(i).toString() + (dropColumns.size() > 0 ? ", " : ";"));
for (int i = 0; i < dropColumns.size(); i++) query.append(i != dropColumns.size() - 1 ? drop.getPrefix() + dropColumns.get(i) + ", " : drop.getPrefix() + dropColumns.get(i) + ";");
return query.toString().trim();
}
}