1 package com.atlassian.user.search;
2
3 import com.atlassian.user.search.page.Pager;
4 import com.atlassian.user.search.page.PagerFactory;
5
6 import java.util.*;
7
8 public class DefaultSearchResult<T> implements SearchResult<T>
9 {
10 private Map<String, Pager<T>> repoKeyToResults = new LinkedHashMap<String, Pager<T>>();
11
12 public DefaultSearchResult(){}
13
14 public DefaultSearchResult(Pager<T> result, String repositoryKey)
15 {
16 addToResults(repositoryKey, result);
17 }
18
19 public Pager<T> pager()
20 {
21 if (repoKeyToResults.size() == 1)
22 return repoKeyToResults.values().iterator().next();
23 else
24 return PagerFactory.getPager(new ArrayList<Pager<T>>(repoKeyToResults.values()));
25 }
26
27 public void addToResults(String repositoryKey, Pager<T> pager)
28 {
29 repoKeyToResults.put(repositoryKey, pager);
30 }
31
32 public Pager<T> pager(String repoKey)
33 {
34 return repoKeyToResults.get(repoKey);
35 }
36
37
38
39
40 public Set<String> repositoryKeyset()
41 {
42 return repoKeyToResults.keySet();
43 }
44 }