]> source.dussan.org Git - archiva.git/blob
9dc650fdc7618a65984c5eb93a474d080a333a19
[archiva.git] /
1 package org.apache.archiva.indexer.search;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27
28 /**
29  * SearchResults
30  *
31  */
32 public class SearchResults
33 {
34     private Map<String, SearchResultHit> hits = new HashMap<>();
35
36     private int totalHits;
37
38     private int totalHitsMapSize;
39
40     private int returnedHitsCount;
41
42     private SearchResultLimits limits;
43
44     public SearchResults()
45     {
46         /* do nothing */
47     }
48
49     // for new RepositorySearch
50     public void addHit( String id, SearchResultHit hit )
51     {
52         hits.put( id, hit );
53     }
54
55     /**
56      * Get the list of {@link SearchResultHit} objects.
57      *
58      * @return the list of {@link SearchResultHit} objects.
59      */
60     public List<SearchResultHit> getHits()
61     {
62         return new ArrayList<>( hits.values() );
63     }
64
65     /**
66      * see SearchUtil on how to generate the key
67      *
68      * @param key
69      * @return
70      */
71     public SearchResultHit getSearchResultHit( String key )
72     {
73         return hits.get( key );
74     }
75
76     public Map<String, SearchResultHit> getHitsMap()
77     {
78         return hits;
79     }
80
81     public boolean isEmpty()
82     {
83         return hits.isEmpty();
84     }
85
86     public SearchResultLimits getLimits()
87     {
88         return limits;
89     }
90
91     public void setLimits( SearchResultLimits limits )
92     {
93         this.limits = limits;
94     }
95
96     public int getTotalHits()
97     {
98         return totalHits;
99     }
100
101     public void setTotalHits( int totalHits )
102     {
103         this.totalHits = totalHits;
104     }
105
106     /**
107      * @return
108      * @since 1.4-M1
109      */
110     public int getReturnedHitsCount()
111     {
112         return returnedHitsCount;
113     }
114
115     /**
116      * @param returnedHitsCount
117      * @since 1.4-M1
118      */
119     public void setReturnedHitsCount( int returnedHitsCount )
120     {
121         this.returnedHitsCount = returnedHitsCount;
122     }
123
124     /**
125      * @return
126      * @since 1.4-M1
127      */
128     public int getTotalHitsMapSize()
129     {
130         return totalHitsMapSize;
131     }
132
133     /**
134      * @param totalHitsMapSize
135      * @since 1.4-M1
136      */
137     public void setTotalHitsMapSize( int totalHitsMapSize )
138     {
139         this.totalHitsMapSize = totalHitsMapSize;
140     }
141
142     @Override
143     public String toString()
144     {
145         return "SearchResults{" + "hits=" + hits + ", totalHits=" + totalHits + ", returnedHitsCount="
146             + returnedHitsCount + ", limits=" + limits + '}';
147     }
148 }