]> source.dussan.org Git - archiva.git/blob
980a3d2169ac86964d5798df565629ea21968060
[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  * @version $Id: SearchResults.java 742859 2009-02-10 05:35:05Z jdumay $
32  */
33 public class SearchResults
34 {
35     private Map<String, SearchResultHit> hits = new HashMap<String, SearchResultHit>();
36
37     private int totalHits;
38
39     private int returnedHitsCount;
40
41     private SearchResultLimits limits;
42
43     public SearchResults()
44     {
45         /* do nothing */
46     }
47
48     // for new RepositorySearch
49     public void addHit( String id, SearchResultHit hit )
50     {
51         hits.put( id, hit );
52     }
53
54     /**
55      * Get the list of {@link SearchResultHit} objects.
56      *
57      * @return the list of {@link SearchResultHit} objects.
58      */
59     public List<SearchResultHit> getHits()
60     {
61         return new ArrayList<SearchResultHit>( hits.values() );
62     }
63
64     /**
65      * see SearchUtil on how to generate the key
66      *
67      * @param key
68      * @return
69      */
70     public SearchResultHit getSearchResultHit( String key )
71     {
72         return hits.get( key );
73     }
74
75     public Map<String, SearchResultHit> getHitsMap()
76     {
77         return hits;
78     }
79
80     public boolean isEmpty()
81     {
82         return hits.isEmpty();
83     }
84
85     public SearchResultLimits getLimits()
86     {
87         return limits;
88     }
89
90     public void setLimits( SearchResultLimits limits )
91     {
92         this.limits = limits;
93     }
94
95     public int getTotalHits()
96     {
97         return totalHits;
98     }
99
100     public void setTotalHits( int totalHits )
101     {
102         this.totalHits = totalHits;
103     }
104
105     /**
106      * @return
107      * @since 1.4-M1
108      */
109     public int getReturnedHitsCount()
110     {
111         return returnedHitsCount;
112     }
113
114     /**
115      * @param returnedHitsCount
116      * @since 1.4-M1
117      */
118     public void setReturnedHitsCount( int returnedHitsCount )
119     {
120         this.returnedHitsCount = returnedHitsCount;
121     }
122
123     @Override
124     public String toString()
125     {
126         return "SearchResults{" + "hits=" + hits + ", totalHits=" + totalHits + ", returnedHitsCount="
127             + returnedHitsCount + ", limits=" + limits + '}';
128     }
129 }