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

Constructor Summary
`GradientFormatter(float maxScore, String minForegroundColor, String maxForegroundColor, String minBackgroundColor, String maxBackgroundColor)` Sets the color range for the IDF scores

Method Summary
`protected String` `getBackgroundColorString(float score)`
`protected String` `getForegroundColorString(float score)`
`static 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 Detail

### highlightForeground

    protected boolean highlightForeground

### highlightBackground

    protected boolean highlightBackground

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 (See QueryScorer.getMaxWeight 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 Detail

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