/**
 * @(#)datetimeLineItemComparator.java
 * Copyright 2001 Nomura Research Institute, LTD. All rights reserved.
 * @author  Intelligent Technology Inc.
 * @version 1.00 2001/10/01-2002/03/26
 * @see LineItem LineItemComparator
 */
package jp.co.nri.rid.table.comparator;

/* java */
import	java.text.*;
import	java.util.*;

/* rid */
import	jp.co.nri.rid.table.*;

/**
 * LineItemオブジェクト同士を日付として比較する。おもにTableでのソートに使用。
 */
public class datetimeLineItemComparator extends LineItemComparator{
	/**
	 * @param	name	比較する列名。
	 * @param	mode	モード。
	 * @since	1.00
	 */
	public datetimeLineItemComparator(String name ,int mode){ super(name ,mode); }
	
	/**
	 * Comparator実装。
	 * @since	1.00
	 */
	public	int	compare(Object a ,Object b){
		Date adate;
		Date bdate;
		try{ adate = DateFormat.getDateTimeInstance().parse(((LineItem)a).cellstring(myName)); }
		catch(ParseException		e){	return(-myMode); }
		catch(NullPointerException	e){	return(-myMode); }
		
		try{ bdate = DateFormat.getDateTimeInstance().parse(((LineItem)b).cellstring(myName)); }
		catch(ParseException		e){	return(myMode); }
		catch(NullPointerException	e){	return(myMode); }
		
		return	adate.compareTo(bdate)*myMode;
	}
}