1 package com.atlassian.user.search.page;
2
3 import java.util.ArrayList;
4 import java.util.Iterator;
5 import java.util.List;
6
7 public class PagerFactory
8 {
9
10
11
12
13
14 public static <T> Pager<T> getPager(Pager<T> pagerOne, Pager<T> pagerTwo)
15 {
16 if (pagerOne != null && pagerTwo != null)
17 {
18 List<Pager<T>> pagers = new ArrayList<Pager<T>>();
19 pagers.add(pagerOne);
20 pagers.add(pagerTwo);
21 return getPager(pagers);
22 }
23 else if (pagerOne != null)
24 return pagerOne;
25 else if (pagerTwo != null)
26 return pagerTwo;
27 else
28 return DefaultPager.emptyPager();
29 }
30
31 public static <T> Pager<T> getPager(List<Pager<T>> pagers)
32 {
33 for (Iterator it = pagers.iterator(); it.hasNext();)
34 {
35 Pager pager = (Pager) it.next();
36 if (pager == null || pager.isEmpty())
37 it.remove();
38 }
39
40 if (pagers.size() == 0)
41 return DefaultPager.emptyPager();
42
43 if (pagers.size() == 1)
44 return pagers.get(0);
45
46 return new MergedListPager<T>(pagers);
47 }
48 }