So what is having a non-generic runtime class accomplishing for you?

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

Reply via email to