com.sun.syndication.feed.impl

Class EqualsBean

public class EqualsBean extends Object implements Serializable

Provides deep Bean equals() and hashCode() functionality for Java Beans.

It works on all read/write properties, recursively. It support all primitive types, Strings, Collections, bean-like objects and multi-dimensional arrays of any of them.

The hashcode is calculated by getting the hashcode of the Bean String representation.

Author: Alejandro Abdelnur

Field Summary
static Object[]NO_PARAMS
Class_beanClass
Object_obj
Constructor Summary
protected EqualsBean(Class beanClass)
Default constructor.
EqualsBean(Class beanClass, Object obj)
Creates a EqualsBean to be used in a delegation pattern.
Method Summary
booleanbeanEquals(Object obj)
Indicates whether some other object is "equal to" the object passed in the constructor, as defined by the Object equals() method.
intbeanHashCode()
Returns the hashcode for the object passed in the constructor.
booleandoEquals(Object obj1, Object obj2)
booleanequals(Object obj)
Indicates whether some other object is "equal to" this object as defined by the Object equals() method.
booleanequalsArray(Object array1, Object array2)
inthashCode()
Returns the hashcode for this object.

Field Detail

NO_PARAMS

private static final Object[] NO_PARAMS

_beanClass

private Class _beanClass

_obj

private Object _obj

Constructor Detail

EqualsBean

protected EqualsBean(Class beanClass)
Default constructor.

To be used by classes extending EqualsBean only.

Parameters: beanClass the class/interface to be used for property scanning.

EqualsBean

public EqualsBean(Class beanClass, Object obj)
Creates a EqualsBean to be used in a delegation pattern.

For example:

public class Foo implements FooI { private EqualsBean _equalsBean; public Foo() { _equalsBean = new EqualsBean(FooI.class); } public boolean equals(Object obj) { return _equalsBean.beanEquals(obj); } public int hashCode() { return _equalsBean.beanHashCode(); } }

Parameters: beanClass the class/interface to be used for property scanning. obj object bean to test equality.

Method Detail

beanEquals

public boolean beanEquals(Object obj)
Indicates whether some other object is "equal to" the object passed in the constructor, as defined by the Object equals() method.

To be used by classes using EqualsBean in a delegation pattern,

Parameters: obj he reference object with which to compare.

Returns: true if the object passed in the constructor is equal to the 'obj' object.

See Also: constructor.

beanHashCode

public int beanHashCode()
Returns the hashcode for the object passed in the constructor.

It follows the contract defined by the Object hashCode() method.

The hashcode is calculated by getting the hashcode of the Bean String representation.

To be used by classes using EqualsBean in a delegation pattern,

Returns: the hashcode of the bean object.

See Also: constructor.

doEquals

private boolean doEquals(Object obj1, Object obj2)

equals

public boolean equals(Object obj)
Indicates whether some other object is "equal to" this object as defined by the Object equals() method.

To be used by classes extending EqualsBean. Although it works also for classes using EqualsBean in a delegation pattern, for correctness those classes should use the

Parameters: obj he reference object with which to compare.

Returns: true if 'this' object is equal to the 'other' object.

See Also: beanEquals method.

equalsArray

private boolean equalsArray(Object array1, Object array2)

hashCode

public int hashCode()
Returns the hashcode for this object.

It follows the contract defined by the Object hashCode() method.

The hashcode is calculated by getting the hashcode of the Bean String representation.

To be used by classes extending EqualsBean. Although it works also for classes using EqualsBean in a delegation pattern, for correctness those classes should use the

Returns: the hashcode of the bean object.

See Also: beanHashCode method.

Copyright © Sun Microsystems. All Rights Reserved.