Clover coverage report - XStream - 0.1
Coverage timestamp: Fri Oct 24 2003 13:50:04 BST
file stats: LOC: 35   Methods: 1
NCLOC: 28   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
SunReflectionObjectFactory.java - 45.5% 100% 50%
coverage coverage
 1   
 package com.thoughtworks.xstream.objecttree.reflection;
 2   
 
 3   
 import com.thoughtworks.xstream.objecttree.ObjectAccessException;
 4   
 import sun.reflect.ReflectionFactory;
 5   
 
 6   
 import java.lang.reflect.Constructor;
 7   
 import java.lang.reflect.InvocationTargetException;
 8   
 
 9   
 public class SunReflectionObjectFactory implements ObjectFactory {
 10   
 
 11   
     private ReflectionFactory reflectionFactory = ReflectionFactory.getReflectionFactory();
 12   
 
 13  39
     public Object create(Class type) {
 14  39
         try {
 15  39
             Constructor javaLangObjectConstructor = Object.class.getDeclaredConstructor(new Class[0]);
 16  39
             Constructor customConstructor = reflectionFactory.newConstructorForSerialization(type, javaLangObjectConstructor);
 17  39
             Object newValue = customConstructor.newInstance(new Object[0]);
 18  39
             return newValue;
 19   
         } catch (NoSuchMethodException e) {
 20  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 21   
         } catch (SecurityException e) {
 22  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 23   
         } catch (InstantiationException e) {
 24  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 25   
         } catch (IllegalAccessException e) {
 26  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 27   
         } catch (IllegalArgumentException e) {
 28  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 29   
         } catch (InvocationTargetException e) {
 30  0
             throw new ObjectAccessException("Cannot construct " + type.getName(), e);
 31   
         }
 32   
     }
 33   
 
 34   
 }
 35