On Tue, Oct 22, 2013 at 3:59 PM, Matt Benson <gudnabr...@gmail.com> wrote:
> So what is having a non-generic runtime class accomplishing for you? > The subclass "is a kind of" pair AND it is domain typed to my app. Gary > > Matt > > > On Tue, Oct 22, 2013 at 2:29 PM, Gary Gregory <garydgreg...@gmail.com > >wrote: > > > > > > > > > Sent via the Samsung Galaxy NoteĀ® 3, an AT&T 4G LTE smartphone > > > > -------- Original message -------- > > From: sebb > > Date:10/22/2013 13:37 (GMT-05:00) > > To: Commons Developers List > > Subject: Re: [lang] ImmutablePair is final > > > > On 22 October 2013 18:33, Gary Gregory <garydgreg...@gmail.com> wrote: > > > On Tue, Oct 22, 2013 at 1:22 PM, Paul Benedict <pbened...@apache.org> > > wrote: > > > > > >> If you can subclass, the class will likely be mutable somehow > (accessing > > >> protected or package-private data?) -- even introducing new variables > > >> exclusive to the subclass. The "final" keyword is used well here. > > >> > > > > > > Here is my use case for which I've cloned ImmutablePair into my own > > package > > > (yuck): > > > > Composition (rather than extension) would work better here surely? > > > > Surely indeed Shirley ;) (Airplane!) > > > > Right now I am getting hashCode and equals for free with the subclass > > hack. > > > > Gary > > > > > > > public final class ImmutableFooImmutableBarPair extends > > > ImmutablePair<ImmutableFoo, ImmutableBar> { > > > > > > private static final long serialVersionUID = 123L; > > > > > > public ImmutableFooImmutableBarPair (final ImmutableFoo foo, final > > > ImmutableBar bar) { > > > super(Validate.notNull(nameMatch), Validate.notNull(article)); > > > } > > > > > > public ImmutableFoo getImmutableFoo() { > > > return this.getValue(); > > > } > > > > > > public ImmutableBar getImmutableBar() { > > > return this.getKey(); > > > } > > > ... > > > ImmutableFooImmutableBarPair pair = new > > ImmutableFooImmutableBarPair(myFoo, > > > myBar); > > > ... > > > pair.getImmutableFoo(); > > > ... > > > pair.getImmutableBar(); > > > > > > Gary > > > > > > > > >> > > >> On Tue, Oct 22, 2013 at 12:15 PM, sebb <seb...@gmail.com> wrote: > > >> > > >> > On 22 October 2013 18:10, Gary Gregory <garydgreg...@gmail.com> > > wrote: > > >> > > Hi All: > > >> > > > > >> > > Is there any reason we would want to keep ImmutablePair final? > > >> > > > >> > To stop mutable subclasses from being created? > > >> > > > >> > BTW, it's unfortunate that the fields are public; they should have > > >> > been private (there are public getters). > > >> > > > >> > > Gary > > >> > > > > >> > > -- > > >> > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > > >> > > Java Persistence with Hibernate, Second Edition< > > >> > http://www.manning.com/bauer3/> > > >> > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/ > > > > >> > > Spring Batch in Action <http://www.manning.com/templier/> > > >> > > Blog: http://garygregory.wordpress.com > > >> > > Home: http://garygregory.com/ > > >> > > Tweet! http://twitter.com/GaryGregory > > >> > > > >> > > --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > >> > For additional commands, e-mail: dev-h...@commons.apache.org > > >> > > > >> > > > >> > > >> > > >> -- > > >> Cheers, > > >> Paul > > >> > > > > > > > > > > > > -- > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > > > Java Persistence with Hibernate, Second Edition< > > http://www.manning.com/bauer3/> > > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > > > Spring Batch in Action <http://www.manning.com/templier/> > > > Blog: http://garygregory.wordpress.com > > > Home: http://garygregory.com/ > > > Tweet! http://twitter.com/GaryGregory > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory