Class HSSFColor

  • All Implemented Interfaces:
    Color
    Direct Known Subclasses:
    HSSFColorExt

    public class HSSFColor
    extends 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.
    • Constructor Detail

      • HSSFColor

        public HSSFColor()
        Creates a new instance of HSSFColor
      • HSSFColor

        public HSSFColor​(int index,
                         int index2,
                         Color color)
    • Method Detail

      • getIndexHash

        public static Map<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 Map<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 Map<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 String getHexString()
        returns colon-delimited hex string "0:0:0"
        Returns:
        a hex string exactly like a gnumeric triplet
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class 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:
        IllegalArgumentException - if color is null or is not an instance of HSSFColor