org.apache.poi.xwpf.usermodel
Class XWPFHeaderFooter

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xwpf.usermodel.XWPFHeaderFooter
All Implemented Interfaces:
IBody
Direct Known Subclasses:
XWPFFooter, XWPFHeader

public abstract class XWPFHeaderFooter
extends POIXMLDocumentPart
implements IBody

Parent of XWPF headers and footers


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Constructor Summary
protected XWPFHeaderFooter()
           
  XWPFHeaderFooter(POIXMLDocumentPart parent, PackagePart part)
           
 
Method Summary
 org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr _getHdrFtr()
           
 java.lang.String addPictureData(byte[] pictureData, int format)
          Adds a picture to the document.
 java.lang.String addPictureData(java.io.InputStream is, int format)
          Adds a picture to the document.
 void clearHeaderFooter()
          Clears all paragraphs and tables from this header / footer
 XWPFParagraph createParagraph()
          Adds a new paragraph at the end of the header or footer
 XWPFTable createTable(int rows, int cols)
          Adds a new table at the end of the header or footer
 java.util.List<XWPFPictureData> getAllPackagePictures()
          get all Pictures in this package
 java.util.List<XWPFPictureData> getAllPictures()
           
 java.util.List<IBodyElement> getBodyElements()
          Returns an Iterator with paragraphs and tables, in the order that they occur in the text.
 java.util.List<XWPFParagraph> getListParagraph()
          get a List of all Paragraphs
 POIXMLDocumentPart getOwner()
           
 XWPFParagraph getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)
          if there is a corresponding XWPFParagraph of the parameter ctTable in the paragraphList of this header or footer the method will return this paragraph if there is no corresponding XWPFParagraph the method will return null
 XWPFParagraph getParagraphArray(int pos)
          Returns the paragraph that holds the text of the header or footer.
 java.util.List<XWPFParagraph> getParagraphs()
          Returns the paragraph(s) that holds the text of the header or footer.
 POIXMLDocumentPart getPart()
          returns the Part, to which the body belongs, which you need for adding relationship to other parts
 XWPFPictureData getPictureDataByID(java.lang.String blipID)
          returns the PictureData by blipID
 XWPFTable getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTable)
          if there is a corresponding XWPFTable of the parameter ctTable in the tableList of this header the method will return this table if there is no corresponding XWPFTable the method will return null
 XWPFTable getTableArray(int pos)
          Returns the table at position pos
 XWPFTableCell getTableCell(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc cell)
          get the TableCell which belongs to the TableCell
 java.util.List<XWPFTable> getTables()
          Return the table(s) that holds the text of the header or footer, for complex cases where a paragraph isn't used.
 java.lang.String getText()
          Returns the textual content of the header/footer, by flattening out the text of its paragraph(s)
 XWPFDocument getXWPFDocument()
          Return XWPFDocument
 XWPFParagraph insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)
          add a new paragraph at position of the cursor
 XWPFTable insertNewTbl(org.apache.xmlbeans.XmlCursor cursor)
          inserts a new Table at the cursor position.
 void insertTable(int pos, XWPFTable table)
          inserts an existing XWPFTable to the arrays bodyElements and tables
protected  void onDocumentRead()
          Fired when a package part is read
protected  void prepareForCommit()
          Ensure that a memory based package part does not have lingering data from previous commit() calls.
 void readHdrFtr()
           
 void removeParagraph(XWPFParagraph paragraph)
          Removes a specific paragraph from this header / footer
 void removeTable(XWPFTable table)
          Removes a specific table from this header / footer
 void setHeaderFooter(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr headerFooter)
          set a new headerFooter
 void setXWPFDocument(XWPFDocument doc)
           
 
Methods inherited from class org.apache.poi.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, getRelations, getTargetPart, onDocumentCreate, onDocumentRemove, onSave, 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.xwpf.usermodel.IBody
getPartType
 

Constructor Detail

XWPFHeaderFooter

protected XWPFHeaderFooter()

XWPFHeaderFooter

public XWPFHeaderFooter(POIXMLDocumentPart parent,
                        PackagePart part)
                 throws java.io.IOException
Throws:
java.io.IOException
Since:
by POI 3.14-Beta1
Method Detail

onDocumentRead

protected void onDocumentRead()
                       throws java.io.IOException
Description copied from class: POIXMLDocumentPart
Fired when a package part is read

Overrides:
onDocumentRead in class POIXMLDocumentPart
Throws:
java.io.IOException - a subclass may throw an IOException when a document is read

_getHdrFtr

@Internal
public org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr _getHdrFtr()

getBodyElements

public java.util.List<IBodyElement> getBodyElements()
Description copied from interface: IBody
Returns an Iterator with paragraphs and tables, in the order that they occur in the text.

Specified by:
getBodyElements in interface IBody

getParagraphs

public java.util.List<XWPFParagraph> getParagraphs()
Returns the paragraph(s) that holds the text of the header or footer. Normally there is only the one paragraph, but there could be more in certain cases, or a table.

Specified by:
getParagraphs in interface IBody

getTables

public java.util.List<XWPFTable> getTables()
                                    throws java.lang.ArrayIndexOutOfBoundsException
Return the table(s) that holds the text of the header or footer, for complex cases where a paragraph isn't used. Normally there's just one paragraph, but some complex headers/footers have a table or two in addition.

