org.apache.poi.hssf.record.aggregates
Class SharedValueManager
java.lang.Object
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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY
public static final SharedValueManager EMPTY
create
public static SharedValueManager create(SharedFormulaRecord[] sharedFormulaRecords,
CellReference[] firstCells,
ArrayRecord[] arrayRecords,
TableRecord[] tableRecords)
- Parameters:
firstCells
- recs
- list of sheet records (possibly contains records for other parts of the Excel file)startIx
- index of first row/cell record for current sheetendIx
- 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)
linkSharedFormulaRecord
public SharedFormulaRecord linkSharedFormulaRecord(CellReference firstCell,
FormulaRecordAggregate agg)
- Parameters:
firstCell
- as extracted from the ExpPtg
from the cell's formula.
- Returns:
- never
null
getRecordForFirstCell
public SharedValueRecordBase getRecordForFirstCell(FormulaRecordAggregate agg)
- Gets the
SharedValueRecordBase
record if it should be encoded immediately after the
formula record contained in the specified FormulaRecordAggregate
agg. Note - the
shared value record always appears after the first formula record in the group. For arrays
and tables the first formula is always the in the top left cell. However, since shared
formula groups can be sparse and/or overlap, the first formula may not actually be in the
top left cell.
- Returns:
- the SHRFMLA, TABLE or ARRAY record for the formula cell, if it is the first cell of
a table or array region.
null
if the formula cell is not shared/array/table,
or if the specified formula is not the the first in the group.
unlink
public void unlink(SharedFormulaRecord sharedFormulaRecord)
- Converts all
FormulaRecord
s handled by sharedFormulaRecord
to plain unshared formulas
Copyright 2011 The Apache Software Foundation or
its licensors, as applicable.