You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/04/18 09:00:09 UTC
svn commit: r394868 - in
/incubator/harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/lang/Boolean.java
test/java/org/apache/harmony/tests/java/lang/BooleanTest.java
Author: mloenko
Date: Tue Apr 18 00:00:06 2006
New Revision: 394868
URL: http://svn.apache.org/viewcvs?rev=394868&view=rev
Log:
Fixes for HARMONY-355
[classlib][luni] Generics uplift and clean up for java.lang.Boolean
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/Boolean.java
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/tests/java/lang/BooleanTest.java
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/Boolean.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/Boolean.java?rev=394868&r1=394867&r2=394868&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/Boolean.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/Boolean.java Tue Apr 18 00:00:06 2006
@@ -15,12 +15,13 @@
package java.lang;
+import java.io.Serializable;
+
/**
* <p>Boolean is the wrapper for the primitive type <code>boolean</code>.</p>
* @since 1.0
*/
-public final class Boolean implements java.io.Serializable {
- //TODO Add Comparable<Boolean> to implements when generics are supported.
+public final class Boolean implements Serializable, Comparable<Boolean> {
private static final long serialVersionUID = -3665804199014368530L;
@@ -30,10 +31,10 @@
private final boolean value;
/**
- * The java.lang.Class that represents this class.
- */
- public static final Class TYPE = new boolean[0].getClass()
- .getComponentType();
+ * The java.lang.Class that represents this class.
+ */
+ public static final Class<Boolean> TYPE = new boolean[0].getClass()
+ .getComponentType();
// Note: This can't be set to "boolean.class", since *that* is
// defined to be "java.lang.Boolean.TYPE";
@@ -58,7 +59,7 @@
* The name of the desired boolean.
*/
public Boolean(String string) {
- this(toBoolean(string));
+ this(parseBoolean(string));
}
/**
@@ -100,20 +101,32 @@
return (o == this)
|| ((o instanceof Boolean) && (value == ((Boolean) o).value));
}
-
- /**
- * Answers true if the system property described by the argument equal to
- * "true" using case insensitive comparison, and false otherwise.
- *
- * @param string
- * The name of the desired boolean.
- * @return The boolean value.
- */
- public static boolean getBoolean(String string) {
- if (string == null || string.length() == 0)
- return false;
- return (toBoolean(System.getProperty(string)));
- }
+
+ /**
+ * <p>
+ * Compares this <code>Boolean</code> to another <code>Boolean</code>.
+ * If this instance has the same value as the instance passed, then
+ * <code>0</code> is returned. If this instance is <code>true</code> and
+ * the instance passed is <code>false</code>, then a positive value is
+ * returned. If this instance is <code>false</code> and the instance
+ * passed is <code>true</code>, then a negative value is returned.
+ * </p>
+ *
+ * @param that The instance to compare to.
+ * @throws java.lang.NullPointerException if <code>that</code> is
+ * <code>null</code>.
+ * @since 1.5
+ * @see java.lang.Comparable
+ */
+ public int compareTo(Boolean that) {
+ if (that == null)
+ throw new NullPointerException();
+
+ if (this.value == that.value)
+ return 0;
+
+ return this.value ? 1 : -1;
+ }
/**
* Answers an integer hash code for the receiver. Any two objects which
@@ -127,18 +140,29 @@
public int hashCode() {
return value ? 1231 : 1237;
}
-
- /**
- * Answers true if the argument is equal to "true" using case insensitive
- * comparison, and false otherwise.
- *
- * @param string
- * The name of the desired boolean.
- * @return the boolean value.
- */
- static boolean toBoolean(String string) {
- return parseBoolean(string);
- }
+
+ /**
+ * Answers a string containing a concise, human-readable description of the
+ * receiver.
+ *
+ * @return a printable representation for the receiver.
+ */
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ /**
+ * Answers true if the system property described by the argument equal to
+ * "true" using case insensitive comparison, and false otherwise.
+ *
+ * @param string The name of the desired boolean.
+ * @return The boolean value.
+ */
+ public static boolean getBoolean(String string) {
+ if (string == null || string.length() == 0)
+ return false;
+ return (parseBoolean(System.getProperty(string)));
+ }
/**
* <p>
@@ -156,16 +180,6 @@
}
/**
- * Answers a string containing a concise, human-readable description of the
- * receiver.
- *
- * @return a printable representation for the receiver.
- */
- public String toString() {
- return String.valueOf(value);
- }
-
- /**
* Converts the specified boolean to its string representation. When the
* boolean is true answer <code>"true"</code>, otherwise answer
* <code>"false"</code>.
@@ -188,7 +202,7 @@
* @return the boolean value.
*/
public static Boolean valueOf(String string) {
- return toBoolean(string) ? Boolean.TRUE : Boolean.FALSE;
+ return parseBoolean(string) ? Boolean.TRUE : Boolean.FALSE;
}
/**
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/tests/java/lang/BooleanTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/tests/java/lang/BooleanTest.java?rev=394868&r1=394867&r2=394868&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/tests/java/lang/BooleanTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/tests/java/lang/BooleanTest.java Tue Apr 18 00:00:06 2006
@@ -132,4 +132,20 @@
assertFalse(Boolean.parseBoolean(""));
assertFalse(Boolean.parseBoolean("invalid"));
}
+
+ /**
+ * @tests java.lang.Boolean#compareTo(Boolean)
+ */
+ public void test_compareToLjava_lang_Boolean() {
+ assertTrue(Boolean.TRUE.compareTo(Boolean.TRUE) == 0);
+ assertTrue(Boolean.FALSE.compareTo(Boolean.FALSE) == 0);
+ assertTrue(Boolean.TRUE.compareTo(Boolean.FALSE) > 0);
+ assertTrue(Boolean.FALSE.compareTo(Boolean.TRUE) < 0);
+
+ try {
+ Boolean.TRUE.compareTo(null);
+ fail("No NPE");
+ } catch (NullPointerException e) {
+ }
+ }
}