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

📄 cssformatter.java

📁 javaBB,一套很不錯的JSP源碼,特共享給大家
💻 JAVA
字号:
/*
 * Copyright 28/03/2005 - Vicinity - www.vicinity.com.br All rights reserveds
 */
package org.javabb.lucene.search;


import java.util.Iterator;
import java.util.Map;

import org.apache.lucene.search.highlight.Formatter;
import org.apache.lucene.search.highlight.TokenGroup;


/**
 * Simple {@link org.apache.lucene.search.highlight.Formatter Formatter} to
 * highlight a term with a <a href="http://www.w3c.org/CSS">Cascade Style Sheet</a>
 * class. With CSS class you can alter highlight form easily.
 *
 * @author Marcos Silva Pereira - marcos.pereira@vicinity.com.br
 *
 * @since 05/03/2005
 *
 * @version $Id$
 *
 * @see org.apache.lucene.search.highlight.SpanGradientFormatter
 */
public class CSSFormatter implements Formatter {

	private String cssClass;

	private String cssStyle;

	/**
	 * @param cssClass
	 */
	public CSSFormatter ( String cssClass ) {

		this.cssClass = cssClass;

	}

	/**
	 * @param properties
	 */
	public CSSFormatter ( Map properties ) {

		cssStyle = constructStyle(properties);

	}

	/**
	 * @see Formatter#highlightTerm(String, TokenGroup)
	 */
	public String highlightTerm( String originalText, TokenGroup tokenGroup ) {

		if (tokenGroup.getTotalScore() > 0) {

			return doHighlightTerm(originalText);

		}

		return originalText;

	}

	private String doHighlightTerm( String originalText ) {

		StringBuffer buffer = new StringBuffer();

		if ((cssClass != null) && !cssClass.trim().equals("")) {

			buffer.append("<span class=\"").append(cssClass).append("\">");
			buffer.append(originalText);
			buffer.append("</span>");

		} else {

			buffer.append("<span style=\"").append(cssStyle).append("\">");
			buffer.append(originalText);
			buffer.append("</span>");

		}

		return buffer.toString();

	}

	private String constructStyle( Map cssProperties ) {

		StringBuffer buffer = new StringBuffer();
		Iterator iterator = cssProperties.entrySet().iterator();

		while (iterator.hasNext()) {

			Map.Entry entry = (Map.Entry) iterator.next();

			buffer.append(entry.getKey()).append(":");
			buffer.append(entry.getValue()).append(";");

		}

		return buffer.toString();

	}

}

⌨️ 快捷键说明

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