1 /********************************************************************************
2 * ******************************************************************************
3 * Copyright (c) 2005 Chris Rose and AIMedia All rights reserved. SQLColumnSet
4 * and the accompanying materials are made available under the terms of the
5 * Common Public License v1.0 which accompanies this distribution, and is
6 * available at http://www.eclipse.org/legal/cpl-v10.html Contributors: Chris
7 * Rose
8 ******************************************************************************/
9 package ca.spaz.sql;
10
11 import java.util.*;
12
13 /***
14 * TODO describe
15 *
16 * @author Chris Rose
17 */
18 public class SQLColumnSet {
19
20 private List terms;
21
22 private List names;
23
24 /***
25 *
26 */
27 public SQLColumnSet() {
28 super();
29 names = new ArrayList();
30 terms = new ArrayList();
31 }
32
33 public void add(String name, String str) {
34 names.add(name);
35 terms.add(str);
36 }
37
38 public void add(String name, Object o) {
39 names.add(name);
40 terms.add(SQLStatement.fixClass(o));
41 }
42
43 public void add(String name, int i) {
44 names.add(name);
45 terms.add(new Integer(i));
46 }
47
48 public void add(String name, boolean b) {
49 names.add(name);
50 terms.add(new Boolean(b));
51 }
52
53 public void add(String name, double d) {
54 names.add(name);
55 terms.add(new Double(d));
56 }
57
58 public void add(String name, float f) {
59 names.add(name);
60 terms.add(new Double(f));
61 }
62
63 public void add(String name, char c) {
64 names.add(name);
65 terms.add(new Character(c));
66 }
67
68 public String getNameString() {
69 StringBuffer sb = new StringBuffer();
70 sb.append(" ( ");
71 for (int i = 0; i < names.size(); i++) {
72 Object name = names.get(i);
73 sb.append(name.toString());
74 if (i < names.size() - 1) {
75 sb.append(", ");
76 }
77 }
78 sb.append(" ) ");
79 return sb.toString();
80 }
81
82 public String getValueString() {
83 StringBuffer sb = new StringBuffer();
84 sb.append(" (");
85 for (int i = 0; i < terms.size(); i++) {
86 Object term = terms.get(i);
87 if (term != null) {
88 sb.append(" '");
89 sb.append(SQLStatement.escape(term.toString()));
90 sb.append("' ");
91 } else {
92 sb.append(" NULL");
93 }
94 if (i < terms.size() - 1) {
95 sb.append(", ");
96 }
97 }
98 sb.append(") ");
99 return sb.toString();
100 }
101
102 public List getNames() {
103 return Collections.unmodifiableList(names);
104 }
105
106 public List getValues() {
107 return Collections.unmodifiableList(terms);
108 }
109
110 }