001
014
015 package com.liferay.portal.kernel.search.hits;
016
017 import com.liferay.portal.kernel.search.Hits;
018 import com.liferay.portal.kernel.search.QueryConfig;
019 import com.liferay.portal.kernel.search.SearchContext;
020 import com.liferay.portal.kernel.search.SearchException;
021 import com.liferay.portal.kernel.util.Validator;
022
023 import java.util.List;
024
025
028 public class CompositeHitsProcessor implements HitsProcessor {
029
030 @Override
031 public boolean process(SearchContext searchContext, Hits hits)
032 throws SearchException {
033
034 if (Validator.isNull(searchContext.getKeywords())) {
035 return false;
036 }
037
038 QueryConfig queryConfig = searchContext.getQueryConfig();
039
040 if (!queryConfig.isHitsProcessingEnabled()) {
041 return false;
042 }
043
044 for (HitsProcessor hitsProcessor : _hitsProcessors) {
045 if (!hitsProcessor.process(searchContext, hits)) {
046 break;
047 }
048 }
049
050 return true;
051 }
052
053 public void setHitsProcessors(List<HitsProcessor> hitsProcessors) {
054 _hitsProcessors = hitsProcessors;
055 }
056
057 private List<HitsProcessor> _hitsProcessors;
058
059 }