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();

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