This project has retired. For details please refer to its Attic page.
Source code
001package org.apache.archiva.indexer.search;
002
003/*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements.  See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership.  The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License.  You may obtain a copy of the License at
011 *
012 *  http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied.  See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022import java.util.ArrayList;
023import java.util.HashMap;
024import java.util.List;
025import java.util.Map;
026
027
028/**
029 * SearchResults
030 *
031 */
032public class SearchResults
033{
034    private Map<String, SearchResultHit> hits = new HashMap<>();
035
036    private int totalHits;
037
038    private int totalHitsMapSize;
039
040    private int returnedHitsCount;
041
042    private SearchResultLimits limits;
043
044    public SearchResults()
045    {
046        /* do nothing */
047    }
048
049    // for new RepositorySearch
050    public void addHit( String id, SearchResultHit hit )
051    {
052        hits.put( id, hit );
053    }
054
055    /**
056     * Get the list of {@link SearchResultHit} objects.
057     *
058     * @return the list of {@link SearchResultHit} objects.
059     */
060    public List<SearchResultHit> getHits()
061    {
062        return new ArrayList<>( hits.values() );
063    }
064
065    /**
066     * see SearchUtil on how to generate the key
067     *
068     * @param key
069     * @return
070     */
071    public SearchResultHit getSearchResultHit( String key )
072    {
073        return hits.get( key );
074    }
075
076    public Map<String, SearchResultHit> getHitsMap()
077    {
078        return hits;
079    }
080
081    public boolean isEmpty()
082    {
083        return hits.isEmpty();
084    }
085
086    public SearchResultLimits getLimits()
087    {
088        return limits;
089    }
090
091    public void setLimits( SearchResultLimits limits )
092    {
093        this.limits = limits;
094    }
095
096    public int getTotalHits()
097    {
098        return totalHits;
099    }
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}