org.apache.poi.hssf.record

## Class PaletteRecord

- java.lang.Object
- - org.apache.poi.hssf.record.RecordBase
  - - org.apache.poi.hssf.record.Record
    - - org.apache.poi.hssf.record.StandardRecord
      - - org.apache.poi.hssf.record.PaletteRecord

- All Implemented Interfaces:
    Duplicatable

      public final class PaletteRecord
      extends StandardRecord

  Supports custom palettes.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `FIRST_COLOR_INDEX` The byte index of the first color
    `static short` | `sid`
    `static byte` | `STANDARD_PALETTE_SIZE` The standard size of an XLS palette

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PaletteRecord()`
    `PaletteRecord(PaletteRecord other)`
    `PaletteRecord(RecordInputStream in)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PaletteRecord` | `copy()`
    `byte[]` | `getColor(int byteIndex)` Returns the color value at a given index
    `protected int` | `getDataSize()`
    `short` | `getSid()` return the non static version of the id for this record.
    `void` | `serialize(LittleEndianOutput out)` Write the data content of this BIFF record.
    `void` | `setColor(short byteIndex, byte red, byte green, byte blue)` Sets the color value at a given index If the given index is greater than the current last color index, then black is inserted at every index required to make the palette continuous.
    `java.lang.String` | `toString()` get a string representation of the record (for biffview/debugging)

    - ### Methods inherited from class org.apache.poi.hssf.record.StandardRecord

      `getRecordSize, serialize`

    - ### Methods inherited from class org.apache.poi.hssf.record.Record

      `cloneViaReserialise, serialize`

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

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

- - ### Field Detail

    - #### sid

          public static final short sid

      See Also:
        Constant Field Values

    - #### STANDARD_PALETTE_SIZE

          public static final byte STANDARD_PALETTE_SIZE

      The standard size of an XLS palette
      See Also:
        Constant Field Values

    - #### FIRST_COLOR_INDEX

          public static final short FIRST_COLOR_INDEX

      The byte index of the first color
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PaletteRecord

          public PaletteRecord()

    - #### PaletteRecord

          public PaletteRecord(PaletteRecord other)

    - #### PaletteRecord

          public PaletteRecord(RecordInputStream in)

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Description copied from class: `Record`
      get a string representation of the record (for biffview/debugging)
      Overrides:
        `toString` in class `Record`

    - #### serialize

          public void serialize(LittleEndianOutput out)

      Description copied from class: `StandardRecord`
      Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields have already been written by the superclass.

      The number of bytes written must equal the record size reported by `RecordBase.getRecordSize()`} minus four ( record header consisting of a 'ushort sid' and 'ushort reclength' has already been written by their superclass).

      Specified by:
        `serialize` in class `StandardRecord`
      Parameters:
        `out` - the output object

    - #### getDataSize

          protected int getDataSize()

      Specified by:
        `getDataSize` in class `StandardRecord`

    - #### getSid

          public short getSid()

      Description copied from class: `Record`
      return the non static version of the id for this record.
      Specified by:
        `getSid` in class `Record`
      Returns:
        he id for this record

    - #### getColor

          public byte[] getColor(int byteIndex)

      Returns the color value at a given index
      Parameters:
        `byteIndex` - palette index, must be >= 0x8
      Returns:
        the RGB triplet for the color, or `null` if the specified index does not exist

    - #### setColor

          public void setColor(short byteIndex,
                               byte red,
                               byte green,
                               byte blue)

      Sets the color value at a given index If the given index is greater than the current last color index, then black is inserted at every index required to make the palette continuous.
      Parameters:
        `byteIndex` - the index to set; if this index is less than 0x8 or greater than 0x40, then no modification is made
        `red` - the red color part
        `green` - the green color part
        `blue` - the blue color part

    - #### copy

          public PaletteRecord copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `StandardRecord`
      Returns:
        a deep copy of the implementing class / instance

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