bayard      2004/06/23 21:20:46

  Modified:    lang/src/java/org/apache/commons/lang/mutable
                        MutableByte.java MutableDouble.java
                        MutableFloat.java MutableInteger.java
                        MutableLong.java MutableNumber.java
                        MutableShort.java
  Log:
  rolled back the Mutable change. It doubled the size of a mutable instance, and as it 
wrapped another object, doubled the work for garbage collection
  
  Revision  Changes    Path
  1.3       +27 -3     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableByte.java
  
  Index: MutableByte.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableByte.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableByte.java  13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableByte.java  24 Jun 2004 04:20:46 -0000      1.3
  @@ -24,20 +24,44 @@
   public class MutableByte extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private byte value;
  +    
  +    /**
        * Instantiates with the specified value
        * @param value a value.
        */
       public MutableByte(byte value) {
           super();
  -        setValue(new Byte(value));
  +        this.value = value;
       }
   
       public void setValue(byte value) {
  -        setValue(new Byte(value));
  +        this.value = value;
  +    }
  +
  +    public long longValue() {
  +        return this.value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public int intValue() {
  +        return this.value;
  +    }
  +
  +    /**
  +     * @return a <code>Byte</code>
  +     */
  +    public Object getValue() {
  +        return new Byte(this.value);
       }
   
       /**
  -     * @param value a <code>Number</code>
  +     * @param value a <code>Byte</code>
        */
       public void setValue(Object value) {
           setValue(((Number)value).byteValue());
  
  
  
  1.3       +24 -6     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableDouble.java
  
  Index: MutableDouble.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableDouble.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableDouble.java        13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableDouble.java        24 Jun 2004 04:20:46 -0000      1.3
  @@ -16,7 +16,7 @@
   package org.apache.commons.lang.mutable;
   
   /**
  - * A mutable <code>Double</code>.
  + * A mutable <code>Double</code>
    * 
    * @since 2.1
    * @version $Id$
  @@ -24,21 +24,39 @@
   public class MutableDouble extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private double value;
  +
  +    /**
        * Instantiates with the specified value
        * @param value a value.
        */
       public MutableDouble(double value) {
           super();
  -        setValue(new Double(value));
  +        this.value = value;
       }
   
       public void setValue(double value) {
  -        setValue(new Double(value));
  +        this.value = value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public long longValue() {
  +        return (long)this.value;
  +    }
  +
  +    public int intValue() {
  +        return (int)this.value;
  +    }
  +
  +    public Object getValue() {
  +        return new Double(this.value);
       }
   
  -    /**
  -     * @param value a <code>Number</code>
  -     */
       public void setValue(Object value) {
           setValue(((Number)value).doubleValue());
       }
  
  
  
  1.3       +25 -6     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableFloat.java
  
  Index: MutableFloat.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableFloat.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableFloat.java 13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableFloat.java 24 Jun 2004 04:20:46 -0000      1.3
  @@ -16,7 +16,7 @@
   package org.apache.commons.lang.mutable;
   
   /**
  - * A mutable <code>Float</code>.
  + * A mutable <code>Float</code>
    * 
    * @since 2.1
    * @version $Id$
  @@ -24,21 +24,40 @@
   public class MutableFloat extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private float value;
  +
  +    /**
        * Instantiates with the specified value
  +     * 
        * @param value a value.
        */
       public MutableFloat(float value) {
           super();
  -        setValue(new Float(value));
  +        this.value = value;
       }
   
       public void setValue(float value) {
  -        setValue(new Float(value));
  +        this.value = value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public int intValue() {
  +        return (int)this.value;
  +    }
  +
  +    public long longValue() {
  +        return (long)this.value;
  +    }
  +
  +    public Object getValue() {
  +        return new Float(this.value);
       }
   
  -    /**
  -     * @param value a <code>Number</code>
  -     */
       public void setValue(Object value) {
           setValue(((Number)value).floatValue());
       }
  
  
  
  1.3       +24 -5     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableInteger.java
  
  Index: MutableInteger.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableInteger.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableInteger.java       13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableInteger.java       24 Jun 2004 04:20:46 -0000      1.3
  @@ -24,21 +24,40 @@
   public class MutableInteger extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private int value;
  +
  +    /**
        * Instantiates with the specified value
  +     * 
        * @param value a value.
        */
       public MutableInteger(int value) {
           super();
  -        setValue(new Integer(value));
  +        this.value = value;
       }
   
       public void setValue(int value) {
  -        setValue(new Integer(value));
  +        this.value = value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public long longValue() {
  +        return this.value;
  +    }
  +
  +    public int intValue() {
  +        return this.value;
  +    }
  +
  +    public Object getValue() {
  +        return new Float(this.value);
       }
   
  -    /**
  -     * @param value a <code>Number</code>
  -     */
       public void setValue(Object value) {
           setValue(((Number)value).intValue());
       }
  
  
  
  1.3       +24 -6     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableLong.java
  
  Index: MutableLong.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableLong.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableLong.java  13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableLong.java  24 Jun 2004 04:20:46 -0000      1.3
  @@ -16,7 +16,7 @@
   package org.apache.commons.lang.mutable;
   
   /**
  - * A mutable <code>Long</code>.
  + * A mutable <code>Long</code>
    * 
    * @since 2.1
    * @version $Id$
  @@ -24,21 +24,39 @@
   public class MutableLong extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private long value;
  +
  +    /**
        * Instantiates with the specified value
        * @param value a value.
        */
       public MutableLong(long value) {
           super();
  -        setValue(new Long(value));
  +        setValue(value);
       }
   
       public void setValue(long value) {
  -        setValue(new Long(value));
  +        this.value = value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public long longValue() {
  +        return this.value;
  +    }
  +
  +    public int intValue() {
  +        return (int)this.value;
  +    }
  +
  +    public Object getValue() {
  +        return new Long(this.value);
       }
   
  -    /**
  -     * @param value a <code>Number</code>
  -     */
       public void setValue(Object value) {
           setValue(((Number)value).longValue());
       }
  
  
  
  1.3       +4 -35     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableNumber.java
  
  Index: MutableNumber.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableNumber.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableNumber.java        13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableNumber.java        24 Jun 2004 04:20:46 -0000      1.3
  @@ -28,49 +28,18 @@
       extends Number
       implements Comparable, Mutable, Serializable {
   
  -    private Number value;
  -
  -    public MutableNumber() {
  +    MutableNumber() {
           super();
       }
   
  -    /**
  -     * @param a <code>Number</code>
  -     */
  -    protected void setValue(Number value) {
  -        this.value = value;
  -    }
  -
       // ----------------------------------------------------------------
       // Number overrides
       // ----------------------------------------------------------------
   
       public float floatValue() {
  -        return this.value.floatValue();
  +        return (float)doubleValue();
       }
       
  -    public long longValue() {
  -        return this.value.longValue();
  -    }
  -
  -    public double doubleValue() {
  -        return this.value.doubleValue();
  -    }
  -
  -    public int intValue() {
  -        return this.value.intValue();
  -    }
  -
  -    // ----------------------------------------------------------------
  -    // Mutable overrides
  -    // ----------------------------------------------------------------
  -
  -    /**
  -     * @return a <code>Number</code>
  -     */
  -    public Object getValue() {
  -        return this.value;
  -    }
       // ----------------------------------------------------------------
       // Object overrides
       // ----------------------------------------------------------------
  @@ -80,7 +49,7 @@
       }
   
       public int hashCode() {
  -        return this.value.hashCode();
  +        return super.hashCode();
       }
   
       /**
  @@ -92,7 +61,7 @@
        * @see #compareTo(Object)
        */
       public boolean equals(Object obj) {
  -        return this.value.equals(obj);
  +        return super.equals(obj);
       }
   
       // ----------------------------------------------------------------
  
  
  
  1.3       +24 -6     
jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableShort.java
  
  Index: MutableShort.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/mutable/MutableShort.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MutableShort.java 13 Jun 2004 06:18:49 -0000      1.2
  +++ MutableShort.java 24 Jun 2004 04:20:46 -0000      1.3
  @@ -16,7 +16,7 @@
   package org.apache.commons.lang.mutable;
   
   /**
  - * A mutable <code>Short</code>.
  + * A mutable <code>Short</code>
    * 
    * @since 2.1
    * @version $Id$
  @@ -24,21 +24,39 @@
   public class MutableShort extends MutableNumber {
   
       /**
  +     * Internal value.
  +     */
  +    private short value;
  +
  +    /**
        * Instantiates with the specified value
        * @param value a value.
        */
       public MutableShort(short value) {
           super();
  -        setValue(new Short(value));
  +        this.value = value;
       }
   
       public void setValue(short value) {
  -        setValue(new Short(value));
  +        this.value = value;
  +    }
  +
  +    public double doubleValue() {
  +        return this.value;
  +    }
  +
  +    public int intValue() {
  +        return this.value;
  +    }
  +
  +    public long longValue() {
  +        return this.value;
  +    }
  +
  +    public Object getValue() {
  +        return new Short(this.value);
       }
   
  -    /**
  -     * @param value a <code>Number</code>
  -     */
       public void setValue(Object value) {
           setValue(((Number)value).shortValue());
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to