1
22
23 package com.liferay.portal.search.lucene;
24
25 import com.liferay.portal.kernel.search.BooleanClause;
26 import com.liferay.portal.kernel.search.BooleanClauseOccur;
27 import com.liferay.portal.kernel.search.BooleanQuery;
28 import com.liferay.portal.kernel.search.ParseException;
29 import com.liferay.portal.kernel.search.Query;
30
31 import java.util.ArrayList;
32 import java.util.List;
33
34
40 public class BooleanQueryImpl implements BooleanQuery {
41
42 public BooleanQueryImpl() {
43 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
44 }
45
46 public void add(Query query, BooleanClauseOccur occur) {
47 _booleanQuery.add(
48 QueryTranslator.translate(query),
49 BooleanClauseOccurTranslator.translate(occur));
50 }
51
52 public void addExactTerm(String field, boolean value) {
53 LuceneUtil.addExactTerm(_booleanQuery, field, value);
54 }
55
56 public void addExactTerm(String field, Boolean value) {
57 LuceneUtil.addExactTerm(_booleanQuery, field, value);
58 }
59
60 public void addExactTerm(String field, double 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, int value) {
69 LuceneUtil.addExactTerm(_booleanQuery, field, value);
70 }
71
72 public void addExactTerm(String field, Integer value) {
73 LuceneUtil.addExactTerm(_booleanQuery, field, value);
74 }
75
76 public void addExactTerm(String field, long 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, short 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, String value) {
93 LuceneUtil.addExactTerm(_booleanQuery, field, value);
94 }
95
96 public void addRequiredTerm(String field, boolean value) {
97 LuceneUtil.addRequiredTerm(_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, double 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, int value) {
113 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
114 }
115
116 public void addRequiredTerm(String field, Integer value) {
117 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
118 }
119
120 public void addRequiredTerm(String field, long 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, short 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, String value) {
137 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
138 }
139
140 public void addRequiredTerm(String field, String value, boolean like) {
141 LuceneUtil.addRequiredTerm(_booleanQuery, field, value, like);
142 }
143
144 public void addTerm(String field, long value) throws ParseException {
145 try {
146 LuceneUtil.addTerm(_booleanQuery, field, value);
147 }
148 catch (org.apache.lucene.queryParser.ParseException pe) {
149 throw new ParseException(pe.getMessage());
150 }
151 }
152
153 public void addTerm(String field, String value) throws ParseException {
154 try {
155 LuceneUtil.addTerm(_booleanQuery, field, value);
156 }
157 catch (org.apache.lucene.queryParser.ParseException pe) {
158 throw new ParseException(pe.getMessage());
159 }
160 }
161
162 public void addTerm(String field, String value, boolean like)
163 throws ParseException {
164
165 try {
166 LuceneUtil.addTerm(_booleanQuery, field, value, like);
167 }
168 catch (org.apache.lucene.queryParser.ParseException pe) {
169 throw new ParseException(pe.getMessage());
170 }
171 }
172
173 public List<BooleanClause> clauses() {
174 List<org.apache.lucene.search.BooleanClause> luceneClauses =
175 _booleanQuery.clauses();
176
177 List<BooleanClause> clauses = new ArrayList<BooleanClause>(
178 luceneClauses.size());
179
180 for (int i = 0; i < luceneClauses.size(); i++) {
181 clauses.add(new BooleanClauseImpl(luceneClauses.get(i)));
182 }
183
184 return clauses;
185 }
186
187 public org.apache.lucene.search.BooleanQuery getBooleanQuery() {
188 return _booleanQuery;
189 }
190
191 public String toString() {
192 return _booleanQuery.toString();
193 }
194
195 private org.apache.lucene.search.BooleanQuery _booleanQuery;
196
197 }