Send from my mobile device

> Am 21.10.2013 um 03:46 schrieb sebb <seb...@gmail.com>:
> 
>> On 20 October 2013 15:03, Benedikt Ritter <brit...@apache.org> wrote:
>> I agree. If we don't deprecate it now, and agree to release the next major
>> version targeting Java 7, we would remove those methods without ever
>> mentioning it before.
> 
> That's not how I see it working.
> 
> I think the deprecations should be added once the code requires a
> minimum of Java 7.
> Later on, the deprecated methods are removed if required (they could be left).
> 
> In any case, removal of the deprecated methods is not binary
> compatible, so new package/Maven coords are needed.
> In which case, it's not really a problem that the methods are not
> deprecated first.
> It would be sufficient to note the replacements in the release notes.
> 
> Deprecation is only useful to users of a library if there is a
> replacement they can use.

There is a replacement as Hen has pointed out. What you're saying is that the 
replacement has to be part of the library, right?

> 
>> Thanks for adding the suppressions, btw :-)
>> 
>> Benedikt
>> 
>> 
>> 2013/10/19 Henri Yandell <flame...@gmail.com>
>> 
>>> My tuppence:
>>> 
>>> Lang 3 targets Java 6, but users can go upgrade to Java 7. So the
>>> deprecated warnings are actionable by changing your code to Java 7.
>>> 
>>> Internal use - would this lead to warnings? As long as it isn't leading to
>>> warnings, updating internal is only a best practice and in this case
>>> wouldn't be possible as we're the ones stuck on Java 6.
>>> 
>>> Hen
>>> 
>>> 
>>>> On Fri, Oct 18, 2013 at 9:25 AM, Matt Benson <gudnabr...@gmail.com> wrote:
>>>> 
>>>> Perhaps we need some other kind of pre-deprecation convention.
>>>> 
>>>> Matt
>>>> 
>>>> 
>>>>> On Fri, Oct 18, 2013 at 11:14 AM, sebb <seb...@gmail.com> wrote:
>>>>> 
>>>>> When adding an @depecrated annotation, please add the version in which
>>>>> the code was deprecated.
>>>>> 
>>>>> Also, although the comment provides an alternative method, it's not
>>>>> actually available until Java 7.
>>>>> As Lang currently targets Java 6, that is not helpful to end users.
>>>>> How are they supposed to avoid the warnings?
>>>>> Also, Lang code itself uses the deprecated code.
>>>>> When deprecating methods, the first thing that should be changed is
>>>>> internal uses.
>>>>> That helps ensure that the replacement works OK.
>>>>> 
>>>>> [It's OK for test code to use deprecated methods]
>>>>> 
>>>>> I think we need to either provide new methods which are available with
>>>>> Java 1.6, or delay the deprecation until the code requires Java 7 as
>>>>> minimum.
>>>>> 
>>>>>> On 14 October 2013 19:36, Benedikt Ritter <brit...@apache.org> wrote:
>>>>>> Hi Matt,
>>>>>> 
>>>>>> (fired the last one without adding my comment :-)
>>>>>> 
>>>>>> 
>>>>>> 2013/10/14 Benedikt Ritter <benerit...@gmail.com>
>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 2013/10/14 Matt Benson <gudnabr...@gmail.com>
>>>>>>> 
>>>>>>>> Hi Benedikt, see inline:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Mon, Oct 14, 2013 at 1:15 PM, <brit...@apache.org> wrote:
>>>>>>>>> 
>>>>>>>>> Author: britter
>>>>>>>>> Date: Mon Oct 14 18:15:39 2013
>>>>>>>>> New Revision: 1532011
>>>>>>>>> 
>>>>>>>>> URL: http://svn.apache.org/r1532011
>>>>>>>>> Log:
>>>>>>>>> Deprecate methods that are available in Java 7's
>>> java.lang.Objects
>>>>>>>>> 
>>>>>>>>> Modified:
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ArrayUtils.java
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
>>>>>>>>> 
>>>>>>>>> Modified:
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ArrayUtils.java
>>>>>>>>> URL:
>>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ArrayUtils.java?rev=1532011&r1=1532010&r2=1532011&view=diff
>>> ==============================================================================
>>>>>>>>> ---
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ArrayUtils.java
>>>>>>>>> (original)
>>>>>>>>> +++
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ArrayUtils.java
>>>>>>>>> Mon Oct 14 18:15:39 2013
>>>>>>>>> @@ -199,6 +199,8 @@ public class ArrayUtils {
>>>>>>>>>      * @param array1  the left hand array to compare, may be
>>>> {@code
>>>>>>>> null}
>>>>>>>>>      * @param array2  the right hand array to compare, may be
>>>> {@code
>>>>>>>> null}
>>>>>>>>>      * @return {@code true} if the arrays are equal
>>>>>>>>> +     * @deprecated this method has been replaced by {@code
>>>>>>>>> java.util.Objects.deepEquals(Object, Object)} and will be
>>>>>>>>> +     * removed from future releases.
>>>>>>>>>      */
>>>>>>>>>     public static boolean isEquals(final Object array1, final
>>>> Object
>>>>>>>>> array2) {
>>>>>>>>>         return new EqualsBuilder().append(array1,
>>>>> array2).isEquals();
>>>>>>>>> 
>>>>>>>>> Modified:
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
>>>>>>>>> URL:
>>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java?rev=1532011&r1=1532010&r2=1532011&view=diff
>>> ==============================================================================
>>>>>>>>> ---
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
>>>>>>>>> (original)
>>>>>>>>> +++
>>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/ObjectUtils.java
>>>>>>>>> Mon Oct 14 18:15:39 2013
>>>>>>>>> @@ -149,6 +149,8 @@ public class ObjectUtils {
>>>>>>>>>      * @param object1  the first object, may be {@code null}
>>>>>>>>>      * @param object2  the second object, may be {@code null}
>>>>>>>>>      * @return {@code true} if the values of both objects are
>>> the
>>>>> same
>>>>>>>>> +     * @deprecated this method has been replaces by {@code
>>>>>>>>> java.util.Objects.equals(Object, Object)} in Java 7 and will
>>>>>>>>> +     * be removed from future releases.
>>>>>>>>>      */
>>>>>>>>>     public static boolean equals(final Object object1, final
>>>> Object
>>>>>>>>> object2) {
>>>>>>>>>         if (object1 == object2) {
>>>>>>>>> @@ -195,6 +197,8 @@ public class ObjectUtils {
>>>>>>>>>      * @param obj  the object to obtain the hash code of, may be
>>>>> {@code
>>>>>>>>> null}
>>>>>>>>>      * @return the hash code of the object, or zero if null
>>>>>>>>>      * @since 2.1
>>>>>>>>> +     * @deprecated this method has been replaced by {@code
>>>>>>>>> java.util.Objects.hashCode(Object)} in Java 7 and will be
>>>>>>>>> +     * removed in future releases
>>>>>>>>>      */
>>>>>>>>>     public static int hashCode(final Object obj) {
>>>>>>>>>         // hashCode(Object) retained for performance, as hash
>>> code
>>>>> is
>>>>>>>>> often critical
>>>>>>>>> @@ -220,6 +224,8 @@ public class ObjectUtils {
>>>>>>>>>      * @param objects  the objects to obtain the hash code of,
>>> may
>>>>> be
>>>>>>>>> {@code null}
>>>>>>>>>      * @return the hash code of the objects, or zero if null
>>>>>>>>>      * @since 3.0
>>>>>>>>> +     * @deprecated this method has been replaced by {@code
>>>>>>>>> java.util.Objects.hash(Object...)} in Java 7 an will be
>>>>>>>>> +     * removed in future releases.
>>>>>>>>>      */
>>>>>>>>>     public static int hashCodeMulti(final Object... objects) {
>>>>>>>>>         int hash = 1;
>>>>>>>>> @@ -373,6 +379,9 @@ public class ObjectUtils {
>>>>>>>>>      * @param obj  the Object to {@code toString}, may be null
>>>>>>>>>      * @return the passed in Object's toString, or {@code ""} if
>>>>> {@code
>>>>>>>>> null} input
>>>>>>>>>      * @since 2.0
>>>>>>>>> +     * @deprecated this method has been replaces by {@code
>>>>>>>>> java.util.Objects.toString(Object)} in Java 7 and will be
>>>>>>>>> +     * removed in future releases. Note however that said method
>>>>> will
>>>>>>>>> return "null" for null references, while this
>>>>>>>>> +     * method returns and empty String. To preserve behavior use
>>>>> {@code
>>>>>>>>> java.util.Objects.toString(myObject, "")}
>>>>>>>> 
>>>>>>>> My preference here would be to begin providing
>>>>>>>> ObjectUtils#defaultString(Object) with the existing "", intended to
>>>>>>>> survive
>>>>>>>> beyond the removal of ObjectUtils.toString().  This will:
>>>>>>>> * preserve the users' ability to call a method that implicitly
>>> uses
>>>> ""
>>>>>>>> * reduce confusion with Objects.toString(), and
>>>>>>>> * enforce mnemonic retention by using the same
>>> terminology/behavior
>>>> as
>>>>>>>> StringUtils#defaultString()
>>>>>>>> 
>>>>>>>> I'd welcome assenting or dissenting opinions here from other
>>>> committers
>>>>>>>> and
>>>>>>>> users.
>>>>>> Makes sense to me. So if nobody objects, feel free to change it like
>>>>> that.
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>>> Matt
>>>>>>>> 
>>>>>>>> 
>>>>>>>>>      */
>>>>>>>>>     public static String toString(final Object obj) {
>>>>>>>>>         return obj == null ? "" : obj.toString();
>>>>>>>>> @@ -396,6 +405,8 @@ public class ObjectUtils {
>>>>>>>>>      * @param nullStr  the String to return if {@code null}
>>> input,
>>>>> may
>>>>>>>> be
>>>>>>>>> null
>>>>>>>>>      * @return the passed in Object's toString, or {@code
>>> nullStr}
>>>>> if
>>>>>>>>> {@code null} input
>>>>>>>>>      * @since 2.0
>>>>>>>>> +     * @deprecated this method has been replaces by {@code
>>>>>>>>> java.util.Objects.toString(Object, String)} in Java 7 and
>>>>>>>>> +     * will be removed in future releases.
>>>>>>>>>      */
>>>>>>>>>     public static String toString(final Object obj, final String
>>>>>>>> nullStr)
>>>>>>>>> {
>>>>>>>>>         return obj == null ? nullStr : obj.toString();
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> http://people.apache.org/~britter/
>>>>>> http://www.systemoutprintln.de/
>>>>>> http://twitter.com/BenediktRitter
>>>>>> http://github.com/britter
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>> 
>> 
>> 
>> --
>> http://people.apache.org/~britter/
>> http://www.systemoutprintln.de/
>> http://twitter.com/BenediktRitter
>> http://github.com/britter
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to