Class PaletteRecord

java.lang.Object
loci.poi.hssf.record.Record
loci.poi.hssf.record.PaletteRecord

public class PaletteRecord extends Record
PaletteRecord - Supports custom palettes.
Version:
2.0-pre
Author:
Andrew C. Oliver (acoliver at apache dot org), Brian Sanders (bsanders at risklabs dot com) - custom palette editing
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final short
    The byte index of the first color
    static final short
     
    static final byte
    The standard size of an XLS palette
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    Constructs a PaletteRecord record and sets its fields appropriately.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    called by the constructor, should set class level fields.
    byte[]
    getColor(short byteIndex)
    Returns the color value at a given index
    int
    gives the current serialized size of the record.
    short
    return the non static version of the id for this record.
    int
    serialize(int offset, byte[] data)
    called by the class that is responsible for writing this sucker.
    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.
    get a string representation of the record (for biffview/debugging)
    protected void
    validateSid(short id)
    called by constructor, should throw runtime exception in the event of a record passed with a differing ID.

    Methods inherited from class loci.poi.hssf.record.Record

    clone, isInValueSection, isValue, serialize

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • sid

      public static final short sid
      See Also:
    • STANDARD_PALETTE_SIZE

      public static final byte STANDARD_PALETTE_SIZE
      The standard size of an XLS palette
      See Also:
    • FIRST_COLOR_INDEX

      public static final short FIRST_COLOR_INDEX
      The byte index of the first color
      See Also:
  • Constructor Details

    • PaletteRecord

      public PaletteRecord()
    • PaletteRecord

      public PaletteRecord(RecordInputStream in)
      Constructs a PaletteRecord record and sets its fields appropriately.
      Parameters:
      in - the RecordInputstream to read the record from
  • Method Details

    • validateSid

      protected void validateSid(short id)
      Description copied from class: Record
      called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
      Specified by:
      validateSid in class Record
      Parameters:
      id - alleged id for this record
    • fillFields

      protected void fillFields(RecordInputStream in)
      Description copied from class: Record
      called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.
      Specified by:
      fillFields in class Record
      Parameters:
      in - the RecordInputstream to read the record from
    • toString

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

      public int serialize(int offset, byte[] data)
      Description copied from class: Record
      called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.
      Specified by:
      serialize in class Record
      Parameters:
      offset - to begin writing at
      data - byte array containing instance data
      Returns:
      number of bytes written
    • getRecordSize

      public int getRecordSize()
      Description copied from class: Record
      gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
      Overrides:
      getRecordSize in class Record
    • 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
    • getColor

      public byte[] getColor(short byteIndex)
      Returns the color value at a given index
      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