commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@gmail.com>
Subject Re: [Lang] Pair toString
Date Wed, 20 Apr 2011 21:07:46 GMT
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");
  }

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


Mime
View raw message