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:
Comparable
interfacecompareTo
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)Comparator
methods named comparatorByFirst
,
comparatorByLast
and comparatorByBorn
Comparable
or @Sortable
.