package ru.hflabs.rcd.model.notification; import org.springframework.util.comparator.NullSafeComparator; import ru.hflabs.rcd.model.Comparators; import java.util.Comparator; /** * Класс <class>NotificationComparators</class> реализует агрегацию сервисов сравнения событий оповещения * * @see Comparators */ public abstract class NotificationComparators extends Comparators { /** Сервис сравнения по типу события */ public static final Comparator<Notification> BY_TYPE = new Comparator<Notification>() { @Override @SuppressWarnings("unchecked") public int compare(Notification o1, Notification o2) { return NullSafeComparator.NULLS_LOW.compare(o1.getType(), o2.getType()); } }; /** Сервис сравнения по группе источника */ public static final Comparator<Notification> BY_FROM_GROUP = new Comparator<Notification>() { @Override @SuppressWarnings("unchecked") public int compare(Notification o1, Notification o2) { return NullSafeComparator.NULLS_LOW.compare(o1.getFromGroupName(), o2.getFromGroupName()); } }; /** Сервис сравнения по справочнику источника */ public static final Comparator<Notification> BY_FROM_DICTIONARY = new Comparator<Notification>() { @Override @SuppressWarnings("unchecked") public int compare(Notification o1, Notification o2) { return NullSafeComparator.NULLS_LOW.compare(o1.getFromDictionaryName(), o2.getFromDictionaryName()); } }; /** Сервис сравнения по группе назначения */ public static final Comparator<Notification> BY_TO_GROUP = new Comparator<Notification>() { @Override @SuppressWarnings("unchecked") public int compare(Notification o1, Notification o2) { return NullSafeComparator.NULLS_LOW.compare(o1.getToGroupName(), o2.getToGroupName()); } }; /** Сервис сравнения по справочнику назначения */ public static final Comparator<Notification> BY_TO_DICTIONARY = new Comparator<Notification>() { @Override @SuppressWarnings("unchecked") public int compare(Notification o1, Notification o2) { return NullSafeComparator.NULLS_LOW.compare(o1.getToDictionaryName(), o2.getToDictionaryName()); } }; protected NotificationComparators() { // embedded constructor } }