Class GradientFormatter
- java.lang.Object
-
- org.apache.lucene.search.highlight.GradientFormatter
-
- All Implemented Interfaces:
Formatter
- Direct Known Subclasses:
SpanGradientFormatter
public class GradientFormatter extends Object implements Formatter
Formats text with different color intensity depending on the score of the term.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanhighlightBackgroundprotected booleanhighlightForeground
-
Constructor Summary
Constructors Constructor Description GradientFormatter(float maxScore, String minForegroundColor, String maxForegroundColor, String minBackgroundColor, String maxBackgroundColor)Sets the color range for the IDF scores
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringgetBackgroundColorString(float score)protected StringgetForegroundColorString(float score)static inthexToInt(String hex)Converts a hex string into an int.StringhighlightTerm(String originalText, TokenGroup tokenGroup)
-
-
-
Constructor Detail
-
GradientFormatter
public GradientFormatter(float maxScore, String minForegroundColor, String maxForegroundColor, String minBackgroundColor, String maxBackgroundColor)Sets the color range for the IDF scores- Parameters:
maxScore- The score (and above) displayed as maxColor (SeeQueryScorer.getMaxTermWeight()which can be used to calibrate scoring scale)minForegroundColor- The hex color used for representing IDF scores of zero eg #FFFFFF (white) or null if no foreground color requiredmaxForegroundColor- The largest hex color used for representing IDF scores eg #000000 (black) or null if no foreground color requiredminBackgroundColor- The hex color used for representing IDF scores of zero eg #FFFFFF (white) or null if no background color requiredmaxBackgroundColor- The largest hex color used for representing IDF scores eg #000000 (black) or null if no background color required
-
-
Method Detail
-
highlightTerm
public String highlightTerm(String originalText, TokenGroup tokenGroup)
- Specified by:
highlightTermin interfaceFormatter- Parameters:
originalText- The section of text being considered for markuptokenGroup- contains one or several overlapping Tokens along with their scores and positions.
-
getForegroundColorString
protected String getForegroundColorString(float score)
-
getBackgroundColorString
protected String getBackgroundColorString(float score)
-
hexToInt
public static final int hexToInt(String hex)
Converts a hex string into an int. Integer.parseInt(hex, 16) assumes the input is nonnegative unless there is a preceding minus sign. This method reads the input as twos complement instead, so if the input is 8 bytes long, it will correctly restore a negative int produced by Integer.toHexString() but not necessarily one produced by Integer.toString(x,16) since that method will produce a string like '-FF' for negative integer values.- Parameters:
hex- A string in capital or lower case hex, of no more then 16 characters.- Throws:
NumberFormatException- if the string is more than 16 characters long, or if any character is not in the set [0-9a-fA-f]
-
-