Package org.apache.lucene.search.highlight

# 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 boolean`
`highlightBackground`
`protected boolean`
`highlightForeground`

## 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

Modifier and Type
Method
Description
`protected String`
`getBackgroundColorString(float score)`
`protected String`
`getForegroundColorString(float score)`
`static final int`
`hexToInt(String hex)`
Converts a hex string into an int.
`String`
`highlightTerm(String originalText, TokenGroup tokenGroup)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### highlightForeground

protected boolean highlightForeground

### highlightBackground

protected boolean highlightBackground

## Constructor Details

### 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 (See `QueryScorer.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 required
  `maxForegroundColor` - The largest hex color used for representing IDF scores eg #000000 (black) or null if no foreground color required
  `minBackgroundColor` - The hex color used for representing IDF scores of zero eg #FFFFFF (white) or null if no background color required
  `maxBackgroundColor` - The largest hex color used for representing IDF scores eg #000000 (black) or null if no background color required

## Method Details

### highlightTerm

public String highlightTerm(String originalText, TokenGroup tokenGroup)

Specified by:
  `highlightTerm` in interface `Formatter`
Parameters:
  `originalText` - The section of text being considered for markup
  `tokenGroup` - 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]