org.apache.poi.xssf.usermodel
Class XSSFDrawing

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xssf.usermodel.XSSFDrawing
All Implemented Interfaces:
Drawing

public final class XSSFDrawing
extends POIXMLDocumentPart
implements Drawing

Represents a SpreadsheetML drawing

Author:
Yegor Kozlov

Field Summary
protected static java.lang.String NAMESPACE_A
           
protected static java.lang.String NAMESPACE_C
           
 
Fields inherited from class org.apache.poi.POIXMLDocumentPart
DEFAULT_XML_OPTIONS
 
Constructor Summary
protected XSSFDrawing()
          Create a new SpreadsheetML drawing
protected XSSFDrawing(PackagePart part, PackageRelationship rel)
          Construct a SpreadsheetML drawing from a package part
 
Method Summary
protected  PackageRelationship addPictureReference(int pictureIndex)
          Add the indexed picture to this drawing relations
protected  void commit()
          Save the content in the underlying package part.
 XSSFClientAnchor createAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2)
          Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor.
 XSSFComment createCellComment(ClientAnchor anchor)
          Creates a comment.
 XSSFChart createChart(ClientAnchor anchor)
          Creates a chart.
 XSSFChart createChart(XSSFClientAnchor anchor)
          Creates a chart.
 XSSFConnector createConnector(XSSFClientAnchor anchor)
          Creates a simple shape.
 XSSFShapeGroup createGroup(XSSFClientAnchor anchor)
          Creates a simple shape.
 XSSFPicture createPicture(ClientAnchor anchor, int pictureIndex)
          Creates a picture.
 XSSFPicture createPicture(XSSFClientAnchor anchor, int pictureIndex)
          Creates a picture.
 XSSFSimpleShape createSimpleShape(XSSFClientAnchor anchor)
          Creates a simple shape.
 XSSFTextBox createTextbox(XSSFClientAnchor anchor)
          Constructs a textbox under the drawing.
 java.util.List<XSSFChart> getCharts()
          Returns all charts in this drawing.
 org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTDrawing getCTDrawing()
          Return the underlying CTDrawing bean, the root element of the SpreadsheetML Drawing part.
 java.util.List<XSSFShape> getShapes()
           
 
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
 

Field Detail

NAMESPACE_A

protected static final java.lang.String NAMESPACE_A
See Also:
Constant Field Values

NAMESPACE_C

protected static final java.lang.String NAMESPACE_C
See Also:
Constant Field Values
Constructor Detail

XSSFDrawing

protected XSSFDrawing()
Create a new SpreadsheetML drawing

See Also:
XSSFSheet.createDrawingPatriarch()

XSSFDrawing

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

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

getCTDrawing

@Internal
public org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTDrawing getCTDrawing()
Return the underlying CTDrawing bean, the root element of the SpreadsheetML Drawing part.

Returns:
the underlying CTDrawing 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

createAnchor

public XSSFClientAnchor createAnchor(int dx1,
                                     int dy1,
                                     int dx2,
                                     int dy2,
                                     int col1,
                                     int row1,
                                     int col2,
                                     int row2)
Description copied from interface: Drawing
Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor.

Specified by:
createAnchor in interface Drawing
Parameters:
dx1 - the x coordinate in EMU within the first cell.
dy1 - the y coordinate in EMU within the first cell.
dx2 - the x coordinate in EMU within the second cell.
dy2 - the y coordinate in EMU within the second cell.
col1 - the column (0 based) of the first cell.
row1 - the row (0 based) of the first cell.
col2 - the column (0 based) of the second cell.
row2 - the row (0 based) of the second cell.
Returns:
the newly created client anchor

createTextbox

public XSSFTextBox createTextbox(XSSFClientAnchor anchor)
Constructs a textbox under the drawing.

Parameters:
anchor - the client anchor describes how this group is attached to the sheet.
Returns:
the newly created textbox.

createPicture

public XSSFPicture createPicture(XSSFClientAnchor anchor,
                                 int pictureIndex)
Creates a picture.

Parameters:
anchor - the client anchor describes how this picture is attached to the sheet.
pictureIndex - the index of the picture in the workbook collection of pictures, XSSFWorkbook.getAllPictures() .
Returns:
the newly created picture shape.

createPicture

public XSSFPicture createPicture(ClientAnchor anchor,
                                 int pictureIndex)
Description copied from interface: Drawing
Creates a picture.

Specified by:
createPicture in interface Drawing
Parameters:
anchor - the client anchor describes how this picture is attached to the sheet.
pictureIndex - the index of the picture in the workbook collection of pictures.
Returns:
the newly created picture.

createChart

public XSSFChart createChart(XSSFClientAnchor anchor)
Creates a chart.

Parameters:
anchor - the client anchor describes how this chart is attached to the sheet.
Returns:
the newly created chart
See Also:
createChart(ClientAnchor)

createChart

public XSSFChart createChart(ClientAnchor anchor)
Description copied from interface: Drawing
Creates a chart.

Specified by:
createChart in interface Drawing
Parameters:
anchor - the client anchor describes how this chart is attached to the sheet.
Returns:
the newly created chart

addPictureReference

protected PackageRelationship addPictureReference(int pictureIndex)
Add the indexed picture to this drawing relations

Parameters:
pictureIndex - the index of the picture in the workbook collection of pictures, XSSFWorkbook.getAllPictures() .

createSimpleShape

public XSSFSimpleShape createSimpleShape(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.

Parameters:
anchor - the client anchor describes how this group is attached to the sheet.
Returns:
the newly created shape.

createConnector

public XSSFConnector createConnector(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.

Parameters:
anchor - the client anchor describes how this group is attached to the sheet.
Returns:
the newly created shape.

createGroup

public XSSFShapeGroup createGroup(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.

Parameters:
anchor - the client anchor describes how this group is attached to the sheet.
Returns:
the newly created shape.

createCellComment

public XSSFComment createCellComment(ClientAnchor anchor)
Creates a comment.

Specified by:
createCellComment in interface Drawing
Parameters:
anchor - the client anchor describes how this comment is attached to the sheet.
Returns:
the newly created comment.

getCharts

public java.util.List<XSSFChart> getCharts()
Returns all charts in this drawing.


getShapes

public java.util.List<XSSFShape> getShapes()
Returns:
list of shapes in this drawing


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