Specified by:
getTables in interface IBody
Throws:
java.lang.ArrayIndexOutOfBoundsException

getText

public java.lang.String getText()
Returns the textual content of the header/footer, by flattening out the text of its paragraph(s)


setHeaderFooter

public void setHeaderFooter(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr headerFooter)
set a new headerFooter


getTable

public XWPFTable getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTable)
if there is a corresponding XWPFTable of the parameter ctTable in the tableList of this header the method will return this table if there is no corresponding XWPFTable the method will return null

Specified by:
getTable in interface IBody
Parameters:
ctTable -

getParagraph

public XWPFParagraph getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)
if there is a corresponding XWPFParagraph of the parameter ctTable in the paragraphList of this header or footer the method will return this paragraph if there is no corresponding XWPFParagraph the method will return null

Specified by:
getParagraph in interface IBody
Parameters:
p - is instance of CTP and is searching for an XWPFParagraph
Returns:
null if there is no XWPFParagraph with an corresponding CTPparagraph in the paragraphList of this header or footer XWPFParagraph with the correspondig CTP p

getParagraphArray

public XWPFParagraph getParagraphArray(int pos)
Returns the paragraph that holds the text of the header or footer.

Specified by:
getParagraphArray in interface IBody

getListParagraph

public java.util.List<XWPFParagraph> getListParagraph()
get a List of all Paragraphs

Returns:
a list of XWPFParagraph

getAllPictures

public java.util.List<XWPFPictureData> getAllPictures()

getAllPackagePictures

public java.util.List<XWPFPictureData> getAllPackagePictures()
get all Pictures in this package

Returns:
all Pictures in this package

addPictureData

public java.lang.String addPictureData(byte[] pictureData,
                                       int format)
                                throws InvalidFormatException
Adds a picture to the document.

Parameters:
pictureData - The picture data
format - The format of the picture.
Returns:
the index to this picture (0 based), the added picture can be obtained from getAllPictures() .
Throws:
InvalidFormatException

addPictureData

public java.lang.String addPictureData(java.io.InputStream is,
                                       int format)
                                throws InvalidFormatException,
                                       java.io.IOException
Adds a picture to the document.

Parameters:
is - The stream to read image from
format - The format of the picture.
Returns:
the index to this picture (0 based), the added picture can be obtained from getAllPictures() .
Throws:
InvalidFormatException
java.io.IOException

getPictureDataByID

public XWPFPictureData getPictureDataByID(java.lang.String blipID)
returns the PictureData by blipID

Parameters:
blipID -
Returns:
XWPFPictureData of a specificID
Throws:
java.lang.Exception

createParagraph

public XWPFParagraph createParagraph()
Adds a new paragraph at the end of the header or footer

Returns:
new XWPFParagraph object

createTable

public XWPFTable createTable(int rows,
                             int cols)
Adds a new table at the end of the header or footer

Parameters:
rows - - number of rows in the table
cols - - number of columns in the table
Returns:
new XWPFTable object

removeParagraph

public void removeParagraph(XWPFParagraph paragraph)
Removes a specific paragraph from this header / footer

Parameters:
paragraph - - XWPFParagraph object to remove

removeTable

public void removeTable(XWPFTable table)
Removes a specific table from this header / footer

Parameters:
table - - XWPFTable object to remove

clearHeaderFooter

public void clearHeaderFooter()
Clears all paragraphs and tables from this header / footer


insertNewParagraph

public XWPFParagraph insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)
add a new paragraph at position of the cursor

Specified by:
insertNewParagraph in interface IBody
Parameters:
cursor -
Returns:
the inserted paragraph

insertNewTbl

public XWPFTable insertNewTbl(org.apache.xmlbeans.XmlCursor cursor)
Description copied from interface: IBody
inserts a new Table at the cursor position.

Specified by:
insertNewTbl in interface IBody
Parameters:
cursor -
Returns:
the inserted table

getOwner

public POIXMLDocumentPart getOwner()

getTableArray

public XWPFTable getTableArray(int pos)
Returns the table at position pos

Specified by:
getTableArray in interface IBody
See Also:
IBody.getTableArray(int)

insertTable

public void insertTable(int pos,
                        XWPFTable table)
inserts an existing XWPFTable to the arrays bodyElements and tables

Specified by:
insertTable in interface IBody
Parameters:
pos -
table -

readHdrFtr

public void readHdrFtr()

getTableCell

public XWPFTableCell getTableCell(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc cell)
get the TableCell which belongs to the TableCell

Specified by:
getTableCell in interface IBody
Parameters:
cell -

getXWPFDocument

public XWPFDocument getXWPFDocument()
Description copied from interface: IBody
Return XWPFDocument

Specified by:
getXWPFDocument in interface IBody

setXWPFDocument

public void setXWPFDocument(XWPFDocument doc)

getPart

public POIXMLDocumentPart getPart()
returns the Part, to which the body belongs, which you need for adding relationship to other parts

Specified by:
getPart in interface IBody
Returns:
the Part, to which the body belongs
See Also:
IBody.getPart()

prepareForCommit

protected void prepareForCommit()
Description copied from class: POIXMLDocumentPart
Ensure that a memory based package part does not have lingering data from previous commit() calls. Note: This is overwritten for some objects, as *PictureData seem to store the actual content in the part directly without keeping a copy like all others therefore we need to handle them differently.

Overrides:
prepareForCommit in class POIXMLDocumentPart