Clover coverage report -
Coverage timestamp: Thu Jul 5 2007 20:02:32 EDT
file stats: LOC: 52   Methods: 2
NCLOC: 18   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ConstructorPersistentReference.java 0% 0% 0% 0%
coverage
 1    /*
 2    * JBoss, Home of Professional Open Source
 3    * Copyright 2005, JBoss Inc., and individual contributors as indicated
 4    * by the @authors tag. See the copyright.txt in the distribution for a
 5    * full listing of individual contributors.
 6    *
 7    * This is free software; you can redistribute it and/or modify it
 8    * under the terms of the GNU Lesser General Public License as
 9    * published by the Free Software Foundation; either version 2.1 of
 10    * the License, or (at your option) any later version.
 11    *
 12    * This software is distributed in the hope that it will be useful,
 13    * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 15    * Lesser General Public License for more details.
 16    *
 17    * You should have received a copy of the GNU Lesser General Public
 18    * License along with this software; if not, write to the Free
 19    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 20    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 21    */
 22   
 23    package org.jboss.cache.pojo.memory;
 24   
 25    import java.lang.reflect.Constructor;
 26   
 27    /**
 28    * This class is not used by JBossSerialization itself, as the constructor used is slightly different (GhostConstructor), but I kept the implementation here as a reference for others.
 29    *
 30    * @author Clebert Suconic
 31    */
 32    public class ConstructorPersistentReference extends ArgumentPersistentReference
 33    {
 34   
 35  0 public ConstructorPersistentReference(Class clazz, Object referencedObject, int referenceType)
 36    {
 37  0 super(clazz, referencedObject, referenceType);
 38  0 this.setArguments(((Constructor) referencedObject).getParameterTypes());
 39    }
 40   
 41  0 public synchronized Object rebuildReference() throws Exception
 42    {
 43    // A reference to guarantee the value is not being GCed during while the value is being rebuilt
 44  0 Object returnValue = null;
 45  0 if ((returnValue = internalGet()) != null) return returnValue;
 46   
 47  0 Constructor constructor = getMappedClass().getConstructor(getArguments());
 48  0 buildReference(constructor);
 49  0 return constructor;
 50    }
 51   
 52    }