Author: niallp
Date: Tue Jan 11 00:20:38 2011
New Revision: 1057423
URL: http://svn.apache.org/viewvc?rev=1057423&view=rev
Log:
Port LANG-670 to LANG 2.x Branch - Add notEqual() method to ObjectUtils
Modified:
commons/proper/lang/branches/LANG_2_X/RELEASE-NOTES.txt
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ObjectUtils.java
commons/proper/lang/branches/LANG_2_X/src/site/changes/changes.xml
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/ObjectUtilsTest.java
Modified: commons/proper/lang/branches/LANG_2_X/RELEASE-NOTES.txt
URL:
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/RELEASE-NOTES.txt?rev=1057423&r1=1057422&r2=1057423&view=diff
==============================================================================
--- commons/proper/lang/branches/LANG_2_X/RELEASE-NOTES.txt (original)
+++ commons/proper/lang/branches/LANG_2_X/RELEASE-NOTES.txt Tue Jan 11 00:20:38
2011
@@ -27,6 +27,7 @@ IMPROVEMENTS IN 2.6
* [LANG-632] - DateUtils: provide a Date to Calendar convenience method
* [LANG-576] - ObjectUtils: add clone methods to ObjectUtils
* [LANG-667] - ObjectUtils: add a Null-safe compare() method
+ * [LANG-670] - ObjectUtils: add notEqual() method
* [LANG-302] - StrBuilder: implement clone() method
* [LANG-640] - StringUtils: add a normalizeSpace() method
* [LANG-614] - StringUtils: add endsWithAny() method
Modified:
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ObjectUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ObjectUtils.java?rev=1057423&r1=1057422&r2=1057423&view=diff
==============================================================================
---
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ObjectUtils.java
(original)
+++
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/ObjectUtils.java
Tue Jan 11 00:20:38 2011
@@ -126,6 +126,30 @@ public class ObjectUtils {
}
/**
+ * <p>Compares two objects for inequality, where either one or both
+ * objects may be <code>null</code>.</p>
+ *
+ * <pre>
+ * ObjectUtils.notEqual(null, null) = false
+ * ObjectUtils.notEqual(null, "") = true
+ * ObjectUtils.notEqual("", null) = true
+ * ObjectUtils.notEqual("", "") = false
+ * ObjectUtils.notEqual(Boolean.TRUE, null) = true
+ * ObjectUtils.notEqual(Boolean.TRUE, "true") = true
+ * ObjectUtils.notEqual(Boolean.TRUE, Boolean.TRUE) = false
+ * ObjectUtils.notEqual(Boolean.TRUE, Boolean.FALSE) = true
+ * </pre>
+ *
+ * @param object1 the first object, may be <code>null</code>
+ * @param object2 the second object, may be <code>null</code>
+ * @return <code>false</code> if the values of both objects are the same
+ * @since 2.6
+ */
+ public static boolean notEqual(Object object1, Object object2) {
+ return ObjectUtils.equals(object1, object2) == false;
+ }
+
+ /**
* <p>Gets the hash code of an object returning zero when the
* object is <code>null</code>.</p>
*
Modified: commons/proper/lang/branches/LANG_2_X/src/site/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/site/changes/changes.xml?rev=1057423&r1=1057422&r2=1057423&view=diff
==============================================================================
--- commons/proper/lang/branches/LANG_2_X/src/site/changes/changes.xml
(original)
+++ commons/proper/lang/branches/LANG_2_X/src/site/changes/changes.xml Tue Jan
11 00:20:38 2011
@@ -28,6 +28,7 @@
<action type="add" issue="LANG-632">DateUtils: provide a Date to Calendar
convenience method</action>
<action type="add" issue="LANG-576">ObjectUtils: add clone methods to
ObjectUtils</action>
<action type="add" issue="LANG-667">ObjectUtils: add a Null-safe compare()
method</action>
+ <action type="add" issue="LANG-670">ObjectUtils: add notEqual()
method</action>
<action type="add" issue="LANG-302">StrBuilder: implement clone()
method</action>
<action type="add" issue="LANG-640">StringUtils: add a normalizeSpace()
method</action>
<action type="add" issue="LANG-614">StringUtils: add endsWithAny()
method</action>
Modified:
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/ObjectUtilsTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/ObjectUtilsTest.java?rev=1057423&r1=1057422&r2=1057423&view=diff
==============================================================================
---
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/ObjectUtilsTest.java
(original)
+++
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/ObjectUtilsTest.java
Tue Jan 11 00:20:38 2011
@@ -69,6 +69,14 @@ public class ObjectUtilsTest extends Tes
assertTrue("ObjectUtils.equals(\"foo\", \"foo\") returned false",
ObjectUtils.equals(FOO, FOO));
}
+ public void testNotEqual() {
+ assertFalse("ObjectUtils.notEqual(null, null) returned false",
ObjectUtils.notEqual(null, null));
+ assertTrue("ObjectUtils.notEqual(\"foo\", null) returned true",
ObjectUtils.notEqual(FOO, null));
+ assertTrue("ObjectUtils.notEqual(null, \"bar\") returned true",
ObjectUtils.notEqual(null, BAR));
+ assertTrue("ObjectUtils.notEqual(\"foo\", \"bar\") returned true",
ObjectUtils.notEqual(FOO, BAR));
+ assertFalse("ObjectUtils.notEqual(\"foo\", \"foo\") returned false",
ObjectUtils.notEqual(FOO, FOO));
+ }
+
public void testHashCode() {
assertEquals(0, ObjectUtils.hashCode(null));
assertEquals("a".hashCode(), ObjectUtils.hashCode("a"));