## org.apache.poi.hssf.record.aggregates
Class ValueRecordsAggregate

    java.lang.Object
      org.apache.poi.hssf.record.aggregates.ValueRecordsAggregate

All Implemented Interfaces:
  java.lang.Iterable<CellValueRecordInterface>

    public final class ValueRecordsAggregate

extends java.lang.Object
implements java.lang.Iterable<CellValueRecordInterface>

Aggregate value records together. Things are easier to handle that way.

Author:
  andy, Glen Stampoultzis (glens at apache.org), Jason Height (jheight at chariot dot net dot au)

Constructor Summary
`ValueRecordsAggregate()` Creates a new instance of ValueRecordsAggregate

Method Summary
`void` `addMultipleBlanks(MulBlankRecord mbr)`
`java.lang.Object` `clone()`
`void` `construct(CellValueRecordInterface rec, RecordStream rs, SharedValueManager sfh)` Processes a single cell value record
`int` `getFirstCellNum()`
`int` `getLastCellNum()`
`int` `getPhysicalNumberOfCells()`
`int` `getRowCellBlockSize(int startRow, int endRow)` Tallies a count of the size of the cell records that are attached to the rows in the range specified.
`CellValueRecordInterface[]` `getValueRecords()` Deprecated. use `iterator()` instead
`void` `insertCell(CellValueRecordInterface cell)`
`java.util.Iterator<CellValueRecordInterface>` `iterator()` value iterator
`void` `removeAllCellsValuesForRow(int rowIndex)`
`void` `removeCell(CellValueRecordInterface cell)`
`boolean` `rowHasCells(int row)` Returns true if the row has cells attached to it
`void` `updateFormulasAfterRowShift(FormulaShifter shifter, int currentExternSheetIndex)`
`void` `visitCellsForRow(int rowIndex, RecordAggregate.RecordVisitor rv)`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ValueRecordsAggregate

    public ValueRecordsAggregate()

  Creates a new instance of ValueRecordsAggregate

Method Detail

### insertCell

    public void insertCell(CellValueRecordInterface cell)

### removeCell

    public void removeCell(CellValueRecordInterface cell)

### removeAllCellsValuesForRow

    public void removeAllCellsValuesForRow(int rowIndex)

### getPhysicalNumberOfCells

    public int getPhysicalNumberOfCells()

### getFirstCellNum

    public int getFirstCellNum()

### getLastCellNum

    public int getLastCellNum()

### addMultipleBlanks

    public void addMultipleBlanks(MulBlankRecord mbr)

### construct

    public void construct(CellValueRecordInterface rec,
                          RecordStream rs,
                          SharedValueManager sfh)

  Processes a single cell value record

  Parameters:
    `sfh` - used to resolve any shared-formulas/arrays/tables for the current sheet

### getRowCellBlockSize

    public int getRowCellBlockSize(int startRow,
                                   int endRow)

  Tallies a count of the size of the cell records that are attached to the rows in the range specified.

### rowHasCells

    public boolean rowHasCells(int row)

  Returns true if the row has cells attached to it

### visitCellsForRow

    public void visitCellsForRow(int rowIndex,
                                 RecordAggregate.RecordVisitor rv)

### updateFormulasAfterRowShift

    public void updateFormulasAfterRowShift(FormulaShifter shifter,
                                            int currentExternSheetIndex)

### iterator

    public java.util.Iterator<CellValueRecordInterface> iterator()

  value iterator

  Specified by:
    `iterator` in interface `java.lang.Iterable<CellValueRecordInterface>`

### getValueRecords

    @Deprecated
    public CellValueRecordInterface[] getValueRecords()

  Deprecated. use `iterator()` instead

  Gets all the cell records contained in this aggregate. Note `BlankRecord`s appear separate (not in `MulBlankRecord`s).

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `java.lang.Object`

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