00001 /* 00002 * This file is part of JXClient, the Fullscreen Java Crossfire Client. 00003 * 00004 * JXClient is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * JXClient is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with JXClient; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00017 * 00018 * Copyright (C) 2005-2008 Yann Chachkoff. 00019 * Copyright (C) 2006-2011 Andreas Kirschbaum. 00020 */ 00021 00022 package com.realtime.crossfire.jxclient.items; 00023 00024 import java.util.Comparator; 00025 import org.jetbrains.annotations.NotNull; 00026 00032 public class InventoryComparator implements Comparator<CfItem> { 00033 00037 @Override 00038 public int compare(@NotNull final CfItem o1, @NotNull final CfItem o2) { 00039 if (o1.getType() < o2.getType()) { 00040 return -1; 00041 } 00042 if (o1.getType() > o2.getType()) { 00043 return +1; 00044 } 00045 final int cmp1 = o1.getName().compareTo(o2.getName()); 00046 if (cmp1 != 0) { 00047 return cmp1; 00048 } 00049 if (o1.getTag() < o2.getTag()) { 00050 return -1; 00051 } 00052 if (o1.getTag() > o2.getTag()) { 00053 return +1; 00054 } 00055 return 0; 00056 } 00057 00058 }