xplugincomparator.java

来自「java写的浏览器」· Java 代码 · 共 94 行

JAVA
94
字号
/****************************************************************
*              XBrowser  -  eXtended web Browser                *
*                                                               *
*           Copyright (c) 2000-2001  Armond Avanes              *
*     Refer to ReadMe & License files for more information      *
*                                                               *
*                                                               *
*                      By: Armond Avanes                        *
*       Armond555@yahoo.com     &    Armond333@yahoo.com        *
*                http://xbrowser.sourceforge.net/               *
*****************************************************************/
package xbrowser.plugin;

import xbrowser.*;
import xbrowser.util.*;

import java.util.*;

public class XPluginComparator implements Comparator
{
	public XPluginComparator(int sortCol, boolean sortAsc)
	{
		this.sortedCol = sortCol;
		this.sortAsc = sortAsc;
	}

	public int compare(Object o1, Object o2)
	{
		if( !(o1 instanceof XPluginObject) || !(o2 instanceof XPluginObject) )
			return 0;

	XPluginObject plugin1 = (XPluginObject) o1;
	XPluginObject plugin2 = (XPluginObject) o2;
	int			result = 0;

		switch( sortedCol )
		{
			case 0:		// status
				result = plugin1.getStatusString().compareToIgnoreCase(plugin2.getStatusString());
				break;

			case 1:		// name
				result = plugin1.getName().compareToIgnoreCase(plugin2.getName());
				break;

			case 2:		// version
				result = plugin1.getVersion().compareTo(plugin2.getVersion());
				break;

			case 3:		// dock
				result = plugin1.getDockString().compareTo(plugin2.getDockString());
				break;

			case 4:		// autostart
				if( plugin1.isAutoStart()==plugin2.isAutoStart() )
					result = 0;
				else if( plugin1.isAutoStart() )
					result = -1;
				else
					result = 1;
				break;

			case 5:		// date
				result = plugin1.getReleaseDate().compareTo(plugin2.getReleaseDate());
				break;

			case 6:		// authorName
				result = plugin1.getAuthorName().compareTo(plugin2.getAuthorName());
				break;
		}

		if( !sortAsc )
			result = -result;

		return result;
	}

	public boolean equals(Object obj)
	{
		if( obj instanceof XPluginComparator )
		{
		XPluginComparator compObj = (XPluginComparator) obj;

			return (compObj.sortedCol == sortedCol) && (compObj.sortAsc == sortAsc);
		}

		return false;
	}

// Attributes:
	private int		sortedCol;
	private boolean   sortAsc;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?