Package org.apache.commons.lang3.builder
Assists in creating consistent equals(Object)
, toString()
, hashCode()
, and compareTo(Object)
methods.
These classes are not thread-safe.
When you write a hashCode()
, do you check Bloch's Effective Java? No?
You just hack in a quick number?
Well HashCodeBuilder
will save your day.
It, and its buddies (EqualsBuilder
, CompareToBuilder
, ToStringBuilder
), take care of the nasty bits while you focus on the important bits, like which fields will go into making up the hashcode.
- Since:
- 1.0
- See Also:
Object.equals(Object)
,Object.toString()
,Object.hashCode()
,Comparable.compareTo(Object)
-
Interface Summary Interface Description Builder<T> The Builder interface is designed to designate a class as a builder object in the Builder design pattern.Diffable<T> Diffable
classes can be compared with other objects for differences. -
Class Summary Class Description CompareToBuilder Assists in implementingComparable.compareTo(Object)
methods.Diff<T> ADiff
contains the differences between twoDiffable
class fields.DiffBuilder<T> Assists in implementingDiffable.diff(Object)
methods.DiffResult<T> ADiffResult
contains a collection of the differences between twoDiffable
objects.EqualsBuilder Assists in implementingObject.equals(Object)
methods.HashCodeBuilder Assists in implementingObject.hashCode()
methods.IDKey Wrap an identity key (System.identityHashCode()) so that an object can only be equal() to itself.MultilineRecursiveToStringStyle Works withToStringBuilder
to create a "deep"toString
.RecursiveToStringStyle Works withToStringBuilder
to create a "deep"toString
.ReflectionDiffBuilder<T> Assists in implementingDiffable.diff(Object)
methods.ReflectionToStringBuilder Assists in implementingObject.toString()
methods using reflection.StandardToStringStyle Works withToStringBuilder
to create atoString
.ToStringBuilder Assists in implementingObject.toString()
methods.ToStringStyle ControlsString
formatting forToStringBuilder
.ToStringStyle.DefaultToStringStyle DefaultToStringStyle
.ToStringStyle.JsonToStringStyle ToStringStyle
that outputs with JSON format.ToStringStyle.MultiLineToStringStyle ToStringStyle
that outputs on multiple lines.ToStringStyle.NoClassNameToStringStyle ToStringStyle
that does not print out the classname and identity hash code but prints content start and field names.ToStringStyle.NoFieldNameToStringStyle ToStringStyle
that does not print out the field names.ToStringStyle.ShortPrefixToStringStyle ToStringStyle
that prints out the short class name and no identity hashcode.ToStringStyle.SimpleToStringStyle ToStringStyle
that does not print out the classname, identity hashcode, content start or field name. -
Annotation Types Summary Annotation Type Description EqualsExclude Use this annotation to exclude a field from being used by the variousreflectionEquals
methods defined onEqualsBuilder
.HashCodeExclude Use this annotation to exclude a field from being used by the variousreflectionHashcode
methods defined onHashCodeBuilder
.ToStringExclude Use this annotation to exclude a field from being used by theReflectionToStringBuilder
.ToStringSummary Use this annotation on the fields to get the summary instead of the detailed information when usingReflectionToStringBuilder
.