Clover coverage report -
Coverage timestamp: Thu Jul 5 2007 20:02:32 EDT
file stats: LOC: 61   Methods: 3
NCLOC: 25   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
FieldPersistentReference.java 33.3% 27.3% 33.3% 30%
coverage 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.Field;
 26   
 27    /**
 28    * Creates a persistentReference for Fields
 29    *
 30    * @author csuconic
 31    */
 32    public class FieldPersistentReference extends PersistentReference
 33    {
 34   
 35    private String name;
 36   
 37  4353 public FieldPersistentReference(Field field, int referenceType)
 38    {
 39  4353 super(field != null ? field.getDeclaringClass() : null, field, referenceType);
 40  4353 if (field != null)
 41  4353 this.name = field.getName();
 42    }
 43   
 44  0 public synchronized Object rebuildReference() throws Exception
 45    {
 46    // A reference to guarantee the value is not being GCed during while the value is being rebuilt
 47  0 Object returnValue = null;
 48  0 if ((returnValue = internalGet()) != null) return returnValue;
 49   
 50  0 Field field = getMappedClass().getDeclaredField(name);
 51  0 field.setAccessible(true);
 52  0 buildReference(field);
 53  0 return field;
 54    }
 55   
 56  0 public Field getField()
 57    {
 58  0 return (Field) get();
 59    }
 60    }
 61