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>
Direct Known Subclasses:
XSLFNotes, XSLFNotesMaster, XSLFSlide, XSLFSlideLayout, XSLFSlideMaster

@Beta
public abstract class XSLFSheet
extends POIXMLDocumentPart
implements java.lang.Iterable<XSLFShape>


Field Summary
 
Fields inherited from class org.apache.poi.POIXMLDocumentPart
DEFAULT_XML_OPTIONS
 
Constructor Summary
XSLFSheet()
           
XSLFSheet(PackagePart part, PackageRelationship rel)
           
 
Method Summary
protected  java.util.List<XSLFShape> buildShapes(org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape spTree)
           
protected  boolean canDraw(XSLFShape shape)
          Checks if this sheet displays the specified shape.
protected  void commit()
          Save the content in the underlying package part.
 XSLFAutoShape createAutoShape()
           
 XSLFConnectorShape createConnector()
           
 XSLFFreeformShape createFreeform()
           
 XSLFGroupShape createGroup()
           
 XSLFPictureShape createPicture(int pictureIndex)
           
 XSLFTable createTable()
           
 XSLFTextBox createTextBox()
           
 void draw(java.awt.Graphics2D graphics)
          Render this sheet into the supplied graphics object
 XSLFBackground getBackground()
           
 XSLFCommonSlideData getCommonSlideData()
           
 boolean getFollowMasterGraphics()
           
abstract  XSLFSheet getMasterSheet()
           
 XSLFTextShape getPlaceholder(int idx)
           
 XSLFTextShape[] getPlaceholders()
           
protected abstract  java.lang.String getRootElementName()
           
 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
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

XSLFSheet

public XSLFSheet()

XSLFSheet

public XSLFSheet(PackagePart part,
                 PackageRelationship rel)
Method Detail

getSlideShow

public XMLSlideShow getSlideShow()
Returns:
the XMLSlideShow this sheet belongs to

buildShapes

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

getXmlObject

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

getCommonSlideData

@Internal
public XSLFCommonSlideData getCommonSlideData()

setCommonSlideData

protected void setCommonSlideData(org.openxmlformats.schemas.presentationml.x2006.main.CTCommonSlideData data)

createAutoShape

public XSLFAutoShape createAutoShape()

createFreeform

public XSLFFreeformShape createFreeform()

createTextBox

public XSLFTextBox createTextBox()

createConnector

public XSLFConnectorShape createConnector()

createGroup

public XSLFGroupShape createGroup()

createPicture

public XSLFPictureShape createPicture(int pictureIndex)

createTable

public XSLFTable createTable()

getShapes

public XSLFShape[] getShapes()
Returns an array containing all of the shapes in this sheet

Returns:
an array of all shapes in this sheet

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

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.

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)

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

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'

getMasterSheet

public abstract XSLFSheet getMasterSheet()
Returns:
master of this sheet.

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()
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()
Returns:
background for this sheet

draw

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

Parameters:
graphics -


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