On 3 March 2016 at 18:49, rgm <r...@rgm.nu> wrote: > No, because ToStringStyle affects the rendering of only one of the object's > toString methods and cannot change the "left differs from right" output, > although it could change the rendering of either "left" or "right." The > inclusion of two objects and the hard-coded string "differs from" are not > affected by ToStringStyle.
I think your current approach sounds just fine. `toString()` isn't really intended for complex formatting tasks - the only reason I added a `ToStringStyle` override was to match the style of other classes in the builder package. Composition is also generally preferred to inheritance, so I would prefer not to make `DiffResult` extendable, but rather encourage you to make methods in your own classes that know how to format a `DiffResult` in the way you prefer. Duncan > On Thu, Mar 3, 2016 at 11:05 AM, Bhowmik, Bindul <bindulbhow...@gmail.com> > wrote: > >> On Thu, Mar 3, 2016 at 9:31 AM, rgm <r...@rgm.nu> wrote: >> > Ironically, it seems impossible to override DiffResult.toString(), which >> > one may wish to do in order to provide alternate formats for the >> > differences that are more compact than "lhs differs from rhs." >> > >> > In my case, I wanted to support differences between Set<Integer> so that >> > one could get output like: >> > Object[groups: added: {1, 2}, removed: {7},name:cat->dog] >> > >> > Rather than: >> > Object[groups:[3,4,7],name=cat] differs from Object[groups: >> > [1,2,3,4],name=dog] >> >> Isn't this a use case for building your own ToStringStyle [1] and >> using the DiffResult#toString(ToStringStyle) method? >> >> > >> > To support this I ended up wrapping the DiffResult class because I could >> > not extend it due to its private constructor. >> > >> > re: >> > >> https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/builder/DiffResult.html >> >> - Bindul >> >> [1] >> https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/builder/ToStringStyle.html >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org