KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jimm > datavision > gui > cmd > TableJoinCommand


1 package jimm.datavision.gui.cmd;
2 import jimm.datavision.source.Query;
3 import jimm.util.I18N;
4 import java.util.Collection JavaDoc;
5 import java.util.ArrayList JavaDoc;
6 import java.util.Iterator JavaDoc;
7
8 /**
9  * A command for changing a field's table join.
10  *
11  * @author Jim Menard, <a HREF="mailto:jimm@io.com">jimm@io.com</a>
12  */

13 public class TableJoinCommand extends CommandAdapter {
14
15 protected Query query;
16 protected Collection JavaDoc newJoins;
17 protected Collection JavaDoc origJoins;
18
19 public TableJoinCommand(Query query, Collection JavaDoc joins) {
20     super(I18N.get("TableJoinCommand.name"));
21     this.query = query;
22
23     origJoins = new ArrayList JavaDoc();
24     for (Iterator JavaDoc iter = query.joins(); iter.hasNext(); )
25     origJoins.add(iter.next());
26
27     newJoins = joins;
28 }
29
30 public void perform() {
31     query.clearJoins();
32     query.addAllJoins(newJoins);
33 }
34
35 public void undo() {
36     query.clearJoins();
37     query.addAllJoins(origJoins);
38 }
39
40 }
41
Popular Tags