⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xbookmarkcomparator.java

📁 XBrowser是一个完全免费并且开源的Web浏览器
💻 JAVA
字号:
/****************************************************************
*              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.bookmark;

import java.util.*;

/** Suport for bookmark search and sort.
 *  Implement custom comparator for custom search. */
public class XBookmarkComparator implements Comparator
{
	/** Creates comparator with specified search condition.
	 *  @param sort_col Column number to compare against; 0 -- type,
	 *         1 -- title, 2 -- location, 3 -- description.
	 *  @param sort_asc  true -- sort ascending order, false -- descending.
	 */
	public XBookmarkComparator(int sort_col, boolean sort_asc)
	{
		sortedCol = sort_col;
		sortAsc = sort_asc;
	}

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

	XAbstractBookmark   bm1 = (XAbstractBookmark) o1;
	XAbstractBookmark   bm2 = (XAbstractBookmark) o2;
	int					result = 0;
	String str1,str2;

		switch( sortedCol )
		{
			case 0:		// bookmark type (bookmark or bookmarkfolder)
				if( bm1.getClass().equals(bm2.getClass()) )
					result = bm1.getTitle().compareToIgnoreCase(bm2.getTitle()); // Then compare the titles!
				else if( bm1 instanceof XBookmarkFolder )
					result = -1;
				else
					result = 1;
				break;

			case 1:		// title
				result = bm1.getTitle().compareToIgnoreCase(bm2.getTitle());
				break;

			case 2:		// location
				str1 = (bm1 instanceof XBookmark) ? ((XBookmark)bm1).getHRef() : "";
				str2 = (bm2 instanceof XBookmark) ? ((XBookmark)bm2).getHRef() : "";

				result = str1.compareToIgnoreCase(str2);
				break;

			case 3:		// description
				result = bm1.getDescription().compareTo(bm2.getDescription());
				break;
		}

		if( !sortAsc )
			result = -result;

		return result;
	}

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

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

		return false;
	}

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

⌨️ 快捷键说明

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