FileDocCategorySizeDatePackage
LabelSSTRecord.javaAPI DocApache Poi 3.0.17937Mon Jan 01 12:39:40 GMT 2007org.apache.poi.hssf.record

LabelSSTRecord

public class LabelSSTRecord extends Record implements Comparable, CellValueRecordInterface
Title: Label SST Record

Description: Refers to a string in the shared string table and is a column value.

REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

author
Andrew C. Oliver (acoliver at apache dot org)
author
Jason Height (jheight at chariot dot net dot au)
version
2.0-pre

Fields Summary
public static final short
sid
private int
field_1_row
private short
field_2_column
private short
field_3_xf_index
private int
field_4_sst_index
Constructors Summary
public LabelSSTRecord()


     
    
    
public LabelSSTRecord(RecordInputStream in)
Constructs an LabelSST record and sets its fields appropriately.

param
id id must be 0xfd or an exception will be throw upon validation
param
size the size of the data area of the record
param
data data of the record (should not contain sid/len)

        super(in);
    
Methods Summary
public java.lang.Objectclone()

      LabelSSTRecord rec = new LabelSSTRecord();
      rec.field_1_row = field_1_row;
      rec.field_2_column = field_2_column;
      rec.field_3_xf_index = field_3_xf_index;
      rec.field_4_sst_index = field_4_sst_index;
      return rec;
    
public intcompareTo(java.lang.Object obj)

        CellValueRecordInterface loc = ( CellValueRecordInterface ) obj;

        if ((this.getRow() == loc.getRow())
                && (this.getColumn() == loc.getColumn()))
        {
            return 0;
        }
        if (this.getRow() < loc.getRow())
        {
            return -1;
        }
        if (this.getRow() > loc.getRow())
        {
            return 1;
        }
        if (this.getColumn() < loc.getColumn())
        {
            return -1;
        }
        if (this.getColumn() > loc.getColumn())
        {
            return 1;
        }
        return -1;
    
public booleanequals(java.lang.Object obj)

        if (!(obj instanceof CellValueRecordInterface))
        {
            return false;
        }
        CellValueRecordInterface loc = ( CellValueRecordInterface ) obj;

        if ((this.getRow() == loc.getRow())
                && (this.getColumn() == loc.getColumn()))
        {
            return true;
        }
        return false;
    
protected voidfillFields(org.apache.poi.hssf.record.RecordInputStream in)

        //field_1_row       = LittleEndian.getShort(data, 0 + offset);
        field_1_row       = in.readUShort();
        field_2_column    = in.readShort();
        field_3_xf_index  = in.readShort();
        field_4_sst_index = in.readInt();
    
public shortgetColumn()

        return field_2_column;
    
public intgetRecordSize()

        return 14;
    
public intgetRow()

        return field_1_row;
    
public intgetSSTIndex()
get the index to the string in the SSTRecord

return
index of string in the SST Table
see
org.apache.poi.hssf.record.SSTRecord

        return field_4_sst_index;
    
public shortgetSid()

        return sid;
    
public shortgetXFIndex()
get the index to the extended format record

see
org.apache.poi.hssf.record.ExtendedFormatRecord
return
the index to the XF record

        return field_3_xf_index;
    
public booleanisAfter(org.apache.poi.hssf.record.CellValueRecordInterface i)

        if (this.getRow() < i.getRow())
        {
            return false;
        }
        if ((this.getRow() == i.getRow())
                && (this.getColumn() < i.getColumn()))
        {
            return false;
        }
        if ((this.getRow() == i.getRow())
                && (this.getColumn() == i.getColumn()))
        {
            return false;
        }
        return true;
    
public booleanisBefore(org.apache.poi.hssf.record.CellValueRecordInterface i)

        if (this.getRow() > i.getRow())
        {
            return false;
        }
        if ((this.getRow() == i.getRow())
                && (this.getColumn() > i.getColumn()))
        {
            return false;
        }
        if ((this.getRow() == i.getRow())
                && (this.getColumn() == i.getColumn()))
        {
            return false;
        }
        return true;
    
public booleanisEqual(org.apache.poi.hssf.record.CellValueRecordInterface i)

        return ((this.getRow() == i.getRow())
                && (this.getColumn() == i.getColumn()));
    
public booleanisInValueSection()

        return true;
    
public booleanisValue()

        return true;
    
public intserialize(int offset, byte[] data)

        LittleEndian.putShort(data, 0 + offset, sid);
        LittleEndian.putShort(data, 2 + offset, ( short ) 10);
        //LittleEndian.putShort(data, 4 + offset, getRow());
        LittleEndian.putShort(data, 4 + offset, ( short )getRow());
        LittleEndian.putShort(data, 6 + offset, getColumn());
        LittleEndian.putShort(data, 8 + offset, getXFIndex());
        LittleEndian.putInt(data, 10 + offset, getSSTIndex());
        return getRecordSize();
    
public voidsetColumn(short col)

        field_2_column = col;
    
public voidsetRow(int row)

        field_1_row = row;
    
public voidsetSSTIndex(int index)
set the index to the string in the SSTRecord

param
index - of string in the SST Table
see
org.apache.poi.hssf.record.SSTRecord

        field_4_sst_index = index;
    
public voidsetXFIndex(short index)
set the index to the extended format record

see
org.apache.poi.hssf.record.ExtendedFormatRecord
param
index - the index to the XF record

        field_3_xf_index = index;
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer();

        buffer.append("[LABELSST]\n");
        buffer.append("    .row            = ")
            .append(Integer.toHexString(getRow())).append("\n");
        buffer.append("    .column         = ")
            .append(Integer.toHexString(getColumn())).append("\n");
        buffer.append("    .xfindex        = ")
            .append(Integer.toHexString(getXFIndex())).append("\n");
        buffer.append("    .sstindex       = ")
            .append(Integer.toHexString(getSSTIndex())).append("\n");
        buffer.append("[/LABELSST]\n");
        return buffer.toString();
    
protected voidvalidateSid(short id)

        if (id != sid)
        {
            throw new RecordFormatException("NOT A valid LabelSST RECORD");
        }