FileDocCategorySizeDatePackage
EscherSplitMenuColorsRecord.javaAPI DocApache Poi 3.0.16350Mon Jan 01 12:39:40 GMT 2007org.apache.poi.ddf

EscherSplitMenuColorsRecord

public class EscherSplitMenuColorsRecord extends EscherRecord
A list of the most recently used colours for the drawings contained in this document.
author
Glen Stampoultzis (glens at apache.org)

Fields Summary
public static final short
RECORD_ID
public static final String
RECORD_DESCRIPTION
private int
field_1_color1
private int
field_2_color2
private int
field_3_color3
private int
field_4_color4
Constructors Summary
Methods Summary
public intfillFields(byte[] data, int offset, org.apache.poi.ddf.EscherRecordFactory recordFactory)
This method deserializes the record from a byte array.

param
data The byte array containing the escher record information
param
offset The starting offset into data.
param
recordFactory May be null since this is not a container record.
return
The number of bytes read from the byte array.


                                                                         
             
    
        int bytesRemaining = readHeader( data, offset );
        int pos            = offset + 8;
        int size           = 0;
        field_1_color1 =  LittleEndian.getInt( data, pos + size );size+=4;
        field_2_color2 =  LittleEndian.getInt( data, pos + size );size+=4;
        field_3_color3 =  LittleEndian.getInt( data, pos + size );size+=4;
        field_4_color4 =  LittleEndian.getInt( data, pos + size );size+=4;
        bytesRemaining -= size;
        if (bytesRemaining != 0)
            throw new RecordFormatException("Expecting no remaining data but got " + bytesRemaining + " byte(s).");
        return 8 + size + bytesRemaining;
    
public intgetColor1()

        return field_1_color1;
    
public intgetColor2()

        return field_2_color2;
    
public intgetColor3()

        return field_3_color3;
    
public intgetColor4()

        return field_4_color4;
    
public shortgetRecordId()

return
the 16 bit identifer for this record.

        return RECORD_ID;
    
public java.lang.StringgetRecordName()
The short name for this record

        return "SplitMenuColors";
    
public intgetRecordSize()
Returns the number of bytes that are required to serialize this record.

return
Number of bytes

        return 8 + 4 * 4;
    
public intserialize(int offset, byte[] data, org.apache.poi.ddf.EscherSerializationListener listener)
This method serializes this escher record into a byte array.

param
offset The offset into data to start writing the record data to.
param
data The byte array to serialize to.
param
listener A listener to retrieve start and end callbacks. Use a NullEscherSerailizationListener to ignore these events.
return
The number of bytes written.
see
NullEscherSerializationListener

//        int field_2_numIdClusters = field_5_fileIdClusters.length + 1;
        listener.beforeRecordSerialize( offset, getRecordId(), this );

        int pos = offset;
        LittleEndian.putShort( data, pos, getOptions() );     pos += 2;
        LittleEndian.putShort( data, pos, getRecordId() );    pos += 2;
        int remainingBytes =  getRecordSize() - 8;

        LittleEndian.putInt( data, pos, remainingBytes );          pos += 4;
        LittleEndian.putInt( data, pos, field_1_color1 );          pos += 4;
        LittleEndian.putInt( data, pos, field_2_color2 );          pos += 4;
        LittleEndian.putInt( data, pos, field_3_color3 );          pos += 4;
        LittleEndian.putInt( data, pos, field_4_color4 );          pos += 4;
        listener.afterRecordSerialize( pos, getRecordId(), pos - offset, this );
        return getRecordSize();
    
public voidsetColor1(int field_1_color1)

        this.field_1_color1 = field_1_color1;
    
public voidsetColor2(int field_2_color2)

        this.field_2_color2 = field_2_color2;
    
public voidsetColor3(int field_3_color3)

        this.field_3_color3 = field_3_color3;
    
public voidsetColor4(int field_4_color4)

        this.field_4_color4 = field_4_color4;
    
public java.lang.StringtoString()

return
a string representation of this record.

        String nl = System.getProperty("line.separator");

//        String extraData;
//        ByteArrayOutputStream b = new ByteArrayOutputStream();
//        try
//        {
//            HexDump.dump(this.remainingData, 0, b, 0);
//            extraData = b.toString();
//        }
//        catch ( Exception e )
//        {
//            extraData = "error";
//        }
        return getClass().getName() + ":" + nl +
                "  RecordId: 0x" + HexDump.toHex(RECORD_ID) + nl +
                "  Options: 0x" + HexDump.toHex(getOptions()) + nl +
                "  Color1: 0x" + HexDump.toHex(field_1_color1) + nl +
                "  Color2: 0x" + HexDump.toHex(field_2_color2) + nl +
                "  Color3: 0x" + HexDump.toHex(field_3_color3) + nl +
                "  Color4: 0x" + HexDump.toHex(field_4_color4) + nl +
                "";