org.apache.poi.xslf.usermodel
Class XSLFSheet

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xslf.usermodel.XSLFSheet
All Implemented Interfaces:
java.lang.Iterable<XSLFShape>, ShapeContainer<XSLFShape,XSLFTextParagraph>, Sheet<XSLFShape,XSLFTextParagraph>, XSLFShapeContainer
Direct Known Subclasses:
XSLFNotes, XSLFNotesMaster, XSLFSlide, XSLFSlideLayout, XSLFSlideMaster

@Beta
public abstract class XSLFSheet
extends POIXMLDocumentPart
implements XSLFShapeContainer, Sheet<XSLFShape,XSLFTextParagraph>


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Constructor Summary
XSLFSheet()
           
XSLFSheet(PackagePart part)
           
 
Method Summary
 void addShape(XSLFShape shape)
           
 XSLFSheet appendContent(XSLFSheet src)
          Append content to this sheet.
protected static java.util.List<XSLFShape> buildShapes(org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape spTree, XSLFSheet sheet)
           
protected  boolean canDraw(XSLFShape shape)
          Checks if this sheet displays the specified shape.
 void clear()
          Removes all of the elements from this container (optional operation).
protected  void commit()
          Save the content in the underlying package part.
 XSLFAutoShape createAutoShape()
           
 XSLFConnectorShape createConnector()
           
 XSLFFreeformShape createFreeform()
           
 XSLFGroupShape createGroup()
           
 XSLFPictureShape createPicture(PictureData pictureData)
           
 XSLFTable createTable()
           
 XSLFTable createTable(int numRows, int numCols)
           
 XSLFTextBox createTextBox()
           
 void draw(java.awt.Graphics2D graphics)
          Render this sheet into the supplied graphics object
 XSLFBackground getBackground()
           
 XSLFCommonSlideData getCommonSlideData()
           
 boolean getFollowMasterGraphics()
           
 XSLFTextShape getPlaceholder(int idx)
           
 XSLFTextShape[] getPlaceholders()
           
protected abstract  java.lang.String getRootElementName()
           
 java.util.List<XSLFShape> getShapes()
          Returns an array containing all of the shapes in this sheet
 XMLSlideShow getSlideShow()
           
protected  org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape getSpTree()
           
protected  XSLFTextShape getTextShapeByType(Placeholder type)
           
abstract  org.apache.xmlbeans.XmlObject getXmlObject()
           
 XSLFSheet importContent(XSLFSheet src)
          Set the contents of this sheet to be a copy of the source sheet.
 java.util.Iterator<XSLFShape> iterator()
          Returns an iterator over the shapes in this sheet
 boolean removeShape(XSLFShape xShape)
          Removes the specified shape from this sheet, if it is present (optional operation).
protected  void setCommonSlideData(org.openxmlformats.schemas.presentationml.x2006.main.CTCommonSlideData data)
           
 
Methods inherited from class org.apache.poi.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, 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
 
Methods inherited from interface org.apache.poi.sl.usermodel.Sheet
getMasterSheet
 

Constructor Detail

XSLFSheet

public XSLFSheet()

XSLFSheet

public XSLFSheet(PackagePart part)
Since:
POI 3.14-Beta1
Method Detail

getSlideShow

public XMLSlideShow getSlideShow()
Specified by:
getSlideShow in interface Sheet<XSLFShape,XSLFTextParagraph>
Returns:
the XMLSlideShow this sheet belongs to

buildShapes

protected static java.util.List<XSLFShape> buildShapes(org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape spTree,
                                                       XSLFSheet sheet)

getXmlObject

public abstract org.apache.xmlbeans.XmlObject getXmlObject()
Returns:
top-level Xml bean representing this sheet

getCommonSlideData

@Removal(version="3.18")
@Internal
public XSLFCommonSlideData getCommonSlideData()

setCommonSlideData

@Removal(version="3.18")
protected void setCommonSlideData(org.openxmlformats.schemas.presentationml.x2006.main.CTCommonSlideData data)

getShapes

public java.util.List<XSLFShape> getShapes()
Returns an array containing all of the shapes in this sheet

