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

    java.lang.Object
      org.apache.poi.hssf.record.RecordBase
          org.apache.poi.hssf.record.aggregates.RecordAggregate
              org.apache.poi.hssf.record.aggregates.CFRecordsAggregate

    public final class CFRecordsAggregate

extends RecordAggregate

CFRecordsAggregate - aggregates Conditional Formatting records CFHeaderRecord and number of up to three CFRuleRecord records together to simplify access to them.

Author:
  Dmitriy Kumshayev

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.poi.hssf.record.aggregates.RecordAggregate
`RecordAggregate.PositionTrackingVisitor, RecordAggregate.RecordVisitor`

Constructor Summary
`CFRecordsAggregate(CellRangeAddress[] regions, CFRuleRecord[] rules)`

Method Summary
`void` `addRule(CFRuleRecord r)`
`CFRecordsAggregate` `cloneCFAggregate()` Create a deep clone of the record
`static CFRecordsAggregate` `createCFAggregate(RecordStream rs)` Create CFRecordsAggregate from a list of CF Records
`CFHeaderRecord` `getHeader()`
`int` `getNumberOfRules()`
`CFRuleRecord` `getRule(int idx)`
`void` `setRule(int idx, CFRuleRecord r)`
`java.lang.String` `toString()` String representation of CFRecordsAggregate
`boolean` `updateFormulasAfterCellShift(FormulaShifter shifter, int currentExternSheetIx)`
`void` `visitContainedRecords(RecordAggregate.RecordVisitor rv)` Visit each of the atomic BIFF records contained in this `RecordAggregate` in the order that they should be written to file.

Methods inherited from class org.apache.poi.hssf.record.aggregates.RecordAggregate
`getRecordSize, serialize`

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

Constructor Detail

### CFRecordsAggregate

    public CFRecordsAggregate(CellRangeAddress[] regions,
                              CFRuleRecord[] rules)

Method Detail

### createCFAggregate

    public static CFRecordsAggregate createCFAggregate(RecordStream rs)

  Create CFRecordsAggregate from a list of CF Records

  Parameters:
    `rs` - - the stream to read from
  Returns:
    CFRecordsAggregate object

### cloneCFAggregate

    public CFRecordsAggregate cloneCFAggregate()

  Create a deep clone of the record

### getHeader

    public CFHeaderRecord getHeader()

  Returns:
    the header. Never `null`.

### getRule

    public CFRuleRecord getRule(int idx)

### setRule

    public void setRule(int idx,
                        CFRuleRecord r)

### addRule

    public void addRule(CFRuleRecord r)

### getNumberOfRules

    public int getNumberOfRules()

### toString

    public java.lang.String toString()

  String representation of CFRecordsAggregate

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

### visitContainedRecords

    public void visitContainedRecords(RecordAggregate.RecordVisitor rv)

  Description copied from class: `RecordAggregate`
  Visit each of the atomic BIFF records contained in this `RecordAggregate` in the order that they should be written to file. Implementors may or may not return the actual `Record`s being used to manage POI's internal implementation. Callers should not assume either way, and therefore only attempt to modify those `Record`s after cloning

  Specified by:
    `visitContainedRecords` in class `RecordAggregate`

### updateFormulasAfterCellShift

    public boolean updateFormulasAfterCellShift(FormulaShifter shifter,
                                                int currentExternSheetIx)

  Returns:
    `false` if this whole `CFHeaderRecord` / `CFRuleRecord`s should be deleted

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