commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [Lang] Pair toString
Date Wed, 20 Apr 2011 22:25:37 GMT
On Wed, Apr 20, 2011 at 5:07 PM, Matt Benson <gudnabrsam@gmail.com> wrote:

> On Wed, Apr 20, 2011 at 3:46 PM, Gary Gregory <garydgregory@gmail.com>
> wrote:
> > On Wed, Apr 20, 2011 at 4:36 PM, Jörg Schaible <joerg.schaible@gmx.de
> >wrote:
> >
> >> Gary Gregory wrote:
> >>
> >> > On Wed, Apr 20, 2011 at 1:24 PM, Matt Benson <gudnabrsam@gmail.com>
> >> wrote:
> >> >
> >> >> On Wed, Apr 20, 2011 at 1:10 AM, Henri Yandell <flamefew@gmail.com>
> >> >> wrote:
> >> >> > Is Pair now good (for a value of consensually agreed good)?
> >> >>
> >> >> Good enough, although Stephen noted in ImmutablePair's javadoc that
> >> >> being non-final, a subclass could add
> >> >> undesirable/counter-to-expectation behavior.  I can't see any reason
> >> >> why we shouldn't make this class final, particularly as the option
> >> >> always exists to lift that restriction should someone later provide
a
> >> >> justification for doing so.  Does anyone object to this?
> >> >>
> >> >
> >> > Please do not make the class final.
> >> >
> >> > The first thing I want to do is dump my custom pair class and plug
> this
> >> > one in. But, in order to do so, I need to override toString().
> >> >
> >> > Which gives me another custom class... so why do I want to do this?
> Hm...
> >> > good question. Until I play with it some more, I am not sure which way
> to
> >> > go for my use case. Just don't lock me out ;)
> >>
> >> Couldn't you use in that case Pair<T,U> directly?
> >>
> >
> > If I use a pair directly, then the call site has to know about the
> toString
> > argument, which I want to hide in a subclass. I could have a MyPairUtils
> > that hides it instead I suppose. Not the prettiest but it avoids
> subclassing
> > I suppose.
> >
> > Still, don't lock me out from trying :)
> >
>
> I think Sebastian was suggesting you implement:
>
> public class GarysImmutablePair<L, R> extends Pair<L, R> {
>
>  //construct, implement getLeft()/getRight(), whatever...
>
>  public String toString() {
>    return toString("look at me I'm a pair of (%s:%s) yo");
>  }
>
>
Right, it makes me question the sanity of porting from my class to this one
:(

Gary


> But I admit it does look like quite a bit of work needed just to
> override toString().  Also possible could be introducing
> AbstractImmutablePair into the inheritance chain, but feels like a lot
> just to get a final class.  I'm fine to leave as-is.
>
> Matt
>
> > Gary
> >
> >
> >>
> >> - Jörg
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> For additional commands, e-mail: dev-help@commons.apache.org
> >>
> >>
> >
> >
> > --
> > Thank you,
> > Gary
> >
> > http://garygregory.wordpress.com/
> > http://garygregory.com/
> > http://people.apache.org/~ggregory/
> > http://twitter.com/GaryGregory
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
Thank you,
Gary

http://garygregory.wordpress.com/
http://garygregory.com/
http://people.apache.org/~ggregory/
http://twitter.com/GaryGregory

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message