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
24 import javax.faces.component.UIComponent;
25
26
27
28
29
30
31
32
33
34
35
36
37 class _CommonPropertyConstants
38 {
39 public static final String COMMON_PROPERTIES_MARKED = "oam.COMMON_PROPERTIES_MARKED";
40
41
42 public static final long STYLE_PROP = 0x1L;
43 public static final long STYLECLASS_PROP = 0x2L;
44
45
46
47 public static final long DIR_PROP = 0x4L;
48 public static final long LANG_PROP = 0x8L;
49 public static final long TITLE_PROP = 0x10L;
50
51
52 public static final long ESCAPE_PROP = 0x20L;
53
54
55
56 public static final long DISABLED_PROP = 0x40L;
57 public static final long ENABLED_PROP = 0x80L;
58 public static final long READONLY_PROP = 0x100L;
59
60
61 public static final long ACCESSKEY_PROP = 0x200L;
62
63
64 public static final long ALT_PROP = 0x400L;
65
66
67 public static final long ONCHANGE_PROP = 0x800L;
68 public static final long ONSELECT_PROP = 0x1000L;
69
70
71 public static final long ONCLICK_PROP = 0x2000L;
72 public static final long ONDBLCLICK_PROP = 0x4000L;
73 public static final long ONMOUSEDOWN_PROP = 0x8000L;
74 public static final long ONMOUSEUP_PROP = 0x10000L;
75 public static final long ONMOUSEOVER_PROP = 0x20000L;
76 public static final long ONMOUSEMOVE_PROP = 0x40000L;
77 public static final long ONMOUSEOUT_PROP = 0x80000L;
78 public static final long ONKEYPRESS_PROP = 0x100000L;
79 public static final long ONKEYDOWN_PROP = 0x200000L;
80 public static final long ONKEYUP_PROP = 0x400000L;
81
82
83 public static final long ONFOCUS_PROP = 0x800000L;
84 public static final long ONBLUR_PROP = 0x1000000L;
85
86
87 public static final long LABEL_PROP = 0x2000000L;
88
89
90 public static final long CHARSET_PROP = 0x4000000L;
91 public static final long COORDS_PROP = 0x8000000L;
92 public static final long HREFLANG_PROP = 0x10000000L;
93 public static final long REL_PROP = 0x20000000L;
94 public static final long REV_PROP = 0x40000000L;
95 public static final long SHAPE_PROP = 0x80000000L;
96 public static final long TARGET_PROP = 0x100000000L;
97 public static final long TYPE_PROP = 0x200000000L;
98
99
100 public static final long TABINDEX_PROP = 0x400000000L;
101
102
103 public static final long ALIGN_PROP = 0x800000000L;
104 public static final long CHECKED_PROP = 0x1000000000L;
105 public static final long MAXLENGTH_PROP = 0x2000000000L;
106 public static final long SIZE_PROP = 0x4000000000L;
107
108 public static final Map<String, Long> COMMON_PROPERTIES_KEY_BY_NAME = new HashMap<String, Long>(64,1);
109
110 static
111 {
112 COMMON_PROPERTIES_KEY_BY_NAME.put("style", STYLE_PROP);
113
114 COMMON_PROPERTIES_KEY_BY_NAME.put("styleClass", STYLECLASS_PROP);
115
116
117
118 COMMON_PROPERTIES_KEY_BY_NAME.put("dir", DIR_PROP);
119 COMMON_PROPERTIES_KEY_BY_NAME.put("lang", LANG_PROP);
120 COMMON_PROPERTIES_KEY_BY_NAME.put("title", TITLE_PROP);
121
122
123 COMMON_PROPERTIES_KEY_BY_NAME.put("escape", ESCAPE_PROP);
124
125
126
127 COMMON_PROPERTIES_KEY_BY_NAME.put("disabled", DISABLED_PROP);
128 COMMON_PROPERTIES_KEY_BY_NAME.put("enabled", ENABLED_PROP);
129 COMMON_PROPERTIES_KEY_BY_NAME.put("readonly", READONLY_PROP);
130
131
132 COMMON_PROPERTIES_KEY_BY_NAME.put("accesskey", ACCESSKEY_PROP);
133
134
135 COMMON_PROPERTIES_KEY_BY_NAME.put("alt", ALT_PROP);
136
137
138 COMMON_PROPERTIES_KEY_BY_NAME.put("onchange", ONCHANGE_PROP);
139 COMMON_PROPERTIES_KEY_BY_NAME.put("onselect", ONSELECT_PROP);
140
141
142 COMMON_PROPERTIES_KEY_BY_NAME.put("onclick", ONCLICK_PROP);
143 COMMON_PROPERTIES_KEY_BY_NAME.put("ondblclick", ONDBLCLICK_PROP);
144 COMMON_PROPERTIES_KEY_BY_NAME.put("onmousedown",ONMOUSEDOWN_PROP);
145 COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseup", ONMOUSEUP_PROP);
146 COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseover",ONMOUSEOVER_PROP);
147 COMMON_PROPERTIES_KEY_BY_NAME.put("onmousemove",ONMOUSEMOVE_PROP);
148 COMMON_PROPERTIES_KEY_BY_NAME.put("onmouseout", ONMOUSEOUT_PROP);
149 COMMON_PROPERTIES_KEY_BY_NAME.put("onkeypress", ONKEYPRESS_PROP);
150 COMMON_PROPERTIES_KEY_BY_NAME.put("onkeydown", ONKEYDOWN_PROP);
151 COMMON_PROPERTIES_KEY_BY_NAME.put("onkeyup", ONKEYUP_PROP);
152
153
154 COMMON_PROPERTIES_KEY_BY_NAME.put("onfocus", ONFOCUS_PROP);
155 COMMON_PROPERTIES_KEY_BY_NAME.put("onblur", ONBLUR_PROP);
156
157
158 COMMON_PROPERTIES_KEY_BY_NAME.put("label", LABEL_PROP);
159
160
161 COMMON_PROPERTIES_KEY_BY_NAME.put("charset", CHARSET_PROP);
162 COMMON_PROPERTIES_KEY_BY_NAME.put("coords", COORDS_PROP);
163 COMMON_PROPERTIES_KEY_BY_NAME.put("hreflang", HREFLANG_PROP);
164 COMMON_PROPERTIES_KEY_BY_NAME.put("rel", REL_PROP);
165 COMMON_PROPERTIES_KEY_BY_NAME.put("rev", REV_PROP);
166 COMMON_PROPERTIES_KEY_BY_NAME.put("shape", SHAPE_PROP);
167 COMMON_PROPERTIES_KEY_BY_NAME.put("target", TARGET_PROP);
168 COMMON_PROPERTIES_KEY_BY_NAME.put("type", TYPE_PROP);
169
170
171 COMMON_PROPERTIES_KEY_BY_NAME.put("tabindex", TABINDEX_PROP);
172
173
174 COMMON_PROPERTIES_KEY_BY_NAME.put("align", ALIGN_PROP);
175 COMMON_PROPERTIES_KEY_BY_NAME.put("checked", CHECKED_PROP);
176 COMMON_PROPERTIES_KEY_BY_NAME.put("maxlength", MAXLENGTH_PROP);
177 COMMON_PROPERTIES_KEY_BY_NAME.put("size", SIZE_PROP);
178 }
179
180 public static void markProperty(UIComponent component, String name)
181 {
182 Long propertyConstant = COMMON_PROPERTIES_KEY_BY_NAME.get(name);
183 if (propertyConstant == null)
184 {
185 return;
186 }
187 Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
188 if (commonPropertiesSet == null)
189 {
190 commonPropertiesSet = 0L;
191 }
192 component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
193 }
194
195 public static void markProperty(UIComponent component, long propertyConstant)
196 {
197 Long commonPropertiesSet = (Long) component.getAttributes().get(COMMON_PROPERTIES_MARKED);
198 if (commonPropertiesSet == null)
199 {
200 commonPropertiesSet = 0L;
201 }
202 component.getAttributes().put(COMMON_PROPERTIES_MARKED, commonPropertiesSet | propertyConstant);
203 }
204 }