1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.configuration.web;
19
20 import java.applet.Applet;
21 import java.util.Iterator;
22 import java.util.List;
23
24 import org.apache.commons.collections.iterators.ArrayIterator;
25 import org.apache.commons.configuration.PropertyConverter;
26
27 /***
28 * A configuration wrapper to read applet parameters. This configuration is
29 * read only, adding or removing a property will throw an
30 * UnsupportedOperationException.
31 *
32 * @author <a href="mailto:ebourg@apache.org">Emmanuel Bourg</a>
33 * @version $Revision: 439648 $, $Date: 2006-09-02 22:42:10 +0200 (Sa, 02 Sep 2006) $
34 * @since 1.1
35 */
36 public class AppletConfiguration extends BaseWebConfiguration
37 {
38 /*** Stores the wrapped applet.*/
39 protected Applet applet;
40
41 /***
42 * Create an AppletConfiguration using the initialization parameters of
43 * the specified Applet.
44 *
45 * @param applet the applet
46 */
47 public AppletConfiguration(Applet applet)
48 {
49 this.applet = applet;
50 }
51
52 public Object getProperty(String key)
53 {
54 Object value = applet.getParameter(key);
55 if (!isDelimiterParsingDisabled())
56 {
57 List list = PropertyConverter.split((String) value, getListDelimiter());
58 value = list.size() > 1 ? list : value;
59 }
60
61 return value;
62 }
63
64 public Iterator getKeys()
65 {
66 String[][] paramsInfo = applet.getParameterInfo();
67 String[] keys = new String[paramsInfo != null ? paramsInfo.length : 0];
68 for (int i = 0; i < keys.length; i++)
69 {
70 keys[i] = paramsInfo[i][0];
71 }
72
73 return new ArrayIterator(keys);
74 }
75 }