Class EqualsBuilder
- java.lang.Object
-
- org.apache.cayenne.util.EqualsBuilder
-
public class EqualsBuilder extends Object
Assists in implementingObject.equals(Object)methods. The code is based on EqualsBuilder from commons-lang 2.1.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description EqualsBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EqualsBuilderappend(boolean[] lhs, boolean[] rhs)Deep comparison of array ofboolean.EqualsBuilderappend(boolean lhs, boolean rhs)Test if twobooleanss are equal.EqualsBuilderappend(byte[] lhs, byte[] rhs)Deep comparison of array ofbyte.EqualsBuilderappend(byte lhs, byte rhs)Test if twobytes are equal.EqualsBuilderappend(char[] lhs, char[] rhs)Deep comparison of array ofchar.EqualsBuilderappend(char lhs, char rhs)Test if twochars are equal.EqualsBuilderappend(double[] lhs, double[] rhs)Deep comparison of array ofdouble.EqualsBuilderappend(double lhs, double rhs)Test if twodoubles are equal by testing that the pattern of bits returned bydoubleToLongare equal.EqualsBuilderappend(float[] lhs, float[] rhs)Deep comparison of array offloat.EqualsBuilderappend(float lhs, float rhs)Test if twofloats are equal byt testing that the pattern of bits returned by doubleToLong are equal.EqualsBuilderappend(int[] lhs, int[] rhs)Deep comparison of array ofint.EqualsBuilderappend(int lhs, int rhs)Test if twoints are equal.EqualsBuilderappend(long[] lhs, long[] rhs)Deep comparison of array oflong.EqualsBuilderappend(long lhs, long rhs)Test if twolongs are equal.EqualsBuilderappend(short[] lhs, short[] rhs)Deep comparison of array ofshort.EqualsBuilderappend(short lhs, short rhs)Test if twoshorts are equal.EqualsBuilderappend(Object[] lhs, Object[] rhs)Performs a deep comparison of twoObjectarrays.EqualsBuilderappend(Object lhs, Object rhs)Test if twoObjects are equal using theirequalsmethod.EqualsBuilderappendSuper(boolean superEquals)Adds the result ofsuper.equals()to this builder.booleanisEquals()Returnstrueif the fields that have been checked are all equal.protected voidsetEquals(boolean isEquals)Sets theisEqualsvalue.
-
-
-
Method Detail
-
appendSuper
public EqualsBuilder appendSuper(boolean superEquals)
Adds the result of
super.equals()to this builder.- Parameters:
superEquals- the result of callingsuper.equals()- Returns:
- EqualsBuilder - used to chain calls.
- Since:
- 2.0
-
append
public EqualsBuilder append(Object lhs, Object rhs)
Test if two
Objects are equal using theirequalsmethod.- Parameters:
lhs- the left hand objectrhs- the right hand object- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(long lhs, long rhs)
Test if two
longs are equal.- Parameters:
lhs- the left handlongrhs- the right handlong- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(int lhs, int rhs)
Test if two
ints are equal.- Parameters:
lhs- the left handintrhs- the right handint- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(short lhs, short rhs)
Test if two
shorts are equal.- Parameters:
lhs- the left handshortrhs- the right handshort- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(char lhs, char rhs)
Test if two
chars are equal.- Parameters:
lhs- the left handcharrhs- the right handchar- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(byte lhs, byte rhs)
Test if two
bytes are equal.- Parameters:
lhs- the left handbyterhs- the right handbyte- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(double lhs, double rhs)
Test if two
doubles are equal by testing that the pattern of bits returned bydoubleToLongare equal.This handles NaNs, Infinities, and
-0.0.It is compatible with the hash code generated by
HashCodeBuilder.- Parameters:
lhs- the left handdoublerhs- the right handdouble- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(float lhs, float rhs)
Test if two
floats are equal byt testing that the pattern of bits returned by doubleToLong are equal.This handles NaNs, Infinities, and
-0.0.It is compatible with the hash code generated by
HashCodeBuilder.- Parameters:
lhs- the left handfloatrhs- the right handfloat- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(boolean lhs, boolean rhs)
Test if two
booleanss are equal.- Parameters:
lhs- the left handbooleanrhs- the right handboolean- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(Object[] lhs, Object[] rhs)
Performs a deep comparison of two
Objectarrays.This also will be called for the top level of multi-dimensional, ragged, and multi-typed arrays.
- Parameters:
lhs- the left handObject[]rhs- the right handObject[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(long[] lhs, long[] rhs)
Deep comparison of array of
long. Length and all values are compared.The method
append(long, long)is used.- Parameters:
lhs- the left handlong[]rhs- the right handlong[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(int[] lhs, int[] rhs)
Deep comparison of array of
int. Length and all values are compared.The method
append(int, int)is used.- Parameters:
lhs- the left handint[]rhs- the right handint[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(short[] lhs, short[] rhs)
Deep comparison of array of
short. Length and all values are compared.The method
append(short, short)is used.- Parameters:
lhs- the left handshort[]rhs- the right handshort[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(char[] lhs, char[] rhs)
Deep comparison of array of
char. Length and all values are compared.The method
append(char, char)is used.- Parameters:
lhs- the left handchar[]rhs- the right handchar[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(byte[] lhs, byte[] rhs)
Deep comparison of array of
byte. Length and all values are compared.The method
append(byte, byte)is used.- Parameters:
lhs- the left handbyte[]rhs- the right handbyte[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(double[] lhs, double[] rhs)
Deep comparison of array of
double. Length and all values are compared.The method
append(double, double)is used.- Parameters:
lhs- the left handdouble[]rhs- the right handdouble[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(float[] lhs, float[] rhs)
Deep comparison of array of
float. Length and all values are compared.The method
append(float, float)is used.- Parameters:
lhs- the left handfloat[]rhs- the right handfloat[]- Returns:
- EqualsBuilder - used to chain calls.
-
append
public EqualsBuilder append(boolean[] lhs, boolean[] rhs)
Deep comparison of array of
boolean. Length and all values are compared.The method
append(boolean, boolean)is used.- Parameters:
lhs- the left handboolean[]rhs- the right handboolean[]- Returns:
- EqualsBuilder - used to chain calls.
-
isEquals
public boolean isEquals()
Returns
trueif the fields that have been checked are all equal.- Returns:
- boolean
-
setEquals
protected void setEquals(boolean isEquals)
Sets theisEqualsvalue.- Parameters:
isEquals- The value to set.- Since:
- 2.1
-
-