##### Coverage Report - org.apache.commons.configuration.web.AppletConfiguration

Classes in this File | Line Coverage | Branch Coverage | Complexity

AppletConfiguration

100% | 13/13

100% | 4/4

1.6666666666666667;1,667

1

     /*

2

      * Licensed to the Apache Software Foundation (ASF) under one or more

3

      * contributor license agreements.  See the NOTICE file distributed with

4

      * this work for additional information regarding copyright ownership.

5

      * The ASF licenses this file to You under the Apache License, Version 2.0

6

      * (the "License"); you may not use this file except in compliance with

7

      * the License.  You may obtain a copy of the License at

8

      *

9

      *     http://www.apache.org/licenses/LICENSE-2.0

10

      *

11

      * Unless required by applicable law or agreed to in writing, software

12

      * distributed under the License is distributed on an "AS IS" BASIS,

13

      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

14

      * See the License for the specific language governing permissions and

15

      * limitations under the License.

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

8

         {

49

8

             this.applet = applet;

50

8

         }

51

52

         public Object getProperty(String key)

53

         {

54

7

             Object value = applet.getParameter(key);

55

7

             if (!isDelimiterParsingDisabled())

56

             {

57

7

                 List list = PropertyConverter.split((String) value, getListDelimiter());

58

7

                 value = list.size() > 1 ? list : value;

59

             }

60

61

7

             return value;

62

         }

63

64

         public Iterator getKeys()

65

         {

66

3

             String[][] paramsInfo = applet.getParameterInfo();

67

3

             String[] keys = new String[paramsInfo != null ? paramsInfo.length : 0];

68

9

             for (int i = 0; i < keys.length; i++)

69

             {

70

6

                 keys[i] = paramsInfo[i][0];

71

             }

72

73

3

             return new ArrayIterator(keys);

74

         }

75

     }