Clover coverage report - JBind Project
Coverage timestamp: Fr Mai 28 2004 11:17:36 CEST
file stats: LOC: 104   Methods: 13
NCLOC: 77   Classes: 1
This license of Clover is provided to support the development of JBind only. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover.
 
 Source file Conditionals Statements Methods TOTAL
FloatData.java 20% 20,6% 15,4% 19,3%
 1   
 /*
 2   
  * JBind
 3   
  *
 4   
  * Copyright (c) by Stefan Wachter. All rights reserved.
 5   
  *
 6   
  * Usage, modification, and redistribution is subject to license terms that are
 7   
  * available at 'http://www.jbind.org'. The JBind license is like the
 8   
  * 'Apache Software License V 1.1'.
 9   
  */
 10   
 package org.jbind.xml.instance.data;
 11   
 
 12   
 import org.jbind.xml.core.data.IAnyTypeData;
 13   
 import org.jbind.xml.core.data.IFloatData;
 14   
 import org.jbind.xml.core.data.IHasOrder;
 15   
 import org.jbind.xml.msg.IConstraintViolations;
 16   
 import org.jbind.xml.msg.XmlException;
 17   
 import org.jbind.xml.msg.XmlMessages;
 18   
 
 19   
 public class FloatData extends AbstractSimpleData implements IFloatData {
 20   
 
 21   
   private float myValue;
 22   
 
 23  3
   public void doAccept(String aString) throws XmlException {
 24  3
     super.doAccept(aString);
 25  3
     try {
 26  3
       if ("INF".equals(aString)) {
 27  0
         myValue = Float.POSITIVE_INFINITY;
 28  3
       } else if ("-INF".equals(aString)) {
 29  0
         myValue = Float.NEGATIVE_INFINITY;
 30   
       } else {
 31  3
         myValue = Float.parseFloat(aString);
 32   
       }
 33   
     } catch (NumberFormatException e) {
 34  1
       throw new XmlException(XmlMessages.simpleDataConversionException(aString, e, getImpl_()));
 35   
     }
 36   
   }
 37   
 
 38  1
   public float getFloat() {
 39  1
     return myValue;
 40   
   }
 41   
 
 42  0
   public void setFloat(float aNewValue) throws XmlException {
 43  0
     float oldValue = myValue;
 44  0
     myValue = aNewValue;
 45  0
     IConstraintViolations violations = completeSimpleStorageAssignment_();
 46  0
     if (!violations.isEmpty()) {
 47  0
       myValue = oldValue;
 48  0
       throw new XmlException(violations);
 49   
     }
 50   
   }
 51   
 
 52  0
   public String getCanonicalForm_() {
 53  0
     if (myValue == Float.NEGATIVE_INFINITY) {
 54  0
       return "-INF";
 55   
     }
 56  0
     if (myValue == Float.POSITIVE_INFINITY) {
 57  0
       return "INF";
 58   
     }
 59  0
     return Float.toString(myValue);
 60   
   }
 61   
 
 62  0
   public boolean simpleStorageValueEquals(IAnyTypeData aData) {
 63  0
     return (aData instanceof IFloatData) && (Float.floatToIntBits(((IFloatData)aData).getFloat()) == Float.floatToIntBits(myValue));
 64   
   }
 65   
 
 66  0
   public int simpleStorageValueHashCode() {
 67  0
     return Float.floatToIntBits(myValue);
 68   
   }
 69   
 
 70  0
   public Object getSimpleStorageObject() {
 71  0
     return new Float(myValue);
 72   
   }
 73   
 
 74  0
   public void setSimpleStorageObject(Object aValue) {
 75  0
     myValue = ((Float)aValue).floatValue();
 76   
   }
 77   
 
 78  0
   public boolean isEqual(IHasOrder aData) {
 79  0
     float d = ((IFloatData)aData).getFloat();
 80  0
     return myValue == d;
 81   
   }
 82   
 
 83  0
   public boolean isGreater(IHasOrder aData) {
 84  0
     float d = ((IFloatData)aData).getFloat();
 85  0
     return myValue > d;
 86   
   }
 87   
 
 88  0
   public boolean isGreaterOrEqual(IHasOrder aData) {
 89  0
     float d = ((IFloatData)aData).getFloat();
 90  0
     return myValue >= d;
 91   
   }
 92   
 
 93  0
   public boolean isLess(IHasOrder aData) {
 94  0
     float d = ((IFloatData)aData).getFloat();
 95  0
     return myValue < d;
 96   
   }
 97   
 
 98  0
   public boolean isLessOrEqual(IHasOrder aData) {
 99  0
     float d = ((IFloatData)aData).getFloat();
 100  0
     return myValue <= d;
 101   
   }
 102   
 
 103   
 }
 104