[jira] Created: (LANG-358) ObjectUtils.coalesce

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] Created: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
ObjectUtils.coalesce
--------------------

                 Key: LANG-358
                 URL: https://issues.apache.org/jira/browse/LANG-358
             Project: Commons Lang
          Issue Type: New Feature
    Affects Versions: LangTwo 1.0
            Reporter: Jörg Gottschling
            Priority: Minor


I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
<T> T ObjectUtils.coalesce(T... t)
The first object, which is not null will be returned. I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
<T> T ObjectUtils.coalesce(T t1, T t2)
<T> T ObjectUtils.coalesce(T t1, T t2, T t3)
...

I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jörg Gottschling updated LANG-358:
----------------------------------

    Description:
I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
<T> T ObjectUtils.coalesce(T... t)
The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.

I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
<T> T ObjectUtils.coalesce(T t1, T t2)
<T> T ObjectUtils.coalesce(T t1, T t2, T t3)
...

I would provide it, including tests, if you like.


  was:
I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
<T> T ObjectUtils.coalesce(T... t)
The first object, which is not null will be returned. I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
<T> T ObjectUtils.coalesce(T t1, T t2)
<T> T ObjectUtils.coalesce(T t1, T t2, T t3)
...

I would provide it, including tests, if you like.


> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>    Affects Versions: LangTwo 1.0
>            Reporter: Jörg Gottschling
>            Priority: Minor
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henri Yandell updated LANG-358:
-------------------------------

        Fix Version/s: LangTwo 1.0
    Affects Version/s:     (was: LangTwo 1.0)

> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>            Reporter: Jörg Gottschling
>            Priority: Minor
>             Fix For: LangTwo 1.0
>
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jörg Gottschling updated LANG-358:
----------------------------------

    Attachment: ObjectUtils.java

trivial implementation of coalesce

> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>            Reporter: Jörg Gottschling
>            Priority: Minor
>             Fix For: LangTwo 1.0
>
>         Attachments: ObjectUtils.java
>
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jörg Gottschling updated LANG-358:
----------------------------------

    Attachment: ObjectUtilsTest.java

test for the method

> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>            Reporter: Jörg Gottschling
>            Priority: Minor
>             Fix For: LangTwo 1.0
>
>         Attachments: ObjectUtils.java, ObjectUtilsTest.java
>
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742774#action_12742774 ]

Henri Yandell commented on LANG-358:
------------------------------------

Ponders coalesce vs 'firstNotNull'.

Interesting that the first doc I found on SQL coalesce uses firstNotNull as the label:

http://msdn.microsoft.com/en-us/library/ms190349.aspx

> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>            Reporter: Jörg Gottschling
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: ObjectUtils.java, ObjectUtilsTest.java
>
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Closed: (LANG-358) ObjectUtils.coalesce

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/LANG-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henri Yandell closed LANG-358.
------------------------------

    Resolution: Fixed

svn ci -m "Applying Jörg Gottschling's patch from LANG-358 with Thomas Menzel's naming from LANG-550 and some of his tests. This adds a firstNonNull method to ObjectUtils. " src
Sending        src/java/org/apache/commons/lang/ObjectUtils.java
Sending        src/test/org/apache/commons/lang/ObjectUtilsTest.java
Transmitting file data ..
Committed revision 833016.


> ObjectUtils.coalesce
> --------------------
>
>                 Key: LANG-358
>                 URL: https://issues.apache.org/jira/browse/LANG-358
>             Project: Commons Lang
>          Issue Type: New Feature
>            Reporter: Jörg Gottschling
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: ObjectUtils.java, ObjectUtilsTest.java
>
>
> I like to see the coalesce-function from SQL implemented in ObjectUtils. Something like this:
> <T> T ObjectUtils.coalesce(T... t)
> The first object, which is not null will be returned. This would replace all the defaultValue/defaultString/... methods, with al flexibler and shorter method. It will also reuse an existing name.
> I think it's simple. Perhaps there should be overloading methods with fixed parameter sizes. Following the jdk this seems to a little faster:
> <T> T ObjectUtils.coalesce(T t1, T t2)
> <T> T ObjectUtils.coalesce(T t1, T t2, T t3)
> ...
> I would provide it, including tests, if you like.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.