org.apache.poi.xssf.usermodel
Class XSSFChart

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xssf.usermodel.XSSFChart
All Implemented Interfaces:
Chart, ChartAxisFactory, ManuallyPositionable

public final class XSSFChart
extends POIXMLDocumentPart
implements Chart, ChartAxisFactory

Represents a SpreadsheetML Chart


Field Summary
 
Fields inherited from class org.apache.poi.POIXMLDocumentPart
DEFAULT_XML_OPTIONS
 
Constructor Summary
protected XSSFChart()
          Create a new SpreadsheetML chart
protected XSSFChart(PackagePart part, PackageRelationship rel)
          Construct a SpreadsheetML chart from a package part.
 
Method Summary
protected  void commit()
          Save the content in the underlying package part.
 XSSFCategoryAxis createCategoryAxis(AxisPosition pos)
           
 XSSFValueAxis createValueAxis(AxisPosition pos)
           
 void deleteLegend()
           
 java.util.List<? extends XSSFChartAxis> getAxis()
           
 XSSFChart getChartAxisFactory()
           
 XSSFChartDataFactory getChartDataFactory()
           
 org.openxmlformats.schemas.drawingml.x2006.chart.CTChart getCTChart()
          Return the underlying CTChart bean, within the Chart Space
 org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace getCTChartSpace()
          Return the underlying CTChartSpace bean, the root element of the SpreadsheetML Chart part.
 XSSFGraphicFrame getGraphicFrame()
          Returns the parent graphic frame.
 XSSFManualLayout getManualLayout()
           
 XSSFChartLegend getOrCreateLegend()
           
 XSSFRichTextString getTitle()
          Returns the title, or null if none is set
 boolean isPlotOnlyVisibleCells()
           
 void plot(ChartData data, ChartAxis... axis)
           
protected  void setGraphicFrame(XSSFGraphicFrame frame)
          Sets the parent graphic frame.
 void setPlotOnlyVisibleCells(boolean plotVisOnly)
           
 
Methods inherited from class org.apache.poi.POIXMLDocumentPart
addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XSSFChart

protected XSSFChart()
Create a new SpreadsheetML chart


XSSFChart

protected XSSFChart(PackagePart part,
                    PackageRelationship rel)
             throws java.io.IOException,
                    org.apache.xmlbeans.XmlException
Construct a SpreadsheetML chart from a package part.

Parameters:
part - the package part holding the chart data, the content type must be application/vnd.openxmlformats-officedocument.drawingml.chart+xml
rel - the package relationship holding this chart, the relationship type must be http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart
Throws:
java.io.IOException
org.apache.xmlbeans.XmlException
Method Detail

getCTChartSpace

@Internal
public org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace getCTChartSpace()
Return the underlying CTChartSpace bean, the root element of the SpreadsheetML Chart part.

Returns:
the underlying CTChartSpace bean

getCTChart

@Internal
public org.openxmlformats.schemas.drawingml.x2006.chart.CTChart getCTChart()
Return the underlying CTChart bean, within the Chart Space

Returns:
the underlying CTChart bean

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

getGraphicFrame

public XSSFGraphicFrame getGraphicFrame()
Returns the parent graphic frame.

Returns:
the graphic frame this chart belongs to

setGraphicFrame

protected void setGraphicFrame(XSSFGraphicFrame frame)
Sets the parent graphic frame.


getChartDataFactory

public XSSFChartDataFactory getChartDataFactory()
Specified by:
getChartDataFactory in interface Chart

getChartAxisFactory

public XSSFChart getChartAxisFactory()
Specified by:
getChartAxisFactory in interface Chart

plot

public void plot(ChartData data,
                 ChartAxis... axis)
Specified by:
plot in interface Chart

createValueAxis

public XSSFValueAxis createValueAxis(AxisPosition pos)
Specified by:
createValueAxis in interface ChartAxisFactory

createCategoryAxis

public XSSFCategoryAxis createCategoryAxis(AxisPosition pos)
Specified by:
createCategoryAxis in interface ChartAxisFactory

getAxis

public java.util.List<? extends XSSFChartAxis> getAxis()
Specified by:
getAxis in interface Chart

getManualLayout

public XSSFManualLayout getManualLayout()
Specified by:
getManualLayout in interface ManuallyPositionable

isPlotOnlyVisibleCells

public boolean isPlotOnlyVisibleCells()
Returns:
true if only visible cells will be present on the chart, false otherwise

setPlotOnlyVisibleCells

public void setPlotOnlyVisibleCells(boolean plotVisOnly)
Parameters:
plotVisOnly - a flag specifying if only visible cells should be present on the chart

getTitle

public XSSFRichTextString getTitle()
Returns the title, or null if none is set


getOrCreateLegend

public XSSFChartLegend getOrCreateLegend()
Specified by:
getOrCreateLegend in interface Chart

deleteLegend

public void deleteLegend()
Specified by:
deleteLegend in interface Chart