Class ExtendedFormatRecord

  • All Implemented Interfaces:
    Duplicatable, GenericRecord

    public final class ExtendedFormatRecord
    extends StandardRecord
    Probably one of the more complex records.

    There are two breeds: Style and Cell.

    It should be noted that fields in the extended format record are somewhat arbitrary. Almost all of the fields are bit-level, but we name them as best as possible by functional group. In some places this is better than others.

    Since:
    2.0-pre
    • Constructor Detail

      • ExtendedFormatRecord

        public ExtendedFormatRecord()
    • Method Detail

      • setFontIndex

        public void setFontIndex​(short index)
        set the index to the FONT record (which font to use 0 based)
        Parameters:
        index - to the font
        See Also:
        FontRecord
      • setFormatIndex

        public void setFormatIndex​(short index)
        set the index to the Format record (which FORMAT to use 0-based)
        Parameters:
        index - to the format record
        See Also:
        FormatRecord
      • setCellOptions

        public void setCellOptions​(short options)
        sets the options bitmask - you can also use corresponding option bit setters (see other methods that reference this one)
        Parameters:
        options - bitmask to set
      • setLocked

        public void setLocked​(boolean locked)
        set whether the cell is locked or not
        Parameters:
        locked - - if the cell is locked
        See Also:
        setCellOptions(short)
      • setHidden

        public void setHidden​(boolean hidden)
        set whether the cell is hidden or not
        Parameters:
        hidden - - if the cell is hidden
        See Also:
        setCellOptions(short)
      • setXFType

        public void setXFType​(short type)
        set whether the cell is a cell or style XFRecord
        Parameters:
        type - - cell or style (0/1)
        See Also:
        XF_STYLE, XF_CELL, setCellOptions(short)
      • set123Prefix

        public void set123Prefix​(boolean prefix)
        set some old holdover from lotus 123. Who cares, its all over for Lotus. RIP Lotus.
        Parameters:
        prefix - - the lotus thing to set.
        See Also:
        setCellOptions(short)
      • setParentIndex

        public void setParentIndex​(short parent)
        for cell XF types this is the parent style (usually 0/normal). For style this should be NULL.
        Parameters:
        parent - index of parent XF
        See Also:
        NULL, setCellOptions(short)
      • setAlignmentOptions

        public void setAlignmentOptions​(short options)
        set the alignment options bitmask. See corresponding bitsetter methods that reference this one.
        Parameters:
        options - - the bitmask to set
      • setWrapText

        public void setWrapText​(boolean wrapped)
        set whether to wrap the text in the cell
        Parameters:
        wrapped - - whether or not to wrap the cell text
        See Also:
        setAlignmentOptions(short)
      • setJustifyLast

        public void setJustifyLast​(short justify)
        Dunno. Docs just say this is for far east versions.. (I'm guessing it justifies for right-to-left read languages)
        Parameters:
        justify - use 0 for US
        See Also:
        setAlignmentOptions(short)
      • setRotation

        public void setRotation​(short rotation)
        set the degree of rotation.
        Parameters:
        rotation - the degree of rotation
        See Also:
        setAlignmentOptions(short)
      • setIndentionOptions

        public void setIndentionOptions​(short options)
        set the indent options bitmask (see corresponding bitmask setters that reference this field)
        Parameters:
        options - bitmask to set.
      • setIndent

        public void setIndent​(short indent)
        set indention (not sure of the units, think its spaces)
        Parameters:
        indent - - how far to indent the cell
        See Also:
        setIndentionOptions(short)
      • setShrinkToFit

        public void setShrinkToFit​(boolean shrink)
        set whether to shrink the text to fit
        Parameters:
        shrink - - shrink to fit or not
        See Also:
        setIndentionOptions(short)
      • setMergeCells

        public void setMergeCells​(boolean merge)
        set whether to merge cells
        Parameters:
        merge - - merge cells or not
        See Also:
        setIndentionOptions(short)
      • setReadingOrder

        public void setReadingOrder​(short order)
        set the reading order for far east versions (0 - Context, 1 - Left to right, 2 - right to left) - We could use some help with support for the far east.
        Parameters:
        order - - the reading order (0,1,2)
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentFormat

        public void setIndentNotParentFormat​(boolean parent)
        set whether or not to use the format in this XF instead of the parent XF.
        Parameters:
        parent - - true if this XF has a different format value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentFont

        public void setIndentNotParentFont​(boolean font)
        set whether or not to use the font in this XF instead of the parent XF.
        Parameters:
        font - - true if this XF has a different font value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentAlignment

        public void setIndentNotParentAlignment​(boolean alignment)
        set whether or not to use the alignment in this XF instead of the parent XF.
        Parameters:
        alignment - true if this XF has a different alignment value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentBorder

        public void setIndentNotParentBorder​(boolean border)
        set whether or not to use the border in this XF instead of the parent XF.
        Parameters:
        border - - true if this XF has a different border value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentPattern

        public void setIndentNotParentPattern​(boolean pattern)

        Sets whether or not to use the pattern in this XF instead of the parent XF (foreground/background).

        Parameters:
        pattern - true if this XF has a different pattern value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setIndentNotParentCellOptions

        public void setIndentNotParentCellOptions​(boolean options)
        set whether or not to use the locking/hidden in this XF instead of the parent XF.
        Parameters:
        options - true if this XF has a different locking or hidden value than its parent, false otherwise.
        See Also:
        setIndentionOptions(short)
      • setBorderOptions

        public void setBorderOptions​(short options)
        set the border options bitmask (see the corresponding bitsetter methods that reference back to this one)
        Parameters:
        options - - the bit mask to set
      • setPaletteOptions

        public void setPaletteOptions​(short options)
        set the palette options bitmask (see the individual bitsetter methods that reference this one)
        Parameters:
        options - - the bitmask to set
      • setLeftBorderPaletteIdx

        public void setLeftBorderPaletteIdx​(short border)
        set the palette index for the left border color
        Parameters:
        border - - palette index
        See Also:
        setPaletteOptions(short)
      • setRightBorderPaletteIdx

        public void setRightBorderPaletteIdx​(short border)
        set the palette index for the right border color
        Parameters:
        border - - palette index
        See Also:
        setPaletteOptions(short)
      • setDiag

        public void setDiag​(short diag)
        Not sure what this is for (maybe fill lines?) 1 = down, 2 = up, 3 = both, 0 for none..
        Parameters:
        diag - - set whatever it is that this is.
        See Also:
        setPaletteOptions(short)
      • setAdtlPaletteOptions

        public void setAdtlPaletteOptions​(short options)
        set the additional palette options bitmask (see individual bitsetter methods that reference this method)
        Parameters:
        options - - bitmask to set
      • setTopBorderPaletteIdx

        public void setTopBorderPaletteIdx​(short border)
        set the palette index for the top border
        Parameters:
        border - - palette index
        See Also:
        setAdtlPaletteOptions(short)
      • setBottomBorderPaletteIdx

        public void setBottomBorderPaletteIdx​(short border)
        set the palette index for the bottom border
        Parameters:
        border - - palette index
        See Also:
        setAdtlPaletteOptions(short)
      • setAdtlDiag

        public void setAdtlDiag​(short diag)
        set for diagonal borders? No idea (its a palette color for the other function we didn't know what was?)
        Parameters:
        diag - - the palette index?
        See Also:
        setAdtlPaletteOptions(short)
      • setFillPaletteOptions

        public void setFillPaletteOptions​(short options)
        set the fill palette options bitmask (see bitfields for additional palette options)
        Parameters:
        options - the palette options
      • setFillForeground

        public void setFillForeground​(short color)
        set the foreground palette color index
        Parameters:
        color - - palette index
        See Also:
        setFillPaletteOptions(short)
      • setFillBackground

        public void setFillBackground​(short color)
        set the background palette color index
        Parameters:
        color - - palette index
        See Also:
        setFillPaletteOptions(short)
      • getFontIndex

        public short getFontIndex()
        get the index to the FONT record (which font to use 0 based)
        Returns:
        index to the font
        See Also:
        FontRecord
      • getFormatIndex

        public short getFormatIndex()
        get the index to the Format record (which FORMAT to use 0-based)
        Returns:
        index to the format record
        See Also:
        FormatRecord
      • getCellOptions

        public short getCellOptions()
        gets the options bitmask - you can also use corresponding option bit getters (see other methods that reference this one)
        Returns:
        options bitmask
      • isLocked

        public boolean isLocked()
        get whether the cell is locked or not
        Returns:
        locked - if the cell is locked
        See Also:
        getCellOptions()
      • isHidden

        public boolean isHidden()
        get whether the cell is hidden or not
        Returns:
        hidden - if the cell is hidden
        See Also:
        getCellOptions()
      • getXFType

        public short getXFType()
        get whether the cell is a cell or style XFRecord
        Returns:
        type - cell or style (0/1)
        See Also:
        XF_STYLE, XF_CELL, getCellOptions()
      • get123Prefix

        public boolean get123Prefix()
        get some old holdover from lotus 123. Who cares, its all over for Lotus. RIP Lotus.
        Returns:
        prefix - the lotus thing
        See Also:
        getCellOptions()
      • getParentIndex

        public short getParentIndex()
        for cell XF types this is the parent style (usually 0/normal). For style this should be NULL.
        Returns:
        index of parent XF
        See Also:
        NULL, getCellOptions()
      • getAlignmentOptions

        public short getAlignmentOptions()
        get the alignment options bitmask. See corresponding bitgetter methods that reference this one.
        Returns:
        options - the bitmask
      • getWrapText

        public boolean getWrapText()
        get whether to wrap the text in the cell
        Returns:
        wrapped - whether or not to wrap the cell text
        See Also:
        getAlignmentOptions()
      • getJustifyLast

        public short getJustifyLast()
        Dunno. Docs just say this is for far east versions.. (I'm guessing it justifies for right-to-left read languages)
        Returns:
        justify
        See Also:
        getAlignmentOptions()
      • getRotation

        public short getRotation()
        get the degree of rotation.
        Returns:
        rotation - the degree of rotation
        See Also:
        getAlignmentOptions()
      • getIndentionOptions

        public short getIndentionOptions()
        get the indent options bitmask (see corresponding bit getters that reference this field)
        Returns:
        options bitmask
      • getIndent

        public short getIndent()
        get indention (not sure of the units, think its spaces)
        Returns:
        indent - how far to indent the cell
        See Also:
        getIndentionOptions()
      • getShrinkToFit

        public boolean getShrinkToFit()
        get whether to shrink the text to fit
        Returns:
        shrink - shrink to fit or not
        See Also:
        getIndentionOptions()
      • getMergeCells

        public boolean getMergeCells()
        get whether to merge cells
        Returns:
        merge - merge cells or not
        See Also:
        getIndentionOptions()
      • getReadingOrder

        public short getReadingOrder()
        get the reading order for far east versions (0 - Context, 1 - Left to right, 2 - right to left) - We could use some help with support for the far east.
        Returns:
        order - the reading order (0,1,2)
        See Also:
        getIndentionOptions()
      • isIndentNotParentFormat

        public boolean isIndentNotParentFormat()
        get whether or not to use the format in this XF instead of the parent XF.
        Returns:
        parent - true if this XF has a different format value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • isIndentNotParentFont

        public boolean isIndentNotParentFont()
        get whether or not to use the font in this XF instead of the parent XF.
        Returns:
        font - true if this XF has a different font value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • isIndentNotParentAlignment

        public boolean isIndentNotParentAlignment()
        get whether or not to use the alignment in this XF instead of the parent XF.
        Returns:
        alignment true if this XF has a different alignment value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • isIndentNotParentBorder

        public boolean isIndentNotParentBorder()
        get whether or not to use the border in this XF instead of the parent XF.
        Returns:
        border - true if this XF has a different border value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • isIndentNotParentPattern

        public boolean isIndentNotParentPattern()
        get whether or not to use the pattern in this XF instead of the parent XF. (foregrount/background)
        Returns:
        pattern- true if this XF has a different pattern value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • isIndentNotParentCellOptions

        public boolean isIndentNotParentCellOptions()
        get whether or not to use the locking/hidden in this XF instead of the parent XF.
        Returns:
        options- true if this XF has a different locking or hidden value than its parent, false otherwise.
        See Also:
        getIndentionOptions()
      • getBorderOptions

        public short getBorderOptions()
        get the border options bitmask (see the corresponding bit getter methods that reference back to this one)
        Returns:
        options - the bit mask to set
      • getPaletteOptions

        public short getPaletteOptions()
        get the palette options bitmask (see the individual bit getter methods that reference this one)
        Returns:
        options - the bitmask
      • getLeftBorderPaletteIdx

        public short getLeftBorderPaletteIdx()
        get the palette index for the left border color
        Returns:
        border - palette index
        See Also:
        getPaletteOptions()
      • getRightBorderPaletteIdx

        public short getRightBorderPaletteIdx()
        get the palette index for the right border color
        Returns:
        border - palette index
        See Also:
        getPaletteOptions()
      • getDiag

        public short getDiag()
        Not sure what this is for (maybe fill lines?) 1 = down, 2 = up, 3 = both, 0 for none..
        Returns:
        diag - whatever it is that this is.
        See Also:
        getPaletteOptions()
      • getAdtlPaletteOptions

        public int getAdtlPaletteOptions()
        get the additional palette options bitmask (see individual bit getter methods that reference this method)
        Returns:
        options - bitmask to set
      • getTopBorderPaletteIdx

        public short getTopBorderPaletteIdx()
        get the palette index for the top border
        Returns:
        border - palette index
        See Also:
        getAdtlPaletteOptions()
      • getBottomBorderPaletteIdx

        public short getBottomBorderPaletteIdx()
        get the palette index for the bottom border
        Returns:
        border - palette index
        See Also:
        getAdtlPaletteOptions()
      • getAdtlDiag

        public short getAdtlDiag()
        get for diagonal borders? No idea (its a palette color for the other function we didn't know what was?)
        Returns:
        diag - the palette index?
        See Also:
        getAdtlPaletteOptions()
      • getFillPaletteOptions

        public short getFillPaletteOptions()
        get the fill palette options bitmask (see indivdual bit getters that reference this method)
        Returns:
        options
      • getFillForeground

        public short getFillForeground()
        get the foreground palette color index
        Returns:
        color - palette index
        See Also:
        getFillPaletteOptions()
      • getFillBackground

        public short getFillBackground()
        get the background palette color index
        Returns:
        color palette index
        See Also:
        getFillPaletteOptions()
      • 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
      • 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
      • cloneStyleFrom

        public void cloneStyleFrom​(ExtendedFormatRecord source)
        Clones all the style information from another ExtendedFormatRecord, onto this one. This will then hold all the same style options. If The source ExtendedFormatRecord comes from a different Workbook, you will need to sort out the font and format indices yourself!
        Parameters:
        source - the ExtendedFormatRecord to copy from
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public boolean equals​(Object obj)
        Will consider two different records with the same contents as equals, as the various indexes that matter are embedded in the records
        Overrides:
        equals in class Object
      • stateSummary

        public int[] stateSummary()