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

Reply via email to