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:08:57 GMT
On Wed, Apr 20, 2011 at 4: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");
>  }

Oops, should have embedded (%2$s:%3$s)... you get the idea though.

Matt

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