00001 /* 00002 * JOnAS: Java(TM) Open Application Server 00003 * Copyright (C) 1999 Bull S.A. 00004 * Contact: jonas-team@objectweb.org 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00019 * USA 00020 * 00021 * -------------------------------------------------------------------------- 00022 * $Id: ObjectNameComparator.java,v 1.3 2004/03/19 14:31:53 sauthieg Exp $ 00023 * -------------------------------------------------------------------------- 00024 */ 00025 00026 package org.objectweb.jonas.webapp.jonasadmin.common; 00027 00028 import java.util.Comparator; 00029 00030 import javax.management.ObjectName; 00031 00035 public class ObjectNameComparator implements Comparator { 00036 00037 // --------------------------------------------------------- Public Methods 00038 00039 public int compare(Object p_O1, Object p_O2) { 00040 //return p_O1.toString().compareTo(p_O2.toString()); 00041 ObjectName o1 = (ObjectName) p_O1; 00042 ObjectName o2 = (ObjectName) p_O2; 00043 int iRet = o1.getDomain().compareToIgnoreCase(o2.getDomain()); 00044 if (iRet == 0) { 00045 iRet = o1.getDomain().compareTo(o2.getDomain()); 00046 if (iRet == 0) { 00047 iRet = o1.toString().compareToIgnoreCase(o2.toString()); 00048 } 00049 } 00050 return iRet; 00051 } 00052 00053 public boolean equals(Object p_Obj) { 00054 if (p_Obj instanceof ObjectName) { 00055 return (compare(this, p_Obj) == 0); 00056 } 00057 return false; 00058 } 00059 }