src/share/classes/java/beans/DefaultPersistenceDelegate.java

Print this page

        

@@ -24,10 +24,11 @@
  */
 package java.beans;
 
 import java.util.*;
 import java.lang.reflect.*;
+import java.util.Objects;
 import sun.reflect.misc.*;
 
 
 /**
  * The <code>DefaultPersistenceDelegate</code> is a concrete implementation of

@@ -179,25 +180,21 @@
             throw new IllegalStateException("Could not find getter for the property " + property);
         }
         return method;
     }
 
-    private static boolean equals(Object o1, Object o2) {
-        return (o1 == null) ? (o2 == null) : o1.equals(o2);
-    }
-
     private void doProperty(Class type, PropertyDescriptor pd, Object oldInstance, Object newInstance, Encoder out) throws Exception {
         Method getter = pd.getReadMethod();
         Method setter = pd.getWriteMethod();
 
         if (getter != null && setter != null) {
             Expression oldGetExp = new Expression(oldInstance, getter.getName(), new Object[]{});
             Expression newGetExp = new Expression(newInstance, getter.getName(), new Object[]{});
             Object oldValue = oldGetExp.getValue();
             Object newValue = newGetExp.getValue();
             out.writeExpression(oldGetExp);
-            if (!equals(newValue, out.get(oldValue))) {
+            if (!Objects.equals(newValue, out.get(oldValue))) {
                 // Search for a static constant with this value;
                 Object e = (Object[])pd.getValue("enumerationValues");
                 if (e instanceof Object[] && Array.getLength(e) % 3 == 0) {
                     Object[] a = (Object[])e;
                     for(int i = 0; i < a.length; i = i + 3) {

@@ -231,11 +228,11 @@
                 Expression oldGetExp = new Expression(field, "get", new Object[] { oldInstance });
                 Expression newGetExp = new Expression(field, "get", new Object[] { newInstance });
                 Object oldValue = oldGetExp.getValue();
                 Object newValue = newGetExp.getValue();
                 out.writeExpression(oldGetExp);
-                if (!equals(newValue, out.get(oldValue))) {
+                if (!Objects.equals(newValue, out.get(oldValue))) {
                     out.writeStatement(new Statement(field, "set", new Object[] { oldInstance, oldValue }));
                 }
             }
             catch (Exception exception) {
                 out.getExceptionListener().exceptionThrown(exception);