1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.component;
20
21 import java.util.HashMap;
22 import java.util.Map;
23 import javax.faces.component.UIComponent;
24
25
26
27
28
29 class _CommonEventConstants
30 {
31 public static final String COMMON_EVENTS_MARKED = "oam.COMMON_EVENTS_MARKED";
32
33 public static final long ACTION_EVENT = 0x1L;
34 public static final long CLICK_EVENT = 0x2L;
35 public static final long DBLCLICK_EVENT = 0x4L;
36 public static final long MOUSEDOWN_EVENT = 0x8L;
37 public static final long MOUSEUP_EVENT = 0x10L;
38 public static final long MOUSEOVER_EVENT = 0x20L;
39 public static final long MOUSEMOVE_EVENT = 0x40L;
40 public static final long MOUSEOUT_EVENT = 0x80L;
41 public static final long KEYPRESS_EVENT = 0x100L;
42 public static final long KEYDOWN_EVENT = 0x200L;
43 public static final long KEYUP_EVENT = 0x400L;
44 public static final long FOCUS_EVENT = 0x800L;
45 public static final long BLUR_EVENT = 0x1000L;
46 public static final long SELECT_EVENT = 0x2000L;
47 public static final long CHANGE_EVENT = 0x4000L;
48 public static final long VALUECHANGE_EVENT = 0x8000L;
49 public static final long LOAD_EVENT = 0x10000L;
50 public static final long UNLOAD_EVENT = 0x20000L;
51
52 public static final Map<String, Long> COMMON_EVENTS_KEY_BY_NAME = new HashMap<String, Long>(24,1);
53
54 static
55 {
56
57 COMMON_EVENTS_KEY_BY_NAME.put("change", CHANGE_EVENT);
58 COMMON_EVENTS_KEY_BY_NAME.put("select", SELECT_EVENT);
59 COMMON_EVENTS_KEY_BY_NAME.put("click", CLICK_EVENT);
60 COMMON_EVENTS_KEY_BY_NAME.put("dblclick", DBLCLICK_EVENT);
61 COMMON_EVENTS_KEY_BY_NAME.put("mousedown",MOUSEDOWN_EVENT);
62 COMMON_EVENTS_KEY_BY_NAME.put("mouseup", MOUSEUP_EVENT);
63 COMMON_EVENTS_KEY_BY_NAME.put("mouseover",MOUSEOVER_EVENT);
64 COMMON_EVENTS_KEY_BY_NAME.put("mousemove",MOUSEMOVE_EVENT);
65 COMMON_EVENTS_KEY_BY_NAME.put("mouseout", MOUSEOUT_EVENT);
66 COMMON_EVENTS_KEY_BY_NAME.put("keypress", KEYPRESS_EVENT);
67 COMMON_EVENTS_KEY_BY_NAME.put("keydown", KEYDOWN_EVENT);
68 COMMON_EVENTS_KEY_BY_NAME.put("keyup", KEYUP_EVENT);
69 COMMON_EVENTS_KEY_BY_NAME.put("focus", FOCUS_EVENT);
70 COMMON_EVENTS_KEY_BY_NAME.put("blur", BLUR_EVENT);
71 COMMON_EVENTS_KEY_BY_NAME.put("load", LOAD_EVENT);
72 COMMON_EVENTS_KEY_BY_NAME.put("unload", UNLOAD_EVENT);
73
74 COMMON_EVENTS_KEY_BY_NAME.put("valueChange", VALUECHANGE_EVENT);
75 COMMON_EVENTS_KEY_BY_NAME.put("action", ACTION_EVENT);
76 }
77
78 public static void markEvent(UIComponent component, String name)
79 {
80 Long propertyConstant = COMMON_EVENTS_KEY_BY_NAME.get(name);
81 if (propertyConstant == null)
82 {
83 return;
84 }
85 Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_EVENTS_MARKED);
86 if (commonPropertiesSet == null)
87 {
88 commonPropertiesSet = 0L;
89 }
90 component.getAttributes().put(COMMON_EVENTS_MARKED, commonPropertiesSet | propertyConstant);
91 }
92 }