Author: psteitz
Date: Sun Jan 25 19:28:21 2009
New Revision: 737572

URL: http://svn.apache.org/viewvc?rev=737572&view=rev
Log:
Changed FractionFormat to extend NumberFormat.  JIRA: MATH-189

Modified:
    
commons/proper/math/trunk/src/java/org/apache/commons/math/fraction/FractionFormat.java
    commons/proper/math/trunk/src/site/xdoc/changes.xml
    
commons/proper/math/trunk/src/test/org/apache/commons/math/fraction/FractionFormatTest.java

Modified: 
commons/proper/math/trunk/src/java/org/apache/commons/math/fraction/FractionFormat.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/fraction/FractionFormat.java?rev=737572&r1=737571&r2=737572&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/java/org/apache/commons/math/fraction/FractionFormat.java
 (original)
+++ 
commons/proper/math/trunk/src/java/org/apache/commons/math/fraction/FractionFormat.java
 Sun Jan 25 19:28:21 2009
@@ -19,7 +19,6 @@
 
 import java.io.Serializable;
 import java.text.FieldPosition;
-import java.text.Format;
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.text.ParsePosition;
@@ -36,7 +35,7 @@
  * @since 1.1
  * @version $Revision$ $Date$
  */
-public class FractionFormat extends Format implements Serializable {
+public class FractionFormat extends NumberFormat implements Serializable {
     
     /** Serializable version identifier */
     private static final long serialVersionUID = -6337346779577272306L;
@@ -183,7 +182,7 @@
     }
     
     /**
-     * Formats a object to produce a string.  <code>obj</code> must be either 
a 
+     * Formats an object and appends the result to a StringBuffer. 
<code>obj</code> must be either a 
      * {...@link Fraction} object or a {...@link Number} object.  Any other 
type of
      * object will result in an {...@link IllegalArgumentException} being 
thrown.
      *
@@ -310,17 +309,6 @@
 
         return new Fraction(num.intValue(), den.intValue());
     }
-
-    /**
-     * Parses a string to produce a object.
-     * @param source the string to parse
-     * @param pos input/ouput parsing parameter.
-     * @return the parsed object.
-     * @see java.text.Format#parseObject(java.lang.String, 
java.text.ParsePosition)
-     */
-    public Object parseObject(String source, ParsePosition pos) {
-        return parse(source, pos);
-    }
     
     /**
      * Modify the denominator format.
@@ -388,4 +376,34 @@
          
          return ret;
     }
+
+    /**
+     * Formats a double value as a fraction and appends the result to a 
StringBuffer. 
+     *
+     * @param value the double value to format
+     * @param buffer StringBuffer to append to
+     * @param position On input: an alignment field, if desired. On output: the
+     *            offsets of the alignment field
+     * @return a reference to the appended buffer
+     * @see {...@link #format(Object, StringBuffer, FieldPosition)}
+     */
+    public StringBuffer format(double value, StringBuffer buffer,
+            FieldPosition position) {
+        return format(Double.valueOf(value), buffer, position);
+    }
+
+    
+    /**
+     * Formats a long value as a fraction and appends the result to a 
StringBuffer. 
+     *
+     * @param value the long value to format
+     * @param buffer StringBuffer to append to
+     * @param position On input: an alignment field, if desired. On output: the
+     *            offsets of the alignment field
+     * @return a reference to the appended buffer
+     * @see {...@link #format(Object, StringBuffer, FieldPosition)}
+     */
+    public StringBuffer format(long value, StringBuffer buffer, FieldPosition 
position) {
+        return format(Long.valueOf(value), buffer, position);
+    }
 }

Modified: commons/proper/math/trunk/src/site/xdoc/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/changes.xml?rev=737572&r1=737571&r2=737572&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Sun Jan 25 19:28:21 2009
@@ -38,7 +38,10 @@
     <title>Commons Math Release Notes</title>
   </properties>
   <body>
-    <release version="2.0" date="TBD" description="TBD">   
+    <release version="2.0" date="TBD" description="TBD">
+      <action dev="psteitz" type="update" issue="MATH-189">
+        Changed FractionFormat to extend NumberFormat.
+      </action> 
       <action dev="psteitz" type="update" issue="MATH-242" due-to="Christian 
Semrau">
         Forced symmetry in binomialCoefficientLog and added test cases for 
MathUtils.
       </action>

Modified: 
commons/proper/math/trunk/src/test/org/apache/commons/math/fraction/FractionFormatTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/fraction/FractionFormatTest.java?rev=737572&r1=737571&r2=737572&view=diff
==============================================================================
--- 
commons/proper/math/trunk/src/test/org/apache/commons/math/fraction/FractionFormatTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/org/apache/commons/math/fraction/FractionFormatTest.java
 Sun Jan 25 19:28:21 2009
@@ -289,4 +289,12 @@
         assertEquals(nf, format.getWholeFormat());
         format.setWholeFormat(old);
     }
+    
+    public void testLongFormat() {
+        assertEquals("10 / 1", improperFormat.format(10l));
+    }
+    
+    public void testDoubleFormat() {
+        assertEquals("355 / 113", improperFormat.format(Math.PI));
+    }
 }


Reply via email to