1
19
20 package com.liferay.portal.search.lucene;
21
22 import com.liferay.portal.kernel.search.BooleanClause;
23 import com.liferay.portal.kernel.search.BooleanClauseOccur;
24 import com.liferay.portal.kernel.search.BooleanQuery;
25 import com.liferay.portal.kernel.search.ParseException;
26 import com.liferay.portal.kernel.search.Query;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31
37 public class BooleanQueryImpl implements BooleanQuery {
38
39 public BooleanQueryImpl() {
40 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
41 }
42
43 public void add(Query query, BooleanClauseOccur occur)
44 throws ParseException {
45
46 try {
47 _booleanQuery.add(
48 QueryTranslator.translate(query),
49 BooleanClauseOccurTranslator.translate(occur));
50 }
51 catch (org.apache.lucene.queryParser.ParseException pe) {
52 throw new ParseException(pe.getMessage());
53 }
54 }
55
56 public void addExactTerm(String field, boolean value) {
57 LuceneUtil.addExactTerm(_booleanQuery, field, value);
58 }
59
60 public void addExactTerm(String field, Boolean value) {
61 LuceneUtil.addExactTerm(_booleanQuery, field, value);
62 }
63
64 public void addExactTerm(String field, double value) {
65 LuceneUtil.addExactTerm(_booleanQuery, field, value);
66 }
67
68 public void addExactTerm(String field, Double value) {
69 LuceneUtil.addExactTerm(_booleanQuery, field, value);
70 }
71
72 public void addExactTerm(String field, int value) {
73 LuceneUtil.addExactTerm(_booleanQuery, field, value);
74 }
75
76 public void addExactTerm(String field, Integer value) {
77 LuceneUtil.addExactTerm(_booleanQuery, field, value);
78 }
79
80 public void addExactTerm(String field, long value) {
81 LuceneUtil.addExactTerm(_booleanQuery, field, value);
82 }
83
84 public void addExactTerm(String field, Long value) {
85 LuceneUtil.addExactTerm(_booleanQuery, field, value);
86 }
87
88 public void addExactTerm(String field, short value) {
89 LuceneUtil.addExactTerm(_booleanQuery, field, value);
90 }
91
92 public void addExactTerm(String field, Short value) {
93 LuceneUtil.addExactTerm(_booleanQuery, field, value);
94 }
95
96 public void addExactTerm(String field, String value) {
97 LuceneUtil.addExactTerm(_booleanQuery, field, value);
98 }
99
100 public void addRequiredTerm(String field, boolean value) {
101 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
102 }
103
104 public void addRequiredTerm(String field, Boolean value) {
105 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
106 }
107
108 public void addRequiredTerm(String field, double value) {
109 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
110 }
111
112 public void addRequiredTerm(String field, Double value) {
113 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
114 }
115
116 public void addRequiredTerm(String field, int value) {
117 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
118 }
119
120 public void addRequiredTerm(String field, Integer value) {
121 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
122 }
123
124 public void addRequiredTerm(String field, long value) {
125 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
126 }
127
128 public void addRequiredTerm(String field, Long value) {
129 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
130 }
131
132 public void addRequiredTerm(String field, short value) {
133 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
134 }
135
136 public void addRequiredTerm(String field, Short value) {
137 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
138 }
139
140 public void addRequiredTerm(String field, String value) {
141 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
142 }
143
144 public void addRequiredTerm(String field, String value, boolean like) {
145 LuceneUtil.addRequiredTerm(_booleanQuery, field, value, like);
146 }
147
148 public void addTerm(String field, long value) throws ParseException {
149 try {
150 LuceneUtil.addTerm(_booleanQuery, field, value);
151 }
152 catch (org.apache.lucene.queryParser.ParseException pe) {
153 throw new ParseException(pe.getMessage());
154 }
155 }
156
157 public void addTerm(String field, String value) throws ParseException {
158 try {
159 LuceneUtil.addTerm(_booleanQuery, field, value);
160 }
161 catch (org.apache.lucene.queryParser.ParseException pe) {
162 throw new ParseException(pe.getMessage());
163 }
164 }
165
166 public void addTerm(String field, String value, boolean like)
167 throws ParseException {
168
169 try {
170 LuceneUtil.addTerm(_booleanQuery, field, value, like);
171 }
172 catch (org.apache.lucene.queryParser.ParseException pe) {
173 throw new ParseException(pe.getMessage());
174 }
175 }
176
177 public List<BooleanClause> clauses() {
178 List<org.apache.lucene.search.BooleanClause> luceneClauses =
179 _booleanQuery.clauses();
180
181 List<BooleanClause> clauses = new ArrayList<BooleanClause>(
182 luceneClauses.size());
183
184 for (int i = 0; i < luceneClauses.size(); i++) {
185 clauses.add(new BooleanClauseImpl(luceneClauses.get(i)));
186 }
187
188 return clauses;
189 }
190
191 public org.apache.lucene.search.BooleanQuery getBooleanQuery() {
192 return _booleanQuery;
193 }
194
195 public String toString() {
196 return _booleanQuery.toString();
197 }
198
199 private org.apache.lucene.search.BooleanQuery _booleanQuery;
200
201 }