1 package org.opensync.tools;
2
3 import java.util.Vector;
4
5 public class QuerySelect extends Object {
6
7 private String fileName, querySelect, criteria;
8 private Vector fields;
9 private Vector primaryKeys;
10
11 /***
12 * Constructor
13 */
14 public QuerySelect() {
15 fields = new Vector();
16 }
17
18 public void setPrimaryKeys(Vector f) {
19 primaryKeys = (Vector)f.clone();
20 }
21
22 public void setFileName(String s) {
23 this.fileName = s;
24 }
25 public void setQuerySelect(String s) {
26 this.querySelect = s;
27 }
28 public void setCriteria(String s) {
29 this.criteria = s;
30 }
31
32 public String getFileName() {
33 return(fileName);
34 }
35 public String getQuerySelect() {
36 return(querySelect);
37 }
38 public String getCriteria() {
39 return(criteria);
40 }
41
42
43 public void addField (QuerySelectField e) {
44 fields.addElement(e) ;
45 }
46 public int getQuerySelectFieldSize() {
47 return (this.fields.size());
48 }
49 public boolean isChildsFound (Vector v0, Vector v1) {
50 boolean b;
51 String s;
52 QuerySelectField e;
53 b=false;
54 for (int i=0;i<fields.size();i++) {
55 e=(QuerySelectField)fields.elementAt(i);
56 s=e.getKeyWord();
57 if (v0.contains(s) || v1.contains(s)) {
58 b=true;
59 break;
60 }
61 }
62 return b;
63 }
64 public String getKeyWord(int v) {
65 return( ((QuerySelectField)fields.elementAt(v)).getKeyWord() );
66 }
67 public String getLabel(int v) {
68 return( ((QuerySelectField)fields.elementAt(v)).getLabel() );
69 }
70 public String getFile(int v) {
71 return( ((QuerySelectField)fields.elementAt(v)).getFile() );
72 }
73 public String getField(int v) {
74 return( ((QuerySelectField)fields.elementAt(v)).getField() );
75 }
76 public String getTypeField(int v) {
77 return( ((QuerySelectField)fields.elementAt(v)).getTypeField() );
78 }
79 public String getPrimaryKey(int v) {
80 return( ((QuerySelectField)fields.elementAt(v)).getPrimaryKey() );
81 }
82 public String getChildFile(int v) {
83 return( ((QuerySelectField)fields.elementAt(v)).getChildFile() );
84 }
85 public String getKeychildFile(int v) {
86 return( ((QuerySelectField)fields.elementAt(v)).getKeychildFile() );
87 }
88 public int getIndex(int v) {
89 return( ((QuerySelectField)fields.elementAt(v)).getIndex() );
90 }
91 public Vector getPrimaryKeys() {
92 return primaryKeys;
93 }
94 boolean searchField (String fl, String fld, String kw ) {
95 int indexP,indexPMax;
96 boolean foundField;
97 QuerySelectField field;
98
99 indexPMax = fields.size();
100 foundField = false;
101 for(indexP=0;indexP<indexPMax;indexP++) {
102 field = (QuerySelectField)fields.elementAt(indexP);
103 if ( fl.equals(field.getFile())
104 && fld.equals(field.getField())
105 && kw.equals(field.getKeyWord()) ) {
106 foundField = true;
107 break;
108 }
109 }
110 return foundField;
111 }
112
113 StringBuffer getSelectString(String fileName) {
114 StringBuffer selectString = new StringBuffer();
115
116 selectString.append("SELECT ");
117 selectString.append(querySelect.substring(0,querySelect.lastIndexOf(",")));
118
119 selectString.append(" FROM ");
120 selectString.append(fileName);
121 return selectString;
122 }
123
124 }
125
126