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 comparatorByBornComparable or @Sortable.