]> source.dussan.org Git - archiva.git/blob
49de894c73388f9e84294c2b646efe1827b4cc5e
[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 totalHitsMapSize;
40
41     private int returnedHitsCount;
42
43     private SearchResultLimits limits;
44
45     public SearchResults()
46     {
47         /* do nothing */
48     }
49
50     // for new RepositorySearch
51     public void addHit( String id, SearchResultHit hit )
52     {
53         hits.put( id, hit );
54     }
55
56     /**
57      * Get the list of {@link SearchResultHit} objects.
58      *
59      * @return the list of {@link SearchResultHit} objects.
60      */
61     public List<SearchResultHit> getHits()
62     {
63         return new ArrayList<SearchResultHit>( hits.values() );
64     }
65
66     /**
67      * see SearchUtil on how to generate the key
68      *
69      * @param key
70      * @return
71      */
72     public SearchResultHit getSearchResultHit( String key )
73     {
74         return hits.get( key );
75     }
76
77     public Map<String, SearchResultHit> getHitsMap()
78     {
79         return hits;
80     }
81
82     public boolean isEmpty()
83     {
84         return hits.isEmpty();
85     }
86
87     public SearchResultLimits getLimits()
88     {
89         return limits;
90     }
91
92     public void setLimits( SearchResultLimits limits )
93     {
94         this.limits = limits;
95     }
96
97     public int getTotalHits()
98     {
99         return totalHits;
100     }
101
102     public void setTotalHits( int totalHits )
103     {
104         this.totalHits = totalHits;
105     }
106
107     /**
108      * @return
109      * @since 1.4-M1
110      */
111     public int getReturnedHitsCount()
112     {
113         return returnedHitsCount;
114     }
115
116     /**
117      * @param returnedHitsCount
118      * @since 1.4-M1
119      */
120     public void setReturnedHitsCount( int returnedHitsCount )
121     {
122         this.returnedHitsCount = returnedHitsCount;
123     }
124
125     /**
126      * @return
127      * @since 1.4-M1
128      */
129     public int getTotalHitsMapSize()
130     {
131         return totalHitsMapSize;
132     }
133
134     /**
135      * @param totalHitsMapSize
136      * @since 1.4-M1
137      */
138     public void setTotalHitsMapSize( int totalHitsMapSize )
139     {
140         this.totalHitsMapSize = totalHitsMapSize;
141     }
142
143     @Override
144     public String toString()
145     {
146         return "SearchResults{" + "hits=" + hits + ", totalHits=" + totalHits + ", returnedHitsCount="
147             + returnedHitsCount + ", limits=" + limits + '}';
148     }
149 }