/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.model.util; import java.util.Comparator; import org.apache.commons.lang.ObjectUtils; import com.emc.storageos.db.client.model.ModelObject; public class LastUpdatedComparator implements Comparator<ModelObject> { private boolean descending; public LastUpdatedComparator() { this(true); } public LastUpdatedComparator(boolean descending) { this.descending = descending; } @Override public int compare(ModelObject a, ModelObject b) { int result = ObjectUtils.compare(a.getLastUpdated(), b.getLastUpdated()); return descending ? -result : result; } /** Comparator that returns newest updated objects first. */ public static final LastUpdatedComparator NEWEST = new LastUpdatedComparator(true); /** Comparator that puts oldest updated objects first. */ public static final LastUpdatedComparator OLDEST = new LastUpdatedComparator(false); }