/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.vertical.work; import java.util.Comparator; /** * WorkEntryComparator. * * @author Georg Lundesgaard (glu@enonic.com) */ public final class WorkEntryComparator implements Comparator { /** * Instance of comparator. */ public final static WorkEntryComparator INSTANCE = new WorkEntryComparator(); /** * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ public int compare( Object o1, Object o2 ) { WorkEntry entry1 = (WorkEntry) o1; WorkEntry entry2 = (WorkEntry) o2; if ( entry1.getNextFireTime() == null && entry2.getNextFireTime() == null ) { return 0; } else if ( entry1.getNextFireTime() == null ) { return -1; } else if ( entry2.getNextFireTime() == null ) { return 1; } long diff = ( entry1.getNextFireTime().getTime() - entry2.getNextFireTime().getTime() ); if ( diff < 0 ) { return -1; } else if ( diff > 0 ) { return 1; } else { return 0; } } /** * @see java.util.Comparator#equals(java.lang.Object) */ public boolean equals( Object obj ) { return obj instanceof WorkEntryComparator; } }