001
014
015 package com.liferay.portal.search.lucene;
016
017 import com.liferay.portal.kernel.search.BaseBooleanQueryImpl;
018 import com.liferay.portal.kernel.search.BooleanClause;
019 import com.liferay.portal.kernel.search.BooleanClauseOccur;
020 import com.liferay.portal.kernel.search.BooleanClauseOccurImpl;
021 import com.liferay.portal.kernel.search.ParseException;
022 import com.liferay.portal.kernel.search.Query;
023 import com.liferay.portal.kernel.search.QueryTranslatorUtil;
024
025 import java.util.ArrayList;
026 import java.util.List;
027
028
032 public class BooleanQueryImpl extends BaseBooleanQueryImpl {
033
034 public BooleanQueryImpl() {
035 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
036 }
037
038 public void add(Query query, BooleanClauseOccur booleanClauseOccur)
039 throws ParseException {
040
041 _booleanQuery.add(
042 (org.apache.lucene.search.Query)QueryTranslatorUtil.translate(
043 query),
044 BooleanClauseOccurTranslator.translate(booleanClauseOccur));
045 }
046
047 public void add(Query query, String occur) throws ParseException {
048 BooleanClauseOccur booleanClauseOccur = new BooleanClauseOccurImpl(
049 occur);
050
051 add(query, booleanClauseOccur);
052 }
053
054 public void addExactTerm(String field, boolean value) {
055 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
056 }
057
058 public void addExactTerm(String field, Boolean value) {
059 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
060 }
061
062 public void addExactTerm(String field, double value) {
063 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
064 }
065
066 public void addExactTerm(String field, Double value) {
067 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
068 }
069
070 public void addExactTerm(String field, int value) {
071 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
072 }
073
074 public void addExactTerm(String field, Integer value) {
075 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
076 }
077
078 public void addExactTerm(String field, long value) {
079 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
080 }
081
082 public void addExactTerm(String field, Long value) {
083 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
084 }
085
086 public void addExactTerm(String field, short value) {
087 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
088 }
089
090 public void addExactTerm(String field, Short value) {
091 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
092 }
093
094 public void addExactTerm(String field, String value) {
095 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
096 }
097
098 public void addNumericRangeTerm(
099 String field, int startValue, int endValue) {
100
101 LuceneHelperUtil.addNumericRangeTerm(
102 _booleanQuery, field, startValue, endValue);
103 }
104
105 public void addNumericRangeTerm(
106 String field, Integer startValue, Integer endValue) {
107
108 LuceneHelperUtil.addNumericRangeTerm(
109 _booleanQuery, field, startValue, endValue);
110 }
111
112 public void addNumericRangeTerm(
113 String field, long startValue, long endValue) {
114
115 LuceneHelperUtil.addNumericRangeTerm(
116 _booleanQuery, field, startValue, endValue);
117 }
118
119 public void addNumericRangeTerm(
120 String field, Long startValue, Long endValue) {
121
122 LuceneHelperUtil.addNumericRangeTerm(
123 _booleanQuery, field, startValue, endValue);
124 }
125
126 public void addNumericRangeTerm(
127 String field, short startValue, short endValue) {
128
129 LuceneHelperUtil.addNumericRangeTerm(
130 _booleanQuery, field, startValue, endValue);
131 }
132
133 public void addNumericRangeTerm(
134 String field, Short startValue, Short endValue) {
135
136 LuceneHelperUtil.addNumericRangeTerm(
137 _booleanQuery, field, startValue, endValue);
138 }
139
140 public void addRangeTerm(String field, int startValue, int endValue) {
141 LuceneHelperUtil.addRangeTerm(
142 _booleanQuery, field, startValue, endValue);
143 }
144
145 public void addRangeTerm(
146 String field, Integer startValue, Integer endValue) {
147
148 LuceneHelperUtil.addRangeTerm(
149 _booleanQuery, field, startValue, endValue);
150 }
151
152 public void addRangeTerm(String field, long startValue, long endValue) {
153 LuceneHelperUtil.addRangeTerm(
154 _booleanQuery, field, startValue, endValue);
155 }
156
157 public void addRangeTerm(String field, Long startValue, Long endValue) {
158 LuceneHelperUtil.addRangeTerm(
159 _booleanQuery, field, startValue, endValue);
160 }
161
162 public void addRangeTerm(String field, short startValue, short endValue) {
163 LuceneHelperUtil.addRangeTerm(
164 _booleanQuery, field, startValue, endValue);
165 }
166
167 public void addRangeTerm(String field, Short startValue, Short endValue) {
168 LuceneHelperUtil.addRangeTerm(
169 _booleanQuery, field, startValue, endValue);
170 }
171
172 public void addRangeTerm(String field, String startValue, String endValue) {
173 LuceneHelperUtil.addRangeTerm(
174 _booleanQuery, field, startValue, endValue);
175 }
176
177 public void addRequiredTerm(String field, boolean value) {
178 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
179 }
180
181 public void addRequiredTerm(String field, Boolean value) {
182 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
183 }
184
185 public void addRequiredTerm(String field, double value) {
186 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
187 }
188
189 public void addRequiredTerm(String field, Double value) {
190 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
191 }
192
193 public void addRequiredTerm(String field, int value) {
194 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
195 }
196
197 public void addRequiredTerm(String field, Integer value) {
198 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
199 }
200
201 public void addRequiredTerm(String field, long value) {
202 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
203 }
204
205 public void addRequiredTerm(String field, Long value) {
206 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
207 }
208
209 public void addRequiredTerm(String field, short value) {
210 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
211 }
212
213 public void addRequiredTerm(String field, Short value) {
214 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
215 }
216
217 public void addRequiredTerm(String field, String value) {
218 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
219 }
220
221 public void addRequiredTerm(String field, String value, boolean like) {
222 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value, like);
223 }
224
225 public void addTerm(String field, long value) {
226 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
227 }
228
229 public void addTerm(String field, String value) {
230 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
231 }
232
233 public void addTerm(String field, String value, boolean like) {
234 LuceneHelperUtil.addTerm(_booleanQuery, field, value, like);
235 }
236
237 public void addTerm(
238 String field, String value, boolean like,
239 BooleanClauseOccur booleanClauseOccur) {
240
241 LuceneHelperUtil.addTerm(
242 _booleanQuery, field, value, like, booleanClauseOccur);
243 }
244
245 public List<BooleanClause> clauses() {
246 List<org.apache.lucene.search.BooleanClause> luceneBooleanClauses =
247 _booleanQuery.clauses();
248
249 List<BooleanClause> booleanClauses = new ArrayList<BooleanClause>(
250 luceneBooleanClauses.size());
251
252 for (int i = 0; i < luceneBooleanClauses.size(); i++) {
253 BooleanClause booleanClause = new BooleanClauseImpl(
254 luceneBooleanClauses.get(i));
255
256 booleanClauses.add(booleanClause);
257 }
258
259 return booleanClauses;
260 }
261
262 public org.apache.lucene.search.BooleanQuery getBooleanQuery() {
263 return _booleanQuery;
264 }
265
266 @Override
267 public Object getWrappedQuery() {
268 return getBooleanQuery();
269 }
270
271 public boolean hasClauses() {
272 return !clauses().isEmpty();
273 }
274
275 @Override
276 public String toString() {
277 return _booleanQuery.toString();
278 }
279
280 private org.apache.lucene.search.BooleanQuery _booleanQuery;
281
282 }