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

Author:
Nick Burch, Roman Kashitsyn

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.
 XSSFValueAxis createValueAxis(AxisPosition pos)
           
 void deleteLegend()
          Delete current chart legend.
 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()
          Returns manual layout for the chart element.
 XSSFChartLegend getOrCreateLegend()
           
 XSSFRichTextString getTitle()
          Returns the title, or null if none is set
 boolean isPlotOnlyVisibleCells()
           
 void plot(ChartData data, ChartAxis... axis)
          Plots specified data on the chart.
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, 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
Returns:
an appropriate ChartDataFactory implementation

getChartAxisFactory

public XSSFChart getChartAxisFactory()
Specified by:
getChartAxisFactory in interface Chart
Returns:
an appropriate ChartAxisFactory implementation

plot

public void plot(ChartData data,
                 ChartAxis... axis)
Description copied from interface: Chart
Plots specified data on the chart.

Specified by:
plot in interface Chart
Parameters:
data - a data to plot

createValueAxis

public XSSFValueAxis createValueAxis(AxisPosition pos)
Specified by:
createValueAxis in interface ChartAxisFactory
Returns:
new value axis

getAxis

public java.util.List<? extends XSSFChartAxis> getAxis()
Specified by:
getAxis in interface Chart
Returns:
list of all chart axis

getManualLayout

public XSSFManualLayout getManualLayout()
Description copied from interface: ManuallyPositionable
Returns manual layout for the chart element.

Specified by:
getManualLayout in interface ManuallyPositionable
Returns:
manual layout for the chart element.

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
Returns:
chart legend instance

deleteLegend

public void deleteLegend()
Description copied from interface: Chart
Delete current chart legend.

Specified by:
deleteLegend in interface Chart


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