package cn.mutils.core.sort.comparator; import java.util.Comparator; import java.util.Map.Entry; import cn.mutils.core.sort.ILastAccessItem; import cn.mutils.core.sort.Order; import cn.mutils.core.sort.OrderItem; /** * Comparator for {@link ILastAccessItem} in map * * @param <K> */ public class LastAccessItemEntryComparator<K, V extends ILastAccessItem> extends OrderItem implements Comparator<Entry<K, V>> { @Override public int compare(Entry<K, V> lhs, Entry<K, V> rhs) { long diff = lhs.getValue().lastAccess() - rhs.getValue().lastAccess(); if (diff > 0) { return mOrder == Order.ASC ? 1 : -1; } else if (diff < 0) { return mOrder == Order.ASC ? -1 : 1; } else { return 0; } } }