org.apache.poi.hssf.record
Class SharedValueRecordBase

java.lang.Object
  extended by org.apache.poi.hssf.record.RecordBase
      extended by org.apache.poi.hssf.record.Record
          extended by org.apache.poi.hssf.record.StandardRecord
              extended by org.apache.poi.hssf.record.SharedValueRecordBase
Direct Known Subclasses:
ArrayRecord, SharedFormulaRecord, TableRecord

public abstract class SharedValueRecordBase
extends StandardRecord

Common base class for SharedFormulaRecord, ArrayRecord and TableRecord which are have similarities.


Constructor Summary
protected SharedValueRecordBase()
           
protected SharedValueRecordBase(CellRangeAddress8Bit range)
           
  SharedValueRecordBase(LittleEndianInput in)
          reads only the range (1 CellRangeAddress8Bit) from the stream
 
Method Summary
protected  int getDataSize()
           
protected abstract  int getExtraDataSize()
           
 int getFirstColumn()
           
 int getFirstRow()
           
 int getLastColumn()
           
 int getLastRow()
           
 CellRangeAddress8Bit getRange()
           
 boolean isFirstCell(int rowIx, int colIx)
           
 boolean isInRange(int rowIx, int colIx)
           
 void serialize(LittleEndianOutput out)
          Write the data content of this BIFF record.
protected abstract  void serializeExtraData(LittleEndianOutput out)
           
 
Methods inherited from class org.apache.poi.hssf.record.StandardRecord
getRecordSize, serialize
 
Methods inherited from class org.apache.poi.hssf.record.Record
clone, cloneViaReserialise, getSid, serialize, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SharedValueRecordBase

protected SharedValueRecordBase(CellRangeAddress8Bit range)

SharedValueRecordBase

protected SharedValueRecordBase()

SharedValueRecordBase

public SharedValueRecordBase(LittleEndianInput in)
reads only the range (1 CellRangeAddress8Bit) from the stream

Method Detail

getRange

public final CellRangeAddress8Bit getRange()
Returns:
the range of cells that this record is shared across. Never null.

getFirstRow

public final int getFirstRow()

getLastRow

public final int getLastRow()

getFirstColumn

public final int getFirstColumn()

getLastColumn

public final int getLastColumn()

getDataSize

protected int getDataSize()
Specified by:
getDataSize in class StandardRecord

getExtraDataSize

protected abstract int getExtraDataSize()

serializeExtraData

protected abstract void serializeExtraData(LittleEndianOutput out)

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

isInRange

public final boolean isInRange(int rowIx,
                               int colIx)
Parameters:
rowIx - the row index
colIx - the column index
Returns:
true if (rowIx, colIx) is within the range of this shared value object.
See Also:
getRange()

isFirstCell

public final boolean isFirstCell(int rowIx,
                                 int colIx)
Parameters:
rowIx - the row index
colIx - the column index
Returns:
true if (rowIx, colIx) describes the first cell in this shared value object's range
See Also:
getRange()