1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.tags;
17
18 import java.io.UnsupportedEncodingException;
19 import java.text.SimpleDateFormat;
20 import java.util.Arrays;
21 import java.util.Collection;
22 import java.util.Date;
23 import java.util.Map;
24
25 import javax.servlet.http.HttpServletRequest;
26
27 import org.seasar.cubby.controller.ThreadContext;
28 import org.seasar.cubby.util.CubbyUtils;
29 import org.seasar.cubby.util.URLBodyEncoder;
30 import org.seasar.framework.exception.IORuntimeException;
31
32
33
34
35
36
37
38 public class CubbyFunctions {
39
40
41
42
43
44
45
46
47
48
49
50 public static Boolean contains(final Object collection, final Object obj) {
51 if (collection instanceof Collection) {
52 return _contains((Collection<?>) collection, obj);
53 } else if (collection != null && collection.getClass().isArray()) {
54 return _contains(Arrays.asList((Object[]) collection), obj);
55 } else {
56 return false;
57 }
58 }
59
60
61
62
63
64
65
66
67
68
69
70 private static Boolean _contains(final Collection<?> collection,
71 final Object obj) {
72 return collection.contains(obj);
73 }
74
75
76
77
78
79
80
81
82
83
84
85 public static Boolean containsKey(final Map<?, ?> map, final Object key) {
86 return map.containsKey(key);
87 }
88
89
90
91
92
93
94
95
96
97
98
99 public static Boolean containsValue(final Map<?, ?> map, final Object value) {
100 return map.containsValue(value);
101 }
102
103
104
105
106
107
108
109
110
111
112
113
114
115 public static String odd(final Integer index, final String classNames) {
116 final String[] c = classNames.split(",");
117 return c[index % c.length];
118 }
119
120
121
122
123
124
125
126
127
128
129
130 public static String out(final Object str) {
131 return str == null ? "" : CubbyUtils.escapeHtml(str.toString());
132 }
133
134
135
136
137
138
139
140
141
142
143
144
145
146 public static String dateFormat(final Object date, final String pattern) {
147 if (date instanceof Date) {
148 final SimpleDateFormat format = new SimpleDateFormat(pattern);
149 return format.format(date);
150 } else {
151 return "";
152 }
153 }
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168 public static Object ifrender(final Boolean condition, final Object value) {
169 if (condition) {
170 return value;
171 }
172 return TagUtils.REMOVE_ATTRIBUTE;
173 }
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192 public static String url(final Object str) {
193 if (str == null) {
194 return "";
195 }
196 final String characterEncoding = ThreadContext.getRequest()
197 .getCharacterEncoding();
198 try {
199 return URLBodyEncoder.encode(str.toString(), characterEncoding);
200 } catch (final UnsupportedEncodingException e) {
201 throw new IORuntimeException(e);
202 }
203 }
204
205 }