001    package org.hackystat.utilities.tstamp;
002    
003    import java.io.Serializable;
004    import java.util.Comparator;
005    
006    import javax.xml.datatype.XMLGregorianCalendar;
007    
008    /**
009     * Implements a comparator for XMLGregorianCalendar instances consistent with the Tstamp operations.
010     * @author Philip Johnson
011     */
012    public class TstampComparator implements Serializable, Comparator<XMLGregorianCalendar> {
013    
014      /** For serialization. */
015      private static final long serialVersionUID = 1L;
016    
017      /**
018       * Compares the two instances. 
019       * @param tstamp1 The first tstamp.
020       * @param tstamp2 The second tstamp.
021       * @return -1, 0, or +1 depending. 
022       */
023      public int compare(XMLGregorianCalendar tstamp1, XMLGregorianCalendar tstamp2) {
024        if (Tstamp.greaterThan(tstamp1, tstamp2)) {
025          return 1;
026        } 
027        else if (Tstamp.lessThan(tstamp1, tstamp2)) {
028          return -1;
029        }
030        else {
031          return 0;
032        }
033      }
034    }