001
014
015 package com.liferay.portal.kernel.search;
016
017 import com.liferay.portal.kernel.json.JSON;
018 import com.liferay.portal.kernel.util.StringPool;
019
020 import java.util.ArrayList;
021 import java.util.List;
022 import java.util.Map;
023
024
028 public class HitsImpl implements Hits {
029
030 public HitsImpl() {
031 }
032
033 @Override
034 public void copy(Hits hits) {
035 setDocs(hits.getDocs());
036 setLength(hits.getLength());
037 setQuery(hits.getQuery());
038 setQuerySuggestions(hits.getQuerySuggestions());
039 setQueryTerms(hits.getQueryTerms());
040 setScores(hits.getScores());
041 setSearchTime(hits.getSearchTime());
042 setSnippets(hits.getSnippets());
043 setSpellCheckResults(hits.getSpellCheckResults());
044 setStart(hits.getStart());
045 }
046
047 @Override
048 public Document doc(int n) {
049 return _docs[n];
050 }
051
052 @JSON
053 @Override
054 public String getCollatedSpellCheckResult() {
055 return _collatedSpellCheckResult;
056 }
057
058 @JSON
059 @Override
060 public Document[] getDocs() {
061 return _docs;
062 }
063
064 @Override
065 public int getLength() {
066 return _length;
067 }
068
069 @JSON(include = false)
070 @Override
071 public Query getQuery() {
072 return _query;
073 }
074
075 @JSON
076 @Override
077 public String[] getQuerySuggestions() {
078 if ((_querySuggestions == null) || (_querySuggestions.length == 0)) {
079 return StringPool.EMPTY_ARRAY;
080 }
081
082 return _querySuggestions;
083 }
084
085 @JSON
086 @Override
087 public String[] getQueryTerms() {
088 return _queryTerms;
089 }
090
091 @JSON
092 @Override
093 public float[] getScores() {
094 return _scores;
095 }
096
097 @Override
098 public float getSearchTime() {
099 return _searchTime;
100 }
101
102 @JSON
103 @Override
104 public String[] getSnippets() {
105 return _snippets;
106 }
107
108 @Override
109 public Map<String, List<String>> getSpellCheckResults() {
110 return _spellCheckResults;
111 }
112
113 @Override
114 public long getStart() {
115 return _start;
116 }
117
118 @Override
119 public float score(int n) {
120 return _scores[n];
121 }
122
123 @Override
124 public void setCollatedSpellCheckResult(String collatedSpellCheckResult) {
125 _collatedSpellCheckResult = collatedSpellCheckResult;
126 }
127
128 @Override
129 public void setDocs(Document[] docs) {
130 _docs = docs;
131 }
132
133 @Override
134 public void setLength(int length) {
135 _length = length;
136 }
137
138 @Override
139 public void setQuery(Query query) {
140 _query = query;
141 }
142
143 @Override
144 public void setQuerySuggestions(String[] querySuggestions) {
145 _querySuggestions = querySuggestions;
146 }
147
148 @Override
149 public void setQueryTerms(String[] queryTerms) {
150 _queryTerms = queryTerms;
151 }
152
153 @Override
154 public void setScores(float[] scores) {
155 _scores = scores;
156 }
157
158 @Override
159 public void setScores(Float[] scores) {
160 float[] primScores = new float[scores.length];
161
162 for (int i = 0; i < scores.length; i++) {
163 primScores[i] = scores[i].floatValue();
164 }
165
166 setScores(primScores);
167 }
168
169 @Override
170 public void setSearchTime(float time) {
171 _searchTime = time;
172 }
173
174 @Override
175 public void setSnippets(String[] snippets) {
176 _snippets = snippets;
177 }
178
179 @Override
180 public void setSpellCheckResults(
181 Map<String, List<String>> spellCheckResults) {
182
183 _spellCheckResults = spellCheckResults;
184 }
185
186 @Override
187 public void setStart(long start) {
188 _start = start;
189 }
190
191 @Override
192 public String snippet(int n) {
193 return _snippets[n];
194 }
195
196 @Override
197 public List<Document> toList() {
198 List<Document> subset = new ArrayList<Document>(_docs.length);
199
200 for (Document _doc : _docs) {
201 subset.add(_doc);
202 }
203
204 return subset;
205 }
206
207 private String _collatedSpellCheckResult;
208 private Document[] _docs;
209 private int _length;
210 private Query _query;
211 private String[] _querySuggestions;
212 private String[] _queryTerms;
213 private float[] _scores = new float[0];
214 private float _searchTime;
215 private String[] _snippets = {};
216 private Map<String, List<String>> _spellCheckResults;
217 private long _start;
218
219 }