Here is an example of my Comparator
static Map<Key, Comparator<Employee>> map = new HashMap<>();
map.put(new Key("name", Direction.asc),
Comparator.comparing(employee -> employee.getUser().getFullName()));
But if I like to make the comparator to be reversed - comparing() can't resolve objects inside. For example
map.put(new Key("name", Direction.desc),
Comparator.comparing(employee -> employee.getUser().getFullName())
.reversed());
Interesting part is that
map.put(new Key("start_date", Direction.desc),
Comparator.comparing(Employee::getStartDate).reversed());
works as intended. But it seems like I can't call comparator on the returned String of a method of a nested object.
map.put(new Key("start_date", Direction.desc),
Comparator.comparing(Employee::getUser::getFullName());
is impossible.