KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > configuration > web > AppletConfiguration


1 /*
2  * Copyright 2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License")
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.configuration.web;
18
19 import java.applet.Applet JavaDoc;
20 import java.util.Iterator JavaDoc;
21 import java.util.List JavaDoc;
22
23 import org.apache.commons.collections.iterators.ArrayIterator;
24 import org.apache.commons.configuration.AbstractConfiguration;
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: 155408 $, $Date: 2005-02-26 13:56:39 +0100 (Sa, 26 Feb 2005) $
34  * @since 1.1
35  */

36 public class AppletConfiguration extends AbstractConfiguration
37 {
38     protected Applet JavaDoc applet;
39
40     /**
41      * Create an AppletConfiguration using the initialization parameters of
42      * the specified Applet.
43      *
44      * @param applet
45      */

46     public AppletConfiguration(Applet JavaDoc applet)
47     {
48         this.applet = applet;
49     }
50
51     public Object JavaDoc getProperty(String JavaDoc key)
52     {
53         Object JavaDoc value = applet.getParameter(key);
54         List JavaDoc list = PropertyConverter.split((String JavaDoc) value, getDelimiter());
55
56         return list.size() > 1 ? list : value;
57     }
58
59     /**
60      * <p><strong>This operation is not supported and will throw an
61      * UnsupportedOperationException.</strong></p>
62      *
63      * @throws UnsupportedOperationException
64      */

65     protected void addPropertyDirect(String JavaDoc key, Object JavaDoc obj)
66     {
67         throw new UnsupportedOperationException JavaDoc("Read only configuration");
68     }
69
70     public boolean isEmpty()
71     {
72         return !getKeys().hasNext();
73     }
74
75     public boolean containsKey(String JavaDoc key)
76     {
77         return getProperty(key) != null;
78     }
79
80     /**
81      * <p><strong>This operation is not supported and will throw an
82      * UnsupportedOperationException.</strong></p>
83      *
84      * @throws UnsupportedOperationException
85      */

86     public void clearProperty(String JavaDoc key)
87     {
88         throw new UnsupportedOperationException JavaDoc("Read only configuration");
89     }
90
91     public Iterator JavaDoc getKeys()
92     {
93         String JavaDoc[][] paramsInfo = applet.getParameterInfo();
94         String JavaDoc[] keys = new String JavaDoc[paramsInfo != null ? paramsInfo.length : 0];
95         for (int i = 0; i < keys.length; i++)
96         {
97             keys[i] = paramsInfo[i][0];
98         }
99
100         return new ArrayIterator(keys);
101     }
102 }
103
Popular Tags