org.apache.poi.hssf.util

## Class HSSFColor

- java.lang.Object
- - org.apache.poi.hssf.util.HSSFColor

- All Implemented Interfaces:
    Color

      public class HSSFColor
      extends java.lang.Object
      implements Color

  Intends to provide support for the very evil index to triplet issue and will likely replace the color constants interface for HSSF 2.0. This class contains static inner class members for representing colors. Each color has an index (for the standard palette in Excel (tm) ), native (RGB) triplet and string triplet. The string triplet is as the color would be represented by Gnumeric. Having (string) this here is a bit of a collision of function between HSSF and the HSSFSerializer but I think its a reasonable one in this case.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `HSSFColor.HSSFColorPredefined` Predefined HSSFColors with their given palette index (and an optional 2nd index)

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HSSFColor()` Creates a new instance of HSSFColor
    `HSSFColor(int index, int index2, java.awt.Color color)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.String` | `getHexString()` returns colon-delimited hex string "0:0:0"
    `short` | `getIndex()` returns color standard palette index
    `short` | `getIndex2()` returns alternative color standard palette index
    `static java.util.Map<java.lang.Integer,HSSFColor>` | `getIndexHash()` This function returns all the colours in an unmodifiable Map.
    `static java.util.Map<java.lang.Integer,HSSFColor>` | `getMutableIndexHash()` This function returns all the Colours, stored in a Map that can be edited.
    `short[]` | `getTriplet()` returns RGB triplet (0, 0, 0)
    `static java.util.Map<java.lang.String,HSSFColor>` | `getTripletHash()` this function returns all colors in a hastable.
    `int` | `hashCode()`
    `static HSSFColor` | `toHSSFColor(Color color)` Checked type cast `color` to an HSSFColor.

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

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

- - ### Constructor Detail

    - #### HSSFColor

          public HSSFColor()

      Creates a new instance of HSSFColor

    - #### HSSFColor

          public HSSFColor(int index,
                           int index2,
                           java.awt.Color color)

  - ### Method Detail

    - #### getIndexHash

          public static java.util.Map<java.lang.Integer,HSSFColor> getIndexHash()

      This function returns all the colours in an unmodifiable Map. The map is cached on first use.
      Returns:
        a Map containing all colours keyed by `Integer` excel-style palette indexes

    - #### getMutableIndexHash

          public static java.util.Map<java.lang.Integer,HSSFColor> getMutableIndexHash()

      This function returns all the Colours, stored in a Map that can be edited. No caching is performed. If you don't need to edit the table, then call `getIndexHash()` which returns a statically cached immutable map of colours.

    - #### getTripletHash

          public static java.util.Map<java.lang.String,HSSFColor> getTripletHash()

      this function returns all colors in a hastable. It's not implemented as a static member/statically initialized because that would be dirty in a server environment as it is intended. This means you'll eat the time it takes to create it once per request but you will not hold onto it if you have none of those requests.
      Returns:
        a Map containing all colors keyed by String gnumeric-like triplets

    - #### getIndex

          public short getIndex()

      returns color standard palette index
      Returns:
        index to the standard palette

    - #### getIndex2

          public short getIndex2()

      returns alternative color standard palette index
      Returns:
        alternative index to the standard palette, if -1 this index is not defined

    - #### getTriplet

          public short[] getTriplet()

      returns RGB triplet (0, 0, 0)
      Returns:
        triplet representation like that in Excel

    - #### getHexString

          public java.lang.String getHexString()

      returns colon-delimited hex string "0:0:0"
      Returns:
        a hex string exactly like a gnumeric triplet

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toHSSFColor

          public static HSSFColor toHSSFColor(Color color)

      Checked type cast `color` to an HSSFColor.
      Parameters:
        `color` - the color to type cast
      Returns:
        the type casted color
      Throws:
        `java.lang.IllegalArgumentException` - if color is null or is not an instance of HSSFColor

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.