A class annotation used to make a class Comparable by multiple Comparators.
As an example, given this class:
@Sortable class Person {
String first
String last
Integer born
}
The generated Groovy class will:
- implement the
Comparable interface
- have a
compareTo method based on the first,
last and born properties (priority ordering will be according
to the ordering of property definition, highest first, unless 'includes' is used; in which case,
priority will be according to the order given in the includes list)
- have three
Comparator methods named comparatorByFirst,
comparatorByLast and comparatorByBorn
The properties within the class must themselves be
Comparable or
@Sortable.