EMMA Coverage Report (generated Tue Feb 12 22:23:49 ICT 2008)
[all classes][net.sourceforge.hivegui.application]

COVERAGE SUMMARY FOR SOURCE FILE [EnumConverter.java]

nameclass, %method, %block, %line, %
EnumConverter.java0%   (0/1)0%   (0/3)0%   (0/61)0%   (0/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class EnumConverter0%   (0/1)0%   (0/3)0%   (0/61)0%   (0/14)
EnumConverter (): void 0%   (0/1)0%   (0/4)0%   (0/2)
parseString (String, ResourceMap): Object 0%   (0/1)0%   (0/54)0%   (0/11)
supportsType (Class): boolean 0%   (0/1)0%   (0/3)0%   (0/1)

1//  Copyright 2004-2007 Jean-Francois Poilpret
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14 
15package net.sourceforge.hivegui.application;
16 
17import org.jdesktop.application.ResourceConverter;
18import org.jdesktop.application.ResourceMap;
19 
20public class EnumConverter extends ResourceConverter
21{
22        public EnumConverter()
23        {
24                super(Enum.class);
25        }
26        
27        @Override public boolean supportsType(Class testType)
28        {
29                return testType.isEnum();
30        }
31        
32        @Override public Object parseString(String s, ResourceMap r)
33                throws ResourceConverterException
34        {
35                // CSOFF: IllegalCatchCheck
36                try
37                {
38                        // Split s into: enum class.enum value
39                        int index = s.lastIndexOf(".");
40                        String clazz = s.substring(0, index);
41                        String expected = s.substring(index + 1);
42                        Class enumClass = Class.forName(clazz);
43                        Object[] values = enumClass.getEnumConstants();
44                        for (Object value: values)
45                        {
46                                if (value.toString().equals(expected))
47                                {
48                                        return value;
49                                }
50                        }
51                        return null;
52                }
53                catch (Exception e)
54                {
55                        throw new ResourceConverterException("value must be EnumClass.EnumValue", s, e);
56                }
57                // CSON: IllegalCatchCheck
58        }
59}

[all classes][net.sourceforge.hivegui.application]
EMMA 2.0.5312 (C) Vladimir Roubtsov