Thanks for the advice and your consideration, I have a better understanding now. Cheers. On Mar 5, 2016 2:06 AM, "Duncan Jones" <djo...@apache.org> wrote:
> 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 > >