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? > 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