Expressions will work with non-modeled properties as long as the methods look like getters - have the "get" prefix and no arguments.
But I would use this: Collections.sort(list, (a,b) -> a.getSomeProp().compareTo(b.getSomeProp())); On Mon, Jul 17, 2017 at 8:08 AM Musall, Maik <m...@selbstdenker.ag> wrote: > Hi all, > > I have a UI with a list of objects and user-configurable filters and > sorting criteria. Most of the sorting criteria are plain db path > expressions, so I can just feed them into Ordering.orderedList(objects). > > A couple of them however are path expressions with the last segment being > not a Property, but a method name that is supposed to be invoked, which > would then return a String, after which the list is to be ordered. This > worked fine in the past using EOF and EOSortOrdering, but Cayenne's > ordering throws an ExpressionException on evaluate(). > > What is the usual way in Cayenne to deal with this? > > Thanks > Maik > >