GWT 2.7.0

com.google.web.bindery.autobean.shared
Class AutoBeanUtils

java.lang.Object
  extended by com.google.web.bindery.autobean.shared.AutoBeanUtils

public final class AutoBeanUtils
extends java.lang.Object

Utility methods for working with AutoBeans.


Method Summary
static boolean deepEquals(AutoBean<?> a, AutoBean<?> b)
          Compare two graphs of AutoBeans based on values.
static java.util.Map<java.lang.String,java.lang.Object> diff(AutoBean<?> a, AutoBean<?> b)
          Returns a map of properties that differ (via Object.equals(Object)) between two AutoBeans.
static java.util.Map<java.lang.String,java.lang.Object> getAllProperties(AutoBean<?> bean)
          Returns a map that is a copy of the properties contained in an AutoBean.
static
<T,U extends T>
AutoBean<T>
getAutoBean(U delegate)
          Return the single AutoBean wrapper that is observing the delegate object or null if the parameter is nullor not wrapped by an AutoBean.
(package private) static boolean sameOrEquals(java.lang.Object value, java.lang.Object otherValue, java.util.Map<com.google.web.bindery.autobean.shared.AutoBeanUtils.PendingComparison,com.google.web.bindery.autobean.shared.AutoBeanUtils.Comparison> pending)
          Compare two AutoBeans, this method has the type fan-out.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

deepEquals

public static boolean deepEquals(AutoBean<?> a,
                                 AutoBean<?> b)
Compare two graphs of AutoBeans based on values.

This will work for both simple and wrapper AutoBeans.

This method may crawl the entire object graph reachable from the input parameters and may be arbitrarily expensive to compute.

Parameters:
a - an AutoBean
b - an AutoBean
Returns:
false if any values in the graph reachable through a are different from those reachable from b

diff

public static java.util.Map<java.lang.String,java.lang.Object> diff(AutoBean<?> a,
                                                                    AutoBean<?> b)
Returns a map of properties that differ (via Object.equals(Object)) between two AutoBeans. The keys are property names and the values are the value of the property in b. Properties present in a but missing in b will be represented by null values. This implementation will compare AutoBeans of different parameterizations, although the diff produced is likely meaningless.

This will work for both simple and wrapper AutoBeans.

Parameters:
a - an AutoBean
b - an AutoBean
Returns:
a Map of differing properties

getAllProperties

public static java.util.Map<java.lang.String,java.lang.Object> getAllProperties(AutoBean<?> bean)
Returns a map that is a copy of the properties contained in an AutoBean. The returned map is mutable, but editing it will not have any effect on the bean that produced it.

Parameters:
bean - an AutoBean
Returns:
a Map of the bean's properties

getAutoBean

public static <T,U extends T> AutoBean<T> getAutoBean(U delegate)
Return the single AutoBean wrapper that is observing the delegate object or null if the parameter is nullor not wrapped by an AutoBean.

Parameters:
delegate - a delegate object, or null
Returns:
the AutoBean wrapper for the delegate, or null

sameOrEquals

static boolean sameOrEquals(java.lang.Object value,
                            java.lang.Object otherValue,
                            java.util.Map<com.google.web.bindery.autobean.shared.AutoBeanUtils.PendingComparison,com.google.web.bindery.autobean.shared.AutoBeanUtils.Comparison> pending)
Compare two AutoBeans, this method has the type fan-out.


GWT 2.7.0