1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jxpath.servlet;
17
18 import java.util.Enumeration;
19 import java.util.HashSet;
20
21 import javax.servlet.ServletContext;
22
23 import org.apache.commons.jxpath.DynamicPropertyHandler;
24
25 /***
26 * Implementation of the DynamicPropertyHandler interface that provides
27 * access to attributes of a ServletContext.
28 *
29 * @author Dmitri Plotnikov
30 * @version $Revision: 1.6 $ $Date: 2004/05/08 15:10:49 $
31 */
32 public class ServletContextHandler implements DynamicPropertyHandler {
33
34 private static final String[] STRING_ARRAY = new String[0];
35
36 public String[] getPropertyNames(Object context) {
37 HashSet list = new HashSet(16);
38 collectPropertyNames(list, context);
39 return (String[]) list.toArray(STRING_ARRAY);
40 }
41
42 protected void collectPropertyNames(HashSet set, Object bean) {
43 Enumeration e = ((ServletContext) bean).getAttributeNames();
44 while (e.hasMoreElements()) {
45 set.add(e.nextElement());
46 }
47 }
48
49 public Object getProperty(Object context, String property) {
50 return ((ServletContext) context).getAttribute(property);
51 }
52
53 public void setProperty(Object context, String property, Object value) {
54 ((ServletContext) context).setAttribute(property, value);
55 }
56 }