## org.apache.poi.xssf.model
Class CalculationChain

    java.lang.Object
      org.apache.poi.POIXMLDocumentPart
          org.apache.poi.xssf.model.CalculationChain

    public class CalculationChain

extends POIXMLDocumentPart

The cells in a workbook can be calculated in different orders depending on various optimizations and dependencies. The calculation chain object specifies the order in which the cells in a workbook were last calculated.

Author:
  Yegor Kozlov

Field Summary

Fields inherited from class org.apache.poi.POIXMLDocumentPart
`DEFAULT_XML_OPTIONS`

Constructor Summary
`CalculationChain()`
`CalculationChain(PackagePart part, PackageRelationship rel)`

Method Summary
`protected void` `commit()` Save the content in the underlying package part.
`org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcChain` `getCTCalcChain()`
`void` `readFrom(java.io.InputStream is)`
`void` `removeItem(int sheetId, java.lang.String ref)` Remove a formula reference from the calculation chain
`void` `writeTo(java.io.OutputStream out)`

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString`

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

Constructor Detail

### CalculationChain

    public CalculationChain()

### CalculationChain

    public CalculationChain(PackagePart part,
                            PackageRelationship rel)
                     throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### readFrom

    public void readFrom(java.io.InputStream is)
                  throws java.io.IOException

  Throws:
    `java.io.IOException`

### writeTo

    public void writeTo(java.io.OutputStream out)
                 throws java.io.IOException

  Throws:
    `java.io.IOException`

### commit

    protected void commit()
                   throws java.io.IOException

  Description copied from class: `POIXMLDocumentPart`
  Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified. Sub-classes should override and add logic to marshal the "model" into Ooxml4J. For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         OutputStream out = part.getOutputStream();
         XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
         bean.save(out, DEFAULT_XML_OPTIONS);
         out.close();
       }

  Overrides:
    `commit` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException`

### getCTCalcChain

    public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcChain getCTCalcChain()

### removeItem

    public void removeItem(int sheetId,
                           java.lang.String ref)

  Remove a formula reference from the calculation chain

  Parameters:
    `sheetId` - the sheet Id of a sheet the formula belongs to.
    `ref` - A1 style reference to the cell containing the formula.

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