Specified by:
getShapes in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Returns:
an array of all shapes in this sheet

createAutoShape

public XSLFAutoShape createAutoShape()
Specified by:
createAutoShape in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createAutoShape in interface XSLFShapeContainer

createFreeform

public XSLFFreeformShape createFreeform()
Specified by:
createFreeform in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createFreeform in interface XSLFShapeContainer

createTextBox

public XSLFTextBox createTextBox()
Specified by:
createTextBox in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createTextBox in interface XSLFShapeContainer

createConnector

public XSLFConnectorShape createConnector()
Specified by:
createConnector in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createConnector in interface XSLFShapeContainer

createGroup

public XSLFGroupShape createGroup()
Specified by:
createGroup in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createGroup in interface XSLFShapeContainer

createPicture

public XSLFPictureShape createPicture(PictureData pictureData)
Specified by:
createPicture in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Specified by:
createPicture in interface XSLFShapeContainer

createTable

public XSLFTable createTable()

createTable

public XSLFTable createTable(int numRows,
                             int numCols)
Specified by:
createTable in interface ShapeContainer<XSLFShape,XSLFTextParagraph>

iterator

public java.util.Iterator<XSLFShape> iterator()
Returns an iterator over the shapes in this sheet

Specified by:
iterator in interface java.lang.Iterable<XSLFShape>
Returns:
an iterator over the shapes in this sheet

addShape

public void addShape(XSLFShape shape)
Specified by:
addShape in interface ShapeContainer<XSLFShape,XSLFTextParagraph>

removeShape

public boolean removeShape(XSLFShape xShape)
Removes the specified shape from this sheet, if it is present (optional operation). If this sheet does not contain the element, it is unchanged.

Specified by:
removeShape in interface ShapeContainer<XSLFShape,XSLFTextParagraph>
Parameters:
xShape - shape to be removed from this sheet, if present
Returns:
true if this sheet contained the specified element
Throws:
java.lang.IllegalArgumentException - if the type of the specified shape is incompatible with this sheet (optional)

clear

public void clear()
Removes all of the elements from this container (optional operation). The container will be empty after this call returns.

Specified by:
clear in interface XSLFShapeContainer

getRootElementName

protected abstract java.lang.String getRootElementName()

getSpTree

protected org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape getSpTree()

commit

protected final 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 - a subclass may throw an IOException if the changes can't be committed

importContent

public XSLFSheet importContent(XSLFSheet src)
Set the contents of this sheet to be a copy of the source sheet. This method erases any existing shapes and replaces them with object from the source sheet.

Parameters:
src - the source sheet to copy data from
Returns:
modified 'this'

appendContent

public XSLFSheet appendContent(XSLFSheet src)
Append content to this sheet.

Parameters:
src - the source sheet
Returns:
modified this.

getTextShapeByType

protected XSLFTextShape getTextShapeByType(Placeholder type)

getPlaceholder

public XSLFTextShape getPlaceholder(int idx)
Parameters:
idx - 0-based index of a placeholder in the sheet
Returns:
placeholder

getPlaceholders

public XSLFTextShape[] getPlaceholders()
Returns:
all placeholder shapes in this sheet

canDraw

protected boolean canDraw(XSLFShape shape)
Checks if this sheet displays the specified shape. Subclasses can override it and skip certain shapes from drawings, for instance, slide masters and layouts don't display placeholders


getFollowMasterGraphics

public boolean getFollowMasterGraphics()
Specified by:
getFollowMasterGraphics in interface Sheet<XSLFShape,XSLFTextParagraph>
Returns:
whether shapes on the master sheet should be shown. By default master graphics is turned off. Sheets that support the notion of master (slide, slideLayout) should override it and check this setting in the sheet XML

getBackground

public XSLFBackground getBackground()
Specified by:
getBackground in interface Sheet<XSLFShape,XSLFTextParagraph>
Returns:
background for this sheet

draw

public void draw(java.awt.Graphics2D graphics)
Render this sheet into the supplied graphics object

Specified by:
draw in interface Sheet<XSLFShape,XSLFTextParagraph>
Parameters:
graphics -