diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-10 23:18:28 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-15 12:47:30 +0200 |
| commit | ed3913bf3abab25a16f7e572ac45f4ffbcfbbe68 (patch) | |
| tree | 4b8afb1ea4cef73b72d22978369d86b648a39c93 /src/org/apache/commons/lang3/mutable/MutableFloat.java | |
| parent | 36ede4dbdf0a6a9b54222c679b6e7f5eb25d4c00 (diff) | |
| download | cgeo-ed3913bf3abab25a16f7e572ac45f4ffbcfbbe68.zip cgeo-ed3913bf3abab25a16f7e572ac45f4ffbcfbbe68.tar.gz cgeo-ed3913bf3abab25a16f7e572ac45f4ffbcfbbe68.tar.bz2 | |
Import Apache commons lang
Now that proguard is used for the release, importing the whole
Apache commons lang library is not a problem as unused classes
will be removed from the final executable.
Diffstat (limited to 'src/org/apache/commons/lang3/mutable/MutableFloat.java')
| -rw-r--r-- | src/org/apache/commons/lang3/mutable/MutableFloat.java | 313 |
1 files changed, 0 insertions, 313 deletions
diff --git a/src/org/apache/commons/lang3/mutable/MutableFloat.java b/src/org/apache/commons/lang3/mutable/MutableFloat.java deleted file mode 100644 index 3ad9e5d..0000000 --- a/src/org/apache/commons/lang3/mutable/MutableFloat.java +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.commons.lang3.mutable; - -/** - * A mutable <code>float</code> wrapper. - * <p> - * Note that as MutableFloat does not extend Float, it is not treated by String.format as a Float parameter. - * - * @see Float - * @since 2.1 - * @version $Id: MutableFloat.java 1160571 2011-08-23 07:36:08Z bayard $ - */ -public class MutableFloat extends Number implements Comparable<MutableFloat>, Mutable<Number> { - - /** - * Required for serialization support. - * - * @see java.io.Serializable - */ - private static final long serialVersionUID = 5787169186L; - - /** The mutable value. */ - private float value; - - /** - * Constructs a new MutableFloat with the default value of zero. - */ - public MutableFloat() { - super(); - } - - /** - * Constructs a new MutableFloat with the specified value. - * - * @param value the initial value to store - */ - public MutableFloat(float value) { - super(); - this.value = value; - } - - /** - * Constructs a new MutableFloat with the specified value. - * - * @param value the initial value to store, not null - * @throws NullPointerException if the object is null - */ - public MutableFloat(Number value) { - super(); - this.value = value.floatValue(); - } - - /** - * Constructs a new MutableFloat parsing the given string. - * - * @param value the string to parse, not null - * @throws NumberFormatException if the string cannot be parsed into a float - * @since 2.5 - */ - public MutableFloat(String value) throws NumberFormatException { - super(); - this.value = Float.parseFloat(value); - } - - //----------------------------------------------------------------------- - /** - * Gets the value as a Float instance. - * - * @return the value as a Float, never null - */ - public Float getValue() { - return Float.valueOf(this.value); - } - - /** - * Sets the value. - * - * @param value the value to set - */ - public void setValue(float value) { - this.value = value; - } - - /** - * Sets the value from any Number instance. - * - * @param value the value to set, not null - * @throws NullPointerException if the object is null - */ - public void setValue(Number value) { - this.value = value.floatValue(); - } - - //----------------------------------------------------------------------- - /** - * Checks whether the float value is the special NaN value. - * - * @return true if NaN - */ - public boolean isNaN() { - return Float.isNaN(value); - } - - /** - * Checks whether the float value is infinite. - * - * @return true if infinite - */ - public boolean isInfinite() { - return Float.isInfinite(value); - } - - //----------------------------------------------------------------------- - /** - * Increments the value. - * - * @since Commons Lang 2.2 - */ - public void increment() { - value++; - } - - /** - * Decrements the value. - * - * @since Commons Lang 2.2 - */ - public void decrement() { - value--; - } - - //----------------------------------------------------------------------- - /** - * Adds a value to the value of this instance. - * - * @param operand the value to add, not null - * @since Commons Lang 2.2 - */ - public void add(float operand) { - this.value += operand; - } - - /** - * Adds a value to the value of this instance. - * - * @param operand the value to add, not null - * @throws NullPointerException if the object is null - * @since Commons Lang 2.2 - */ - public void add(Number operand) { - this.value += operand.floatValue(); - } - - /** - * Subtracts a value from the value of this instance. - * - * @param operand the value to subtract - * @since Commons Lang 2.2 - */ - public void subtract(float operand) { - this.value -= operand; - } - - /** - * Subtracts a value from the value of this instance. - * - * @param operand the value to subtract, not null - * @throws NullPointerException if the object is null - * @since Commons Lang 2.2 - */ - public void subtract(Number operand) { - this.value -= operand.floatValue(); - } - - //----------------------------------------------------------------------- - // shortValue and byteValue rely on Number implementation - /** - * Returns the value of this MutableFloat as an int. - * - * @return the numeric value represented by this object after conversion to type int. - */ - @Override - public int intValue() { - return (int) value; - } - - /** - * Returns the value of this MutableFloat as a long. - * - * @return the numeric value represented by this object after conversion to type long. - */ - @Override - public long longValue() { - return (long) value; - } - - /** - * Returns the value of this MutableFloat as a float. - * - * @return the numeric value represented by this object after conversion to type float. - */ - @Override - public float floatValue() { - return value; - } - - /** - * Returns the value of this MutableFloat as a double. - * - * @return the numeric value represented by this object after conversion to type double. - */ - @Override - public double doubleValue() { - return value; - } - - //----------------------------------------------------------------------- - /** - * Gets this mutable as an instance of Float. - * - * @return a Float instance containing the value from this mutable, never null - */ - public Float toFloat() { - return Float.valueOf(floatValue()); - } - - //----------------------------------------------------------------------- - /** - * Compares this object against some other object. The result is <code>true</code> if and only if the argument is - * not <code>null</code> and is a <code>Float</code> object that represents a <code>float</code> that has the - * identical bit pattern to the bit pattern of the <code>float</code> represented by this object. For this - * purpose, two float values are considered to be the same if and only if the method - * {@link Float#floatToIntBits(float)}returns the same int value when applied to each. - * <p> - * Note that in most cases, for two instances of class <code>Float</code>,<code>f1</code> and <code>f2</code>, - * the value of <code>f1.equals(f2)</code> is <code>true</code> if and only if <blockquote> - * - * <pre> - * f1.floatValue() == f2.floatValue() - * </pre> - * - * </blockquote> - * <p> - * also has the value <code>true</code>. However, there are two exceptions: - * <ul> - * <li>If <code>f1</code> and <code>f2</code> both represent <code>Float.NaN</code>, then the - * <code>equals</code> method returns <code>true</code>, even though <code>Float.NaN==Float.NaN</code> has - * the value <code>false</code>. - * <li>If <code>f1</code> represents <code>+0.0f</code> while <code>f2</code> represents <code>-0.0f</code>, - * or vice versa, the <code>equal</code> test has the value <code>false</code>, even though - * <code>0.0f==-0.0f</code> has the value <code>true</code>. - * </ul> - * This definition allows hashtables to operate properly. - * - * @param obj the object to compare with, null returns false - * @return <code>true</code> if the objects are the same; <code>false</code> otherwise. - * @see java.lang.Float#floatToIntBits(float) - */ - @Override - public boolean equals(Object obj) { - return (obj instanceof MutableFloat) - && (Float.floatToIntBits(((MutableFloat) obj).value) == Float.floatToIntBits(value)); - } - - /** - * Returns a suitable hash code for this mutable. - * - * @return a suitable hash code - */ - @Override - public int hashCode() { - return Float.floatToIntBits(value); - } - - //----------------------------------------------------------------------- - /** - * Compares this mutable to another in ascending order. - * - * @param other the other mutable to compare to, not null - * @return negative if this is less, zero if equal, positive if greater - */ - public int compareTo(MutableFloat other) { - float anotherVal = other.value; - return Float.compare(value, anotherVal); - } - - //----------------------------------------------------------------------- - /** - * Returns the String value of this mutable. - * - * @return the mutable value as a string - */ - @Override - public String toString() { - return String.valueOf(value); - } - -} |
