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

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

public final class CFRecordsAggregate
extends RecordAggregate

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

Note that Excel versions before 2007 can only cope with a maximum of 3 Conditional Formatting rules per sheet. Excel 2007 or newer can cope with unlimited numbers, as can Apache OpenOffice. This is an Excel limitation, not a file format one.


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, CFRuleBase[] rules)
           
 
Method Summary
 void addRule(CFRuleBase r)
           
 CFRecordsAggregate cloneCFAggregate()
          Create a deep clone of the record
static CFRecordsAggregate createCFAggregate(RecordStream rs)
          Create CFRecordsAggregate from a list of CF Records
 CFHeaderBase getHeader()
           
 int getNumberOfRules()
           
 CFRuleBase getRule(int idx)
           
 void setRule(int idx, CFRuleBase 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,
                          CFRuleBase[] 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 CFHeaderBase getHeader()
Returns:
the header. Never null.

getRule

public CFRuleBase getRule(int idx)

setRule

public void setRule(int idx,
                    CFRuleBase r)

addRule

public void addRule(CFRuleBase 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 Records being used to manage POI's internal implementation. Callers should not assume either way, and therefore only attempt to modify those Records after cloning

Specified by:
visitContainedRecords in class RecordAggregate

updateFormulasAfterCellShift

public boolean updateFormulasAfterCellShift(FormulaShifter shifter,
                                            int currentExternSheetIx)
Returns:
false if this whole CFHeaderRecord / CFRuleRecords should be deleted