[ 
https://issues.apache.org/jira/browse/LANG-1634?focusedWorklogId=529170&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-529170
 ]

ASF GitHub Bot logged work on LANG-1634:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 29/Dec/20 15:51
            Start Date: 29/Dec/20 15:51
    Worklog Time Spent: 10m 
      Work Description: garydgregory edited a comment on pull request #684:
URL: https://github.com/apache/commons-lang/pull/684#issuecomment-752129692


   It seems to me the true test of a new API like `applyIfNonNull` is where can 
it be used within Commons Lang, if we don't eat our own dog food, it seems odd 
to tell others to do so. IOW, I'd like to see this PR include using this API.
   
   I'm not convinced as to the utility of `applyFirstNonNull`, see above.
   
   Also, for my money, I'd flip the arguments:
   ```
   ObjectUtils.applyIfNonNull(null, bean::setValue);
   ```
   Which reads to me like "if the object is non-null, then apply the function" 
but then maybe the method should be `ifNonNullApply`, at least that's how my 
left-to-right reading brain works ;-)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 529170)
    Time Spent: 1h 20m  (was: 1h 10m)

> ObjectUtils - apply Consumer with non-null value
> ------------------------------------------------
>
>                 Key: LANG-1634
>                 URL: https://issues.apache.org/jira/browse/LANG-1634
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.*
>            Reporter: Bindul Bhowmik
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> There are multiple places in code where we have to check if a value is 
> {{null}} before using it in a setter or other method, like:
> {code:java}
> if (valueX != null) {
>       bean.setValue(valueX);
>       someObject.compute(valueX, "bar");
> }
> {code}
> This enhancement request is to add a couple of methods in {{ObjectUtils}} to 
> wrap this logic,  like the following:
> {code:java}
> public static <T> void applyIfNonNull(final Consumer<T> consumer, final T 
> object)
> public static <T> void applyFirstNonNull(final Consumer<T> consumer, final 
> T... objects)
> {code}
> With this the two statements above could be used as:
> {code:java}
> ObjectUtils.applyIfNonNull(bean::setValue, valueX);
> ObjectUtils.appyIfNonNull(v -> someObject.compute(v, "bar"), valueX);
> {code}
> The benefit of this should increase with more such null checks we need in the 
> code that can be replaced by single statements.
> Pull request forthcoming.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to