1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.ui.admincentral.shellapp.pulse.item.list;
35
36 import info.magnolia.registry.RegistrationException;
37 import info.magnolia.ui.admincentral.shellapp.pulse.item.detail.PulseDetailPresenter;
38 import info.magnolia.ui.admincentral.shellapp.pulse.item.detail.PulseItemCategory;
39 import info.magnolia.ui.api.view.View;
40
41
42
43
44 public abstract class AbstractPulseListPresenter implements PulseListPresenter, PulseDetailPresenter.Listener, PulseListView.Listener {
45
46 protected PulseListContainer container;
47 protected Listener listener;
48
49 protected AbstractPulseListPresenter(PulseListContainer container) {
50 this.container = container;
51 }
52
53 @Override
54 public void setListener(Listener listener) {
55 this.listener = listener;
56 }
57
58 @Override
59 public void showList() {
60 container.refresh();
61 listener.showList();
62 }
63
64 @Override
65 public void setGrouping(boolean checked) {
66 container.setGrouping(checked);
67 }
68
69 @Override
70 public void filterByItemCategory(PulseItemCategory category) {
71 container.filterByItemCategory(category);
72 }
73
74 @Override
75 public abstract PulseItemCategory getCategory();
76
77 @Override
78 public abstract View openItem(String itemId) throws RegistrationException;
79
80 @Override
81 public abstract int getPendingItemCount();
82 }