Clover coverage report -
Coverage timestamp: Thu Jul 5 2007 20:02:32 EDT
file stats: LOC: 102   Methods: 9
NCLOC: 67   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
EvictionPolicyConfigBase.java 16.7% 70% 88.9% 65.7%
coverage coverage
 1    package org.jboss.cache.eviction;
 2   
 3    import org.jboss.cache.config.ConfigurationComponent;
 4    import org.jboss.cache.config.ConfigurationException;
 5    import org.jboss.cache.config.Dynamic;
 6    import org.jboss.cache.config.EvictionPolicyConfig;
 7   
 8    /**
 9    * Base implementation of {@link EvictionPolicyConfig}. Adds properties
 10    * for the most commonly used config elements.
 11    *
 12    * @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
 13    */
 14    public abstract class EvictionPolicyConfigBase
 15    extends ConfigurationComponent
 16    implements EvictionPolicyConfig
 17    {
 18    /** The serialVersionUID */
 19    private static final long serialVersionUID = 4591691674370188932L;
 20   
 21    private String evictionPolicyClass;
 22    @Dynamic
 23    private int maxNodes = 0;
 24   
 25    /**
 26    * Can only be instantiated by a subclass.
 27    *
 28    * Calls {@link #setEvictionPolicyClassName()}.
 29    */
 30  3079 protected EvictionPolicyConfigBase()
 31    {
 32  3079 setEvictionPolicyClassName();
 33    }
 34   
 35  1170 public String getEvictionPolicyClass()
 36    {
 37  1170 return evictionPolicyClass;
 38    }
 39   
 40  9119 public void setEvictionPolicyClass(String evictionPolicyClass)
 41    {
 42  9119 testImmutability("evictionPolicyClass");
 43  9119 this.evictionPolicyClass = evictionPolicyClass;
 44    }
 45   
 46  87759 public int getMaxNodes()
 47    {
 48  87759 return maxNodes;
 49    }
 50   
 51  6169 public void setMaxNodes(int maxNodes)
 52    {
 53  6169 testImmutability("maxNodes");
 54  6169 this.maxNodes = maxNodes;
 55    }
 56   
 57  67 public void validate() throws ConfigurationException
 58    {
 59    // no-op
 60    }
 61   
 62  0 @Override
 63    public boolean equals(Object obj)
 64    {
 65  0 if (this == obj)
 66  0 return true;
 67   
 68  0 if (obj instanceof EvictionPolicyConfigBase)
 69    {
 70  0 EvictionPolicyConfigBase other = (EvictionPolicyConfigBase) obj;
 71   
 72  0 return this.maxNodes == other.maxNodes
 73    && safeEquals(this.evictionPolicyClass, other.evictionPolicyClass);
 74    }
 75   
 76  0 return false;
 77    }
 78   
 79  4214 @Override
 80    public int hashCode()
 81    {
 82  4214 int result = 17;
 83  4214 result = 31 * result + maxNodes;
 84  4214 result = 31 * result + (evictionPolicyClass == null ? 0 : evictionPolicyClass.hashCode());
 85  4214 return result;
 86    }
 87   
 88  3009 public void reset()
 89    {
 90  3009 setEvictionPolicyClass(null);
 91  3009 setMaxNodes(0);
 92  3009 setEvictionPolicyClassName();
 93    }
 94   
 95    /**
 96    * This method should be overridden by subclass implementers to set the default
 97    * {@link #setEvictionPolicyClass(String) policy class name} for the subclass.
 98    * This will be called when the implementation is constructed, but is also
 99    * called in {@link #reset()}.
 100    */
 101    abstract protected void setEvictionPolicyClassName();
 102    }