org.apache.poi.hssf.record.aggregates
Class SharedValueManager

java.lang.Object
  extended by org.apache.poi.hssf.record.aggregates.SharedValueManager

public final class SharedValueManager
extends java.lang.Object

Manages various auxiliary records while constructing a RowRecordsAggregate:

Author:
Josh Micich

Field Summary
static SharedValueManager EMPTY
           
 
Method Summary
 void convertSharedFormulaRecord(FormulaRecord formula)
           
static SharedValueManager create(SharedFormulaRecord[] sharedFormulaRecords, ArrayRecord[] arrayRecords, TableRecord[] tableRecords)
           
 SharedValueRecordBase getRecordForFirstCell(FormulaRecord formulaRecord)
          Note - does not return SharedFormulaRecords currently, because the corresponding formula records have been converted to 'unshared'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY

public static final SharedValueManager EMPTY
Method Detail

create

public static SharedValueManager create(SharedFormulaRecord[] sharedFormulaRecords,
                                        ArrayRecord[] arrayRecords,
                                        TableRecord[] tableRecords)
Parameters:
recs - list of sheet records (possibly contains records for other parts of the Excel file)
startIx - index of first row/cell record for current sheet
endIx - one past index of last row/cell record for current sheet. It is important that this code does not inadvertently collect SharedFormulaRecords from any other sheet (which could happen if endIx is chosen poorly). (see bug 44449)

convertSharedFormulaRecord

public void convertSharedFormulaRecord(FormulaRecord formula)

getRecordForFirstCell

public SharedValueRecordBase getRecordForFirstCell(FormulaRecord formulaRecord)
Note - does not return SharedFormulaRecords currently, because the corresponding formula records have been converted to 'unshared'. POI does not attempt to re-share formulas. On the other hand, there is no such conversion for array or table formulas, so this method returns the TABLE or ARRAY record (if it should be written after the specified formulaRecord.

Returns:
the TABLE or ARRAY record for this formula cell, if it is the first cell of a table or array region.


Copyright 2008 The Apache Software Foundation or its licensors, as applicable.