129 lines
4.4 KiB
Java
129 lines
4.4 KiB
Java
/* ====================================================================
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
==================================================================== */
|
|
|
|
package org.apache.poi.xwpf.usermodel;
|
|
|
|
import java.util.List;
|
|
|
|
import org.apache.poi.POIXMLDocumentPart;
|
|
import org.apache.xmlbeans.XmlCursor;
|
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
|
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl;
|
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc;
|
|
|
|
/**
|
|
* <p>An IBody represents the different parts of the document which
|
|
* can contain collections of Paragraphs and Tables. It provides a
|
|
* common way to work with these and their contents.</p>
|
|
* <p>Typically, this is something like a XWPFDocument, or one of
|
|
* the parts in it like XWPFHeader, XWPFFooter, XWPFTableCell
|
|
* </p>
|
|
*/
|
|
public interface IBody {
|
|
/**
|
|
* returns the Part, to which the body belongs, which you need for adding relationship to other parts
|
|
* Actually it is needed of the class XWPFTableCell. Because you have to know to which part the tableCell
|
|
* belongs.
|
|
* @return the Part, to which the body belongs
|
|
*/
|
|
public POIXMLDocumentPart getPart();
|
|
|
|
/**
|
|
* get the PartType of the body, for example
|
|
* DOCUMENT, HEADER, FOOTER, FOOTNOTE,
|
|
* @return the PartType of the body
|
|
*/
|
|
public BodyType getPartType();
|
|
|
|
/**
|
|
* Returns an Iterator with paragraphs and tables,
|
|
* in the order that they occur in the text.
|
|
*/
|
|
public List<IBodyElement> getBodyElements();
|
|
|
|
/**
|
|
* Returns the paragraph(s) that holds
|
|
* the text of the header or footer.
|
|
*/
|
|
public List<XWPFParagraph> getParagraphs();
|
|
|
|
/**
|
|
* Return the table(s) that holds the text
|
|
* of the IBodyPart, for complex cases
|
|
* where a paragraph isn't used.
|
|
*/
|
|
public List<XWPFTable> getTables();
|
|
|
|
/**
|
|
* if there is a corresponding {@link XWPFParagraph} of the parameter ctTable in the paragraphList of this header or footer
|
|
* the method will return this paragraph
|
|
* if there is no corresponding {@link XWPFParagraph} the method will return null
|
|
* @param p is instance of CTP and is searching for an XWPFParagraph
|
|
* @return null if there is no XWPFParagraph with an corresponding CTPparagraph in the paragraphList of this header or footer
|
|
* XWPFParagraph with the correspondig CTP p
|
|
*/
|
|
public XWPFParagraph getParagraph(CTP p);
|
|
|
|
/**
|
|
* if there is a corresponding {@link XWPFTable} of the parameter ctTable in the tableList of this header
|
|
* the method will return this table
|
|
* if there is no corresponding {@link XWPFTable} the method will return null
|
|
* @param ctTable
|
|
*/
|
|
public XWPFTable getTable(CTTbl ctTable);
|
|
|
|
/**
|
|
* Returns the paragraph that of position pos
|
|
*/
|
|
public XWPFParagraph getParagraphArray(int pos);
|
|
|
|
/**
|
|
* Returns the table at position pos
|
|
*/
|
|
public XWPFTable getTableArray(int pos);
|
|
|
|
/**
|
|
*inserts a new paragraph at position of the cursor
|
|
* @param cursor
|
|
*/
|
|
public XWPFParagraph insertNewParagraph(XmlCursor cursor);
|
|
|
|
/**
|
|
* inserts a new Table at the cursor position.
|
|
* @param cursor
|
|
*/
|
|
public XWPFTable insertNewTbl(XmlCursor cursor);
|
|
|
|
/**
|
|
* inserts a new Table at position pos
|
|
* @param pos
|
|
* @param table
|
|
*/
|
|
void insertTable(int pos, XWPFTable table);
|
|
|
|
/**
|
|
* returns the TableCell to which the Table belongs
|
|
* @param cell
|
|
*/
|
|
public XWPFTableCell getTableCell(CTTc cell);
|
|
|
|
/**
|
|
* Return XWPFDocument
|
|
*/
|
|
public XWPFDocument getXWPFDocument();
|
|
}
|