On Tue, Oct 22, 2013 at 12:33 PM, 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):
>
> 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();
>
> Are you saying your use case is to create a class that binds the type
variables of ImmutablePair?

Matt


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

Reply via email to