1
2
3
4
5 package org.rcfaces.core.event;
6
7 import java.util.Comparator;
8
9 import javax.faces.component.UIComponent;
10 import javax.faces.context.FacesContext;
11 import javax.faces.event.ActionEvent;
12 import javax.faces.event.FacesListener;
13
14
15
16
17
18 public class SortEvent extends ActionEvent {
19 private static final String REVISION = "$Revision: 1.18 $";
20
21 private static final long serialVersionUID = -2421248938907618744L;
22
23 private final Object dataModel;
24
25 private Comparator sortComparator;
26
27 private ISortConverter sortConverter;
28
29 public SortEvent(UIComponent component) {
30 this(component, null);
31 }
32
33 public SortEvent(UIComponent component, Object dataModel) {
34 super(component);
35 this.dataModel = dataModel;
36 }
37
38 public boolean isAppropriateListener(FacesListener listener) {
39 return (listener instanceof ISortListener);
40 }
41
42 public void processListener(FacesListener listener) {
43 ((ISortListener) listener).processSort(this);
44 }
45
46 public void setSortComparator(Comparator comparator) {
47 this.sortComparator = comparator;
48 }
49
50 public Comparator getSortComparator() {
51 return sortComparator;
52 }
53
54 public final ISortConverter getSortConverter() {
55 return sortConverter;
56 }
57
58 public final void setSortConverter(ISortConverter converter) {
59 this.sortConverter = converter;
60 }
61
62 public final Object getDataModel() {
63 return dataModel;
64 }
65
66
67
68
69
70
71 public interface ISortConverter {
72 Object convertValue(FacesContext facesContext, UIComponent component,
73 Object value);
74 }
75 }