/* * $Id: ICTreeNodeComparator.java,v 1.1.2.1 2007/01/12 19:32:32 idegaweb Exp $ * Created on 8.1.2005 * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.core.business; import java.text.Collator; import java.util.Comparator; import java.util.Locale; import com.idega.core.data.ICTreeNode; /** * A comparator to compare ICTreeNodes by their name. * * Last modified: $Date: 2007/01/12 19:32:32 $ by $Author: idegaweb $ * * @author <a href="mailto:laddi@idega.com">laddi</a> * @version $Revision: 1.1.2.1 $ */ public class ICTreeNodeComparator implements Comparator { private Collator collator; private Locale iLocale; public ICTreeNodeComparator() { } public ICTreeNodeComparator(Locale locale) { this.iLocale = locale; } /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ public int compare(Object o1, Object o2) { ICTreeNode p1 = (ICTreeNode) o1; ICTreeNode p2 = (ICTreeNode) o2; if (this.iLocale != null) { this.collator = Collator.getInstance(this.iLocale); return this.collator.compare(p1.getNodeName(this.iLocale), p2.getNodeName(this.iLocale)); } else { this.collator = Collator.getInstance(); return this.collator.compare(p1.getNodeName(), p2.getNodeName()); } } }