package fr.openwide.core.test.wicket.more.business.person.model; import com.google.common.collect.Ordering; import fr.openwide.core.jpa.business.generic.model.GenericEntity; import fr.openwide.core.jpa.business.generic.util.AbstractGenericEntityComparator; public class PersonComparator extends AbstractGenericEntityComparator<Long, Person> { private static final long serialVersionUID = 5465095061690808293L; private static final PersonComparator INSTANCE = new PersonComparator(); private static final Ordering<String> STRING_COMPARATOR = GenericEntity.DEFAULT_STRING_COLLATOR; public static PersonComparator get() { return INSTANCE; } @Override protected int compareNotNullObjects(Person left, Person right) { int order = STRING_COMPARATOR.compare(left.getLastName(), right.getLastName()); if (order == 0) { order = STRING_COMPARATOR.compare(left.getFirstName(), right.getFirstName()); } if (order == 0) { order = super.compareNotNullObjects(left, right); } return order; } }