KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > searchengine > search > SearchOptions


1 /*
2  * SearchOptions.java
3  *
4  * Created on 6. November 2003, 16:30
5  */

6
7 package org.contineo.searchengine.search;
8
9 import java.util.Collection JavaDoc;
10 import java.util.Iterator JavaDoc;
11 import java.util.Vector JavaDoc;
12 import org.contineo.core.text.StringParser;
13 /**
14  * @author Michael Scholz
15  */

16 public class SearchOptions {
17
18     /**
19      * @uml.property name="queryStr"
20      */

21     private String JavaDoc queryStr = "";
22     /**
23      * @uml.property name="length"
24      */

25     private String JavaDoc length = "";
26     /**
27      * @uml.property name="relation"
28      */

29     private String JavaDoc relation = "";
30     /**
31      * @uml.property name="format"
32      */

33     private String JavaDoc format = "";
34     /**
35      * @uml.property name="fuzzy"
36      */

37     private boolean fuzzy = false;
38     /**
39      * @uml.property name="username"
40      */

41     private String JavaDoc username = "";
42     /**
43      * @uml.property name="fields"
44      */

45     private String JavaDoc[] fields = null;
46     private String JavaDoc[] languages = null;
47     /**
48      * @uml.property name="date"
49      */

50     private String JavaDoc date = "";
51     /**
52      * @uml.property name="dateRelation"
53      */

54     private String JavaDoc dateRelation = "";
55     /**
56      * @uml.property name="start"
57      */

58     private int start = 0;
59     private int resultStart = 0;
60     private Vector JavaDoc pageVect = new Vector JavaDoc();
61     /**
62      * @uml.property name="hitsPerPage"
63      */

64     private int hitsPerPage = 20;
65     
66     /** Creates a new instance of SearchOptions */
67     public SearchOptions() {
68     }
69
70     /**
71      *
72      * @uml.property name="queryStr"
73      */

74     public String JavaDoc getQueryStr() {
75         return queryStr;
76     }
77
78     /**
79      *
80      * @uml.property name="length"
81      */

82     public String JavaDoc getLength() {
83         return length;
84     }
85
86     /**
87      *
88      * @uml.property name="relation"
89      */

90     public String JavaDoc getRelation() {
91         return relation;
92     }
93
94     /**
95      *
96      * @uml.property name="format"
97      */

98     public String JavaDoc getFormat() {
99         return format;
100     }
101
102     /**
103      *
104      * @uml.property name="fuzzy"
105      */

106     public boolean getFuzzy() {
107         return fuzzy;
108     }
109
110     /**
111      *
112      * @uml.property name="username"
113      */

114     public String JavaDoc getUsername() {
115         return username;
116     }
117
118     /**
119      *
120      * @uml.property name="fields"
121      */

122     public String JavaDoc[] getFields() {
123         return fields;
124     }
125
126     /**
127      *
128      * @uml.property name="date"
129      */

130     public String JavaDoc getDate() {
131         return date;
132     }
133
134     /**
135      *
136      * @uml.property name="dateRelation"
137      */

138     public String JavaDoc getDateRelation() {
139         return dateRelation;
140     }
141
142     /**
143      *
144      * @uml.property name="start"
145      */

146     public int getStart() {
147         return start;
148     }
149
150     /**
151      *
152      * @uml.property name="hitsPerPage"
153      */

154     public int getHitsPerPage() {
155         return hitsPerPage;
156     }
157
158     
159     /**
160      * @param queryStr The queryStr to set.
161      * @uml.property name="queryStr"
162      */

163     public void setQueryStr(String JavaDoc query) {
164         queryStr = query;
165     }
166
167     /**
168      *
169      * @uml.property name="queryStr"
170      */

171     public void setQueryStr(String JavaDoc query, String JavaDoc phrase, String JavaDoc any, String JavaDoc not) {
172         if (fuzzy) {
173             StringParser sp = new StringParser(query);
174             Collection JavaDoc collquery = sp.getWordTable();
175             Iterator JavaDoc iter = collquery.iterator();
176             while (iter.hasNext()) {
177                 String JavaDoc word = (String JavaDoc) iter.next();
178                 queryStr += word + "~ ";
179             }
180         } else {
181             queryStr = query;
182         }
183         if (phrase != null && !phrase.equals(""))
184             queryStr += " \"" + phrase + "\"";
185         if (any != null && !any.equals("")) {
186             boolean first = true;
187             StringParser sp = new StringParser(any);
188             Collection JavaDoc collany = sp.getWordTable();
189             Iterator JavaDoc iter = collany.iterator();
190             while (iter.hasNext()) {
191                 String JavaDoc word = (String JavaDoc) iter.next();
192                 if (!first)
193                     queryStr += " OR";
194                 else
195                     first = false;
196                 queryStr += " " + word;
197                 if (fuzzy)
198                     queryStr += "~";
199             }
200         }
201         if (not != null && !not.equals("")) {
202             queryStr += " NOT (" + not + ")";
203         }
204     }
205
206     /**
207      *
208      * @uml.property name="length"
209      */

210     public void setLength(String JavaDoc len) {
211         length = len;
212     }
213
214     /**
215      *
216      * @uml.property name="relation"
217      */

218     public void setRelation(String JavaDoc rel) {
219         relation = rel;
220     }
221
222     /**
223      *
224      * @uml.property name="format"
225      */

226     public void setFormat(String JavaDoc form) {
227         format = form;
228     }
229
230     /**
231      *
232      * @uml.property name="fuzzy"
233      */

234     public void setFuzzy(boolean fuz) {
235         fuzzy = fuz;
236     }
237
238     /**
239      *
240      * @uml.property name="username"
241      */

242     public void setUsername(String JavaDoc name) {
243         username = name;
244     }
245
246     /**
247      *
248      * @uml.property name="fields"
249      */

250     public void setFields(String JavaDoc[] flds) {
251         fields = flds;
252     }
253
254     
255     public void addField(String JavaDoc s) {
256         fields[fields.length] = s;
257     }
258
259     /**
260      *
261      * @uml.property name="date"
262      */

263     public void setDate(String JavaDoc dte) {
264         date = dte;
265     }
266
267     /**
268      *
269      * @uml.property name="dateRelation"
270      */

271     public void setDateRelation(String JavaDoc daterel) {
272         dateRelation = daterel;
273     }
274
275     /**
276      *
277      * @uml.property name="start"
278      */

279     public void setStart(int st) {
280         start = st;
281     }
282
283     /**
284      *
285      * @uml.property name="hitsPerPage"
286      */

287     public void setHitsPerPage(int hpp) {
288         hitsPerPage = hpp;
289     }
290     
291     /**
292      * @return Returns the languages.
293      * @uml.property name="languages"
294      */

295     public String JavaDoc[] getLanguages() {
296         return languages;
297     }
298     
299     /**
300      * @param languages The languages to set.
301      * @uml.property name="languages"
302      */

303     public void setLanguages(String JavaDoc[] languages) {
304         this.languages = languages;
305     }
306     
307     /**
308      * @return Returns the resultStart.
309      * @uml.property name="resultStart"
310      */

311     public int getResultStart() {
312         return resultStart;
313     }
314     
315     /**
316      * @param resultStart The resultStart to set.
317      * @uml.property name="resultStart"
318      */

319     public void setResultStart(int resultStart) {
320         this.resultStart = resultStart;
321     }
322     
323     /**
324      * @return Returns the pageVect.
325      * @uml.property name="pageVect"
326      */

327     public Vector JavaDoc getPageVect() {
328         return pageVect;
329     }
330     
331     /**
332      * @param pageVect The pageVect to set.
333      * @uml.property name="pageVect"
334      */

335     public void setPageVect(Vector JavaDoc pageVect) {
336         this.pageVect = pageVect;
337     }
338 }
339
Popular Tags