Skip to content

Conversation

@aNNiMON
Copy link
Owner

@aNNiMON aNNiMON commented Mar 23, 2017

As suggested in #109, it would be great to use comparators chaining with direct inheritance. This pull request breaks binary compatibility.
ComparatorCompat now parameterized and implements Comparator interface. All static methods now returns ComparatorCompat instead of Comparator.

ComparatorCompat.comparator marks as deprecated. If you're using comparators chaining, here is an example how to make your code great again:

// Before
comparator = ComparatorCompat
        .chain(ComparatorCompat.naturalOrder())
        .comparing(...)
        .reversed()
        .comparator();

// After
comparator = ComparatorCompat.naturalOrder()
        .comparing(...)
        .reversed();
// Before
comparator = ComparatorCompat
        .chain(String.CASE_INSENSITIVE_ORDER)
        .thenComparing(...)
        .comparator();

// After
comparator = ComparatorCompat
        .chain(String.CASE_INSENSITIVE_ORDER)
        .thenComparing(...);
// Or
comparator = new ComparatorCompat<String>(String.CASE_INSENSITIVE_ORDER)
        .thenComparing(...);

I apologize for the inconvenience and hope that these changes will make your code cleaner 🙏

@coveralls
Copy link

coveralls commented Mar 23, 2017

Coverage Status

Coverage increased (+0.2%) to 100.0% when pulling b787f33 on comparator-compat-improvements into 6d65ffa on master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 100.0% when pulling ed48a4d on comparator-compat-improvements into 6d65ffa on master.

@aNNiMON aNNiMON merged commit d064271 into master Mar 24, 2017
@aNNiMON aNNiMON deleted the comparator-compat-improvements branch March 24, 2017 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants