Fix and update JavaDoc entries, and correct areas with wildy inconsistent whitespace / style to the surrounding code

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1492804 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2013-06-13 18:34:54 +00:00
parent d323b0054c
commit abd6675bcf
4 changed files with 661 additions and 682 deletions

View File

@ -41,121 +41,118 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.FootnotesDocument;
/**
* Looks after the collection of Footnotes for a document
*
* @author Mike McEuen (mceuen@hp.com)
*/
public class XWPFFootnotes extends POIXMLDocumentPart {
private List<XWPFFootnote> listFootnote = new ArrayList<XWPFFootnote>();
private CTFootnotes ctFootnotes;
private List<XWPFFootnote> listFootnote = new ArrayList<XWPFFootnote>();
private CTFootnotes ctFootnotes;
protected XWPFDocument document;
protected XWPFDocument document;
/**
* Construct XWPFFootnotes from a package part
*
* @param part the package part holding the data of the footnotes,
* @param rel the package relationship of type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes"
*/
public XWPFFootnotes(PackagePart part, PackageRelationship rel) throws IOException, OpenXML4JException{
super(part, rel);
/**
* Construct XWPFFootnotes from a package part
*
* @param part the package part holding the data of the footnotes,
* @param rel the package relationship of type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes"
*/
public XWPFFootnotes(PackagePart part, PackageRelationship rel) throws IOException, OpenXML4JException{
super(part, rel);
}
/**
* Construct XWPFFootnotes from scratch for a new document.
*/
public XWPFFootnotes() {
}
/**
* Read document
*/
@Override
protected void onDocumentRead () throws IOException {
FootnotesDocument notesDoc;
try {
InputStream is = getPackagePart().getInputStream();
notesDoc = FootnotesDocument.Factory.parse(is);
ctFootnotes = notesDoc.getFootnotes();
} catch (XmlException e) {
throw new POIXMLException();
}
/**
* Construct XWPFFootnotes from scratch for a new document.
*/
public XWPFFootnotes() {
//get any Footnote
for(CTFtnEdn note : ctFootnotes.getFootnoteList()) {
listFootnote.add(new XWPFFootnote(note, this));
}
}
/**
* Read document
*/
@Override
protected void onDocumentRead () throws IOException {
FootnotesDocument notesDoc;
try {
InputStream is = getPackagePart().getInputStream();
notesDoc = FootnotesDocument.Factory.parse(is);
ctFootnotes = notesDoc.getFootnotes();
} catch (XmlException e) {
throw new POIXMLException();
}
//get any Footnote
for(CTFtnEdn note : ctFootnotes.getFootnoteList()) {
listFootnote.add(new XWPFFootnote(note, this));
}
}
@Override
protected void commit() throws IOException {
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTFootnotes.type.getName().getNamespaceURI(), "footnotes"));
Map<String,String> map = new HashMap<String,String>();
map.put("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r");
map.put("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w");
xmlOptions.setSaveSuggestedPrefixes(map);
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
ctFootnotes.save(out, xmlOptions);
out.close();
}
@Override
protected void commit() throws IOException {
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTFootnotes.type.getName().getNamespaceURI(), "footnotes"));
Map<String,String> map = new HashMap<String,String>();
map.put("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r");
map.put("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w");
xmlOptions.setSaveSuggestedPrefixes(map);
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
ctFootnotes.save(out, xmlOptions);
out.close();
}
public List<XWPFFootnote> getFootnotesList() {
return listFootnote;
}
public List<XWPFFootnote> getFootnotesList() {
return listFootnote;
}
public XWPFFootnote getFootnoteById(int id) {
for(XWPFFootnote note : listFootnote) {
if(note.getCTFtnEdn().getId().intValue() == id)
return note;
}
return null;
}
/**
* Sets the ctFootnotes
* @param footnotes
*/
public void setFootnotes(CTFootnotes footnotes) {
ctFootnotes = footnotes;
public XWPFFootnote getFootnoteById(int id) {
for(XWPFFootnote note : listFootnote) {
if(note.getCTFtnEdn().getId().intValue() == id)
return note;
}
return null;
}
/**
* add an XWPFFootnote to the document
* @param footnote
* @throws IOException
*/
public void addFootnote(XWPFFootnote footnote){
listFootnote.add(footnote);
ctFootnotes.addNewFootnote().set(footnote.getCTFtnEdn());
}
/**
* Sets the ctFootnotes
* @param footnotes
*/
public void setFootnotes(CTFootnotes footnotes) {
ctFootnotes = footnotes;
}
/**
* add a footnote to the document
* @param note
* @throws IOException
*/
public XWPFFootnote addFootnote(CTFtnEdn note){
CTFtnEdn newNote = ctFootnotes.addNewFootnote();
newNote.set(note);
XWPFFootnote xNote = new XWPFFootnote(newNote, this);
listFootnote.add(xNote);
return xNote;
}
/**
* add an XWPFFootnote to the document
* @param footnote
* @throws IOException
*/
public void addFootnote(XWPFFootnote footnote){
listFootnote.add(footnote);
ctFootnotes.addNewFootnote().set(footnote.getCTFtnEdn());
}
public void setXWPFDocument(XWPFDocument doc) {
document = doc;
}
/**
* add a footnote to the document
* @param note
* @throws IOException
*/
public XWPFFootnote addFootnote(CTFtnEdn note){
CTFtnEdn newNote = ctFootnotes.addNewFootnote();
newNote.set(note);
XWPFFootnote xNote = new XWPFFootnote(newNote, this);
listFootnote.add(xNote);
return xNote;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getPart()
*/
public XWPFDocument getXWPFDocument() {
if ( document != null) {
return document;
} else {
return (XWPFDocument)getParent();
}
}
}//end class
public void setXWPFDocument(XWPFDocument doc) {
document = doc;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getPart()
*/
public XWPFDocument getXWPFDocument() {
if ( document != null) {
return document;
} else {
return (XWPFDocument)getParent();
}
}
}

View File

@ -39,24 +39,11 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STBorder;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
/**
* Sketch of XWPFTable class. Only table's text is being hold.
* <p/>
* Specifies the contents of a table present in the document. A table is a set
* of paragraphs (and other block-level content) arranged in rows and columns.
*
* @author Yury Batrakov (batrakov at gmail.com)
* @author Gregg Morris (gregg dot morris at gmail dot com) - added
* setStyleID()
* getRowBandSize(), setRowBandSize()
* getColBandSize(), setColBandSize()
* getInsideHBorderType(), getInsideHBorderSize(), getInsideHBorderSpace(), getInsideHBorderColor()
* getInsideVBorderType(), getInsideVBorderSize(), getInsideVBorderSpace(), getInsideVBorderColor()
* setInsideHBorder(), setInsideVBorder()
* getCellMarginTop(), getCellMarginLeft(), getCellMarginBottom(), getCellMarginRight()
* setCellMargins()
* <p>Sketch of XWPFTable class. Only table's text is being hold.</p>
* <p>Specifies the contents of a table present in the document. A table is a set
* of paragraphs (and other block-level content) arranged in rows and columns.</p>
*/
public class XWPFTable implements IBodyElement{
public class XWPFTable implements IBodyElement {
protected StringBuffer text = new StringBuffer();
private CTTbl ctTbl;
protected List<XWPFTableRow> tableRows;
@ -157,10 +144,10 @@ public class XWPFTable implements IBodyElement{
borders.addNewTop().setVal(STBorder.SINGLE);
/*
* CTTblGrid tblgrid=table.addNewTblGrid();
* tblgrid.addNewGridCol().setW(new BigInteger("2000"));
*/
getRows();
* CTTblGrid tblgrid=table.addNewTblGrid();
* tblgrid.addNewGridCol().setW(new BigInteger("2000"));
*/
getRows();
}
/**
@ -227,8 +214,7 @@ public class XWPFTable implements IBodyElement{
*/
public void setWidth(int width) {
CTTblPr tblPr = getTrPr();
CTTblWidth tblWidth = tblPr.isSetTblW() ? tblPr.getTblW() : tblPr
.addNewTblW();
CTTblWidth tblWidth = tblPr.isSetTblW() ? tblPr.getTblW() : tblPr.addNewTblW();
tblWidth.setW(new BigInteger("" + width));
}
@ -291,167 +277,167 @@ public class XWPFTable implements IBodyElement{
}
public XWPFBorderType getInsideHBorderType() {
XWPFBorderType bt = null;
XWPFBorderType bt = null;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
bt = stBorderTypeMap.get(border.getVal().intValue());
}
}
return bt;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
bt = stBorderTypeMap.get(border.getVal().intValue());
}
}
return bt;
}
public int getInsideHBorderSize() {
int size = -1;
int size = -1;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
size = border.getSz().intValue();
}
}
return size;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
size = border.getSz().intValue();
}
}
return size;
}
public int getInsideHBorderSpace() {
int space = -1;
int space = -1;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
space = border.getSpace().intValue();
}
}
return space;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
space = border.getSpace().intValue();
}
}
return space;
}
public String getInsideHBorderColor() {
String color = null;
String color = null;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
color = border.xgetColor().getStringValue();
}
}
return color;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideH()) {
CTBorder border = ctb.getInsideH();
color = border.xgetColor().getStringValue();
}
}
return color;
}
public XWPFBorderType getInsideVBorderType() {
XWPFBorderType bt = null;
XWPFBorderType bt = null;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
bt = stBorderTypeMap.get(border.getVal().intValue());
}
}
return bt;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
bt = stBorderTypeMap.get(border.getVal().intValue());
}
}
return bt;
}
public int getInsideVBorderSize() {
int size = -1;
int size = -1;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
size = border.getSz().intValue();
}
}
return size;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
size = border.getSz().intValue();
}
}
return size;
}
public int getInsideVBorderSpace() {
int space = -1;
int space = -1;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
space = border.getSpace().intValue();
}
}
return space;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
space = border.getSpace().intValue();
}
}
return space;
}
public String getInsideVBorderColor() {
String color = null;
String color = null;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
color = border.xgetColor().getStringValue();
}
}
return color;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblBorders()) {
CTTblBorders ctb = tblPr.getTblBorders();
if (ctb.isSetInsideV()) {
CTBorder border = ctb.getInsideV();
color = border.xgetColor().getStringValue();
}
}
return color;
}
public int getRowBandSize() {
int size = 0;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblStyleRowBandSize()) {
CTDecimalNumber rowSize = tblPr.getTblStyleRowBandSize();
size = rowSize.getVal().intValue();
}
return size;
int size = 0;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblStyleRowBandSize()) {
CTDecimalNumber rowSize = tblPr.getTblStyleRowBandSize();
size = rowSize.getVal().intValue();
}
return size;
}
public void setRowBandSize(int size) {
CTTblPr tblPr = getTrPr();
CTDecimalNumber rowSize = tblPr.isSetTblStyleRowBandSize() ? tblPr.getTblStyleRowBandSize() : tblPr.addNewTblStyleRowBandSize();
rowSize.setVal(BigInteger.valueOf(size));
CTTblPr tblPr = getTrPr();
CTDecimalNumber rowSize = tblPr.isSetTblStyleRowBandSize() ? tblPr.getTblStyleRowBandSize() : tblPr.addNewTblStyleRowBandSize();
rowSize.setVal(BigInteger.valueOf(size));
}
public int getColBandSize() {
int size = 0;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblStyleColBandSize()) {
CTDecimalNumber colSize = tblPr.getTblStyleColBandSize();
size = colSize.getVal().intValue();
}
return size;
int size = 0;
CTTblPr tblPr = getTrPr();
if (tblPr.isSetTblStyleColBandSize()) {
CTDecimalNumber colSize = tblPr.getTblStyleColBandSize();
size = colSize.getVal().intValue();
}
return size;
}
public void setColBandSize(int size) {
CTTblPr tblPr = getTrPr();
CTDecimalNumber colSize = tblPr.isSetTblStyleColBandSize() ? tblPr.getTblStyleColBandSize() : tblPr.addNewTblStyleColBandSize();
colSize.setVal(BigInteger.valueOf(size));
CTTblPr tblPr = getTrPr();
CTDecimalNumber colSize = tblPr.isSetTblStyleColBandSize() ? tblPr.getTblStyleColBandSize() : tblPr.addNewTblStyleColBandSize();
colSize.setVal(BigInteger.valueOf(size));
}
public void setInsideHBorder(XWPFBorderType type, int size, int space, String rgbColor) {
CTTblPr tblPr = getTrPr();
CTTblBorders ctb = tblPr.isSetTblBorders() ? tblPr.getTblBorders() : tblPr.addNewTblBorders();
CTBorder b = ctb.isSetInsideH() ? ctb.getInsideH() : ctb.addNewInsideH();
b.setVal(xwpfBorderTypeMap.get(type));
b.setSz(BigInteger.valueOf(size));
b.setSpace(BigInteger.valueOf(space));
b.setColor(rgbColor);
CTTblPr tblPr = getTrPr();
CTTblBorders ctb = tblPr.isSetTblBorders() ? tblPr.getTblBorders() : tblPr.addNewTblBorders();
CTBorder b = ctb.isSetInsideH() ? ctb.getInsideH() : ctb.addNewInsideH();
b.setVal(xwpfBorderTypeMap.get(type));
b.setSz(BigInteger.valueOf(size));
b.setSpace(BigInteger.valueOf(space));
b.setColor(rgbColor);
}
public void setInsideVBorder(XWPFBorderType type, int size, int space, String rgbColor) {
CTTblPr tblPr = getTrPr();
CTTblBorders ctb = tblPr.isSetTblBorders() ? tblPr.getTblBorders() : tblPr.addNewTblBorders();
CTBorder b = ctb.isSetInsideV() ? ctb.getInsideV() : ctb.addNewInsideV();
b.setVal(xwpfBorderTypeMap.get(type));
b.setSz(BigInteger.valueOf(size));
b.setSpace(BigInteger.valueOf(space));
b.setColor(rgbColor);
CTTblPr tblPr = getTrPr();
CTTblBorders ctb = tblPr.isSetTblBorders() ? tblPr.getTblBorders() : tblPr.addNewTblBorders();
CTBorder b = ctb.isSetInsideV() ? ctb.getInsideV() : ctb.addNewInsideV();
b.setVal(xwpfBorderTypeMap.get(type));
b.setSz(BigInteger.valueOf(size));
b.setSpace(BigInteger.valueOf(space));
b.setColor(rgbColor);
}
public int getCellMarginTop() {
@ -494,141 +480,141 @@ public class XWPFTable implements IBodyElement{
}
public int getCellMarginRight() {
int margin = 0;
CTTblPr tblPr = getTrPr();
CTTblCellMar tcm = tblPr.getTblCellMar();
if (tcm != null) {
CTTblWidth tw = tcm.getRight();
if (tw != null) {
margin = tw.getW().intValue();
}
}
return margin;
int margin = 0;
CTTblPr tblPr = getTrPr();
CTTblCellMar tcm = tblPr.getTblCellMar();
if (tcm != null) {
CTTblWidth tw = tcm.getRight();
if (tw != null) {
margin = tw.getW().intValue();
}
}
return margin;
}
public void setCellMargins(int top, int left, int bottom, int right) {
CTTblPr tblPr = getTrPr();
CTTblCellMar tcm = tblPr.isSetTblCellMar() ? tblPr.getTblCellMar() : tblPr.addNewTblCellMar();
CTTblPr tblPr = getTrPr();
CTTblCellMar tcm = tblPr.isSetTblCellMar() ? tblPr.getTblCellMar() : tblPr.addNewTblCellMar();
CTTblWidth tw = tcm.isSetLeft() ? tcm.getLeft() : tcm.addNewLeft();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(left));
CTTblWidth tw = tcm.isSetLeft() ? tcm.getLeft() : tcm.addNewLeft();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(left));
tw = tcm.isSetTop() ? tcm.getTop() : tcm.addNewTop();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(top));
tw = tcm.isSetTop() ? tcm.getTop() : tcm.addNewTop();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(top));
tw = tcm.isSetBottom() ? tcm.getBottom() : tcm.addNewBottom();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(bottom));
tw = tcm.isSetBottom() ? tcm.getBottom() : tcm.addNewBottom();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(bottom));
tw = tcm.isSetRight() ? tcm.getRight() : tcm.addNewRight();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(right));
tw = tcm.isSetRight() ? tcm.getRight() : tcm.addNewRight();
tw.setType(STTblWidth.DXA);
tw.setW(BigInteger.valueOf(right));
}
/**
* add a new Row to the table
*
* @param row the row which should be added
*/
public void addRow(XWPFTableRow row){
ctTbl.addNewTr();
ctTbl.setTrArray(getNumberOfRows()-1, row.getCtRow());
tableRows.add(row);
}
/**
* add a new Row to the table
* at position pos
* @param row the row which should be added
*/
public boolean addRow(XWPFTableRow row, int pos){
if(pos >= 0 && pos <= tableRows.size()){
ctTbl.insertNewTr(pos);
ctTbl.setTrArray(pos,row.getCtRow());
tableRows.add(pos, row);
return true;
}
return false;
}
/**
* inserts a new tablerow
* @param pos
* @return the inserted row
*/
public XWPFTableRow insertNewTableRow(int pos){
if(pos >= 0 && pos <= tableRows.size()){
CTRow row = ctTbl.insertNewTr(pos);
XWPFTableRow tableRow = new XWPFTableRow(row, this);
tableRows.add(pos, tableRow);
return tableRow;
}
return null;
}
/**
* Remove a row at position pos from the table
* @param pos position the Row in the Table
*/
public boolean removeRow(int pos) throws IndexOutOfBoundsException {
if (pos >= 0 && pos < tableRows.size()) {
if (ctTbl.sizeOfTrArray() > 0) {
ctTbl.removeTr(pos);
}
tableRows.remove(pos);
return true;
}
return false;
}
public List<XWPFTableRow> getRows() {
return tableRows;
}
public void addRow(XWPFTableRow row){
ctTbl.addNewTr();
ctTbl.setTrArray(getNumberOfRows()-1, row.getCtRow());
tableRows.add(row);
}
/**
* add a new Row to the table
* at position pos
* @param row the row which should be added
*/
public boolean addRow(XWPFTableRow row, int pos){
if(pos >= 0 && pos <= tableRows.size()){
ctTbl.insertNewTr(pos);
ctTbl.setTrArray(pos,row.getCtRow());
tableRows.add(pos, row);
return true;
}
return false;
}
/**
* inserts a new tablerow
* @param pos
* @return the inserted row
*/
public XWPFTableRow insertNewTableRow(int pos){
if(pos >= 0 && pos <= tableRows.size()){
CTRow row = ctTbl.insertNewTr(pos);
XWPFTableRow tableRow = new XWPFTableRow(row, this);
tableRows.add(pos, tableRow);
return tableRow;
}
return null;
}
/**
* returns the type of the BodyElement Table
* @see org.apache.poi.xwpf.usermodel.IBodyElement#getElementType()
*/
public BodyElementType getElementType() {
return BodyElementType.TABLE;
}
/**
* Remove a row at position pos from the table
* @param pos position the Row in the Table
*/
public boolean removeRow(int pos) throws IndexOutOfBoundsException {
if (pos >= 0 && pos < tableRows.size()) {
if (ctTbl.sizeOfTrArray() > 0) {
ctTbl.removeTr(pos);
}
tableRows.remove(pos);
return true;
}
return false;
}
public IBody getBody()
{
return part;
}
public List<XWPFTableRow> getRows() {
return tableRows;
}
/**
* returns the part of the bodyElement
* @see org.apache.poi.xwpf.usermodel.IBody#getPart()
*/
public POIXMLDocumentPart getPart() {
if(part != null){
return part.getPart();
}
return null;
}
/**
* returns the partType of the bodyPart which owns the bodyElement
* @see org.apache.poi.xwpf.usermodel.IBody#getPartType()
*/
public BodyType getPartType() {
return part.getPartType();
}
/**
* returns the type of the BodyElement Table
* @see org.apache.poi.xwpf.usermodel.IBodyElement#getElementType()
*/
public BodyElementType getElementType() {
return BodyElementType.TABLE;
}
/**
* returns the XWPFRow which belongs to the CTRow row
* if this row is not existing in the table null will be returned
*/
public XWPFTableRow getRow(CTRow row) {
for(int i=0; i<getRows().size(); i++){
if(getRows().get(i).getCtRow()== row) return getRow(i);
}
return null;
}
}// end class
public IBody getBody()
{
return part;
}
/**
* returns the part of the bodyElement
* @see org.apache.poi.xwpf.usermodel.IBody#getPart()
*/
public POIXMLDocumentPart getPart() {
if(part != null){
return part.getPart();
}
return null;
}
/**
* returns the partType of the bodyPart which owns the bodyElement
* @see org.apache.poi.xwpf.usermodel.IBody#getPartType()
*/
public BodyType getPartType() {
return part.getPartType();
}
/**
* returns the XWPFRow which belongs to the CTRow row
* if this row is not existing in the table null will be returned
*/
public XWPFTableRow getRow(CTRow row) {
for(int i=0; i<getRows().size(); i++){
if(getRows().get(i).getCtRow()== row) return getRow(i);
}
return null;
}
}

View File

@ -37,11 +37,8 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STShd;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STVerticalJc;
/**
* XWPFTableCell class.
*
* @author Gregg Morris (gregg dot morris at gmail dot com) - added XWPFVertAlign enum,
* setColor(),
* setVerticalAlignment()
* Represents a Cell within a {@link XWPFTable}. The
* Cell is the thing that holds the actual content (paragraphs etc)
*/
public class XWPFTableCell implements IBody {
private final CTTc ctTc;
@ -76,38 +73,38 @@ public class XWPFTableCell implements IBody {
* If a table cell does not include at least one block-level element, then this document shall be considered corrupt
*/
public XWPFTableCell(CTTc cell, XWPFTableRow tableRow, IBody part) {
this.ctTc = cell;
this.part = part;
this.tableRow = tableRow;
// NB: If a table cell does not include at least one block-level element, then this document shall be considered corrupt.
if(cell.getPList().size()<1)
cell.addNewP();
bodyElements = new ArrayList<IBodyElement>();
paragraphs = new ArrayList<XWPFParagraph>();
tables = new ArrayList<XWPFTable>();
XmlCursor cursor = ctTc.newCursor();
cursor.selectPath("./*");
while (cursor.toNextSelection()) {
XmlObject o = cursor.getObject();
if (o instanceof CTP) {
XWPFParagraph p = new XWPFParagraph((CTP)o, this);
paragraphs.add(p);
bodyElements.add(p);
}
if (o instanceof CTTbl) {
XWPFTable t = new XWPFTable((CTTbl)o, this);
tables.add(t);
bodyElements.add(t);
}
}
cursor.dispose();
this.ctTc = cell;
this.part = part;
this.tableRow = tableRow;
// NB: If a table cell does not include at least one block-level element, then this document shall be considered corrupt.
if(cell.getPList().size()<1)
cell.addNewP();
bodyElements = new ArrayList<IBodyElement>();
paragraphs = new ArrayList<XWPFParagraph>();
tables = new ArrayList<XWPFTable>();
XmlCursor cursor = ctTc.newCursor();
cursor.selectPath("./*");
while (cursor.toNextSelection()) {
XmlObject o = cursor.getObject();
if (o instanceof CTP) {
XWPFParagraph p = new XWPFParagraph((CTP)o, this);
paragraphs.add(p);
bodyElements.add(p);
}
if (o instanceof CTTbl) {
XWPFTable t = new XWPFTable((CTTbl)o, this);
tables.add(t);
bodyElements.add(t);
}
}
cursor.dispose();
}
@Internal
public CTTc getCTTc() {
return ctTc;
return ctTc;
}
/**
@ -168,12 +165,12 @@ public class XWPFTableCell implements IBody {
* XWPFParagraph with the correspondig CTP p
*/
public XWPFParagraph getParagraph(CTP p){
for (XWPFParagraph paragraph : paragraphs) {
if(p.equals(paragraph.getCTP())){
return paragraph;
}
}
return null;
for (XWPFParagraph paragraph : paragraphs) {
if(p.equals(paragraph.getCTP())){
return paragraph;
}
}
return null;
}
public void setText(String text) {
@ -204,15 +201,15 @@ public class XWPFTableCell implements IBody {
* @return RGB string of cell color
*/
public String getColor() {
String color = null;
CTTcPr tcpr = ctTc.getTcPr();
if (tcpr != null) {
CTShd ctshd = tcpr.getShd();
if (ctshd != null) {
color = ctshd.xgetFill().getStringValue();
}
}
return color;
String color = null;
CTTcPr tcpr = ctTc.getTcPr();
if (tcpr != null) {
CTShd ctshd = tcpr.getShd();
if (ctshd != null) {
color = ctshd.xgetFill().getStringValue();
}
}
return color;
}
/**
@ -230,13 +227,13 @@ public class XWPFTableCell implements IBody {
* @return the cell alignment enum value
*/
public XWPFVertAlign getVerticalAlignment() {
XWPFVertAlign vAlign = null;
CTTcPr tcpr = ctTc.getTcPr();
if (ctTc != null) {
CTVerticalJc va = tcpr.getVAlign();
vAlign = stVertAlignTypeMap.get(va.getVal().intValue());
}
return vAlign;
XWPFVertAlign vAlign = null;
CTTcPr tcpr = ctTc.getTcPr();
if (ctTc != null) {
CTVerticalJc va = tcpr.getVAlign();
vAlign = stVertAlignTypeMap.get(va.getVal().intValue());
}
return vAlign;
}
/**
@ -245,97 +242,98 @@ public class XWPFTableCell implements IBody {
* @return the inserted paragraph
*/
public XWPFParagraph insertNewParagraph(XmlCursor cursor){
if(!isCursorInTableCell(cursor))
return null;
String uri = CTP.type.getName().getNamespaceURI();
String localPart = "p";
cursor.beginElement(localPart,uri);
cursor.toParent();
CTP p = (CTP)cursor.getObject();
XWPFParagraph newP = new XWPFParagraph(p, this);
XmlObject o = null;
while(!(o instanceof CTP)&&(cursor.toPrevSibling())){
o = cursor.getObject();
}
if((!(o instanceof CTP)) || (CTP)o == p){
paragraphs.add(0, newP);
}
else{
int pos = paragraphs.indexOf(getParagraph((CTP)o))+1;
paragraphs.add(pos,newP);
}
int i=0;
cursor.toCursor(p.newCursor());
while(cursor.toPrevSibling()){
o =cursor.getObject();
if(o instanceof CTP || o instanceof CTTbl)
i++;
}
bodyElements.add(i, newP);
cursor.toCursor(p.newCursor());
cursor.toEndToken();
return newP;
if(!isCursorInTableCell(cursor)) {
return null;
}
String uri = CTP.type.getName().getNamespaceURI();
String localPart = "p";
cursor.beginElement(localPart,uri);
cursor.toParent();
CTP p = (CTP)cursor.getObject();
XWPFParagraph newP = new XWPFParagraph(p, this);
XmlObject o = null;
while(!(o instanceof CTP)&&(cursor.toPrevSibling())){
o = cursor.getObject();
}
if((!(o instanceof CTP)) || (CTP)o == p){
paragraphs.add(0, newP);
}
else{
int pos = paragraphs.indexOf(getParagraph((CTP)o))+1;
paragraphs.add(pos,newP);
}
int i=0;
cursor.toCursor(p.newCursor());
while(cursor.toPrevSibling()){
o =cursor.getObject();
if(o instanceof CTP || o instanceof CTTbl)
i++;
}
bodyElements.add(i, newP);
cursor.toCursor(p.newCursor());
cursor.toEndToken();
return newP;
}
public XWPFTable insertNewTbl(XmlCursor cursor) {
if(isCursorInTableCell(cursor)){
String uri = CTTbl.type.getName().getNamespaceURI();
String localPart = "tbl";
cursor.beginElement(localPart,uri);
cursor.toParent();
CTTbl t = (CTTbl)cursor.getObject();
XWPFTable newT = new XWPFTable(t, this);
cursor.removeXmlContents();
XmlObject o = null;
while(!(o instanceof CTTbl)&&(cursor.toPrevSibling())){
o = cursor.getObject();
}
if(!(o instanceof CTTbl)){
tables.add(0, newT);
}
else{
int pos = tables.indexOf(getTable((CTTbl)o))+1;
tables.add(pos,newT);
}
int i=0;
cursor = t.newCursor();
while(cursor.toPrevSibling()){
o =cursor.getObject();
if(o instanceof CTP || o instanceof CTTbl)
i++;
}
bodyElements.add(i, newT);
cursor = t.newCursor();
cursor.toEndToken();
return newT;
}
return null;
}
/**
* verifies that cursor is on the right position
*/
private boolean isCursorInTableCell(XmlCursor cursor) {
XmlCursor verify = cursor.newCursor();
verify.toParent();
if(verify.getObject() == this.ctTc){
return true;
}
return false;
public XWPFTable insertNewTbl(XmlCursor cursor) {
if(isCursorInTableCell(cursor)){
String uri = CTTbl.type.getName().getNamespaceURI();
String localPart = "tbl";
cursor.beginElement(localPart,uri);
cursor.toParent();
CTTbl t = (CTTbl)cursor.getObject();
XWPFTable newT = new XWPFTable(t, this);
cursor.removeXmlContents();
XmlObject o = null;
while(!(o instanceof CTTbl)&&(cursor.toPrevSibling())){
o = cursor.getObject();
}
if(!(o instanceof CTTbl)){
tables.add(0, newT);
}
else{
int pos = tables.indexOf(getTable((CTTbl)o))+1;
tables.add(pos,newT);
}
int i=0;
cursor = t.newCursor();
while(cursor.toPrevSibling()){
o =cursor.getObject();
if(o instanceof CTP || o instanceof CTTbl)
i++;
}
bodyElements.add(i, newT);
cursor = t.newCursor();
cursor.toEndToken();
return newT;
}
return null;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getParagraphArray(int)
*/
public XWPFParagraph getParagraphArray(int pos) {
if(pos > 0 && pos < paragraphs.size()){
return paragraphs.get(pos);
}
return null;
/**
* verifies that cursor is on the right position
*/
private boolean isCursorInTableCell(XmlCursor cursor) {
XmlCursor verify = cursor.newCursor();
verify.toParent();
if(verify.getObject() == this.ctTc){
return true;
}
return false;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getParagraphArray(int)
*/
public XWPFParagraph getParagraphArray(int pos) {
if(pos > 0 && pos < paragraphs.size()){
return paragraphs.get(pos);
}
return null;
}
/**
* get the to which the TableCell belongs
@ -346,101 +344,100 @@ public class XWPFTableCell implements IBody {
return tableRow.getTable().getPart();
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getPartType()
*/
public BodyType getPartType() {
return BodyType.TABLECELL;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getPartType()
*/
public BodyType getPartType() {
return BodyType.TABLECELL;
/**
* get a table by its CTTbl-Object
* @see org.apache.poi.xwpf.usermodel.IBody#getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)
*/
public XWPFTable getTable(CTTbl ctTable) {
for(int i=0; i<tables.size(); i++){
if(getTables().get(i).getCTTbl() == ctTable) return getTables().get(i);
}
return null;
}
/**
* get a table by its CTTbl-Object
* @see org.apache.poi.xwpf.usermodel.IBody#getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)
*/
public XWPFTable getTable(CTTbl ctTable) {
for(int i=0; i<tables.size(); i++){
if(getTables().get(i).getCTTbl() == ctTable) return getTables().get(i);
}
return null;
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getTableArray(int)
*/
public XWPFTable getTableArray(int pos) {
if(pos > 0 && pos < tables.size()){
return tables.get(pos);
}
return null;
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getTableArray(int)
*/
public XWPFTable getTableArray(int pos) {
if(pos > 0 && pos < tables.size()){
return tables.get(pos);
}
return null;
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getTables()
*/
public List<XWPFTable> getTables() {
return Collections.unmodifiableList(tables);
}
/**
* inserts an existing XWPFTable to the arrays bodyElements and tables
* @see org.apache.poi.xwpf.usermodel.IBody#insertTable(int, org.apache.poi.xwpf.usermodel.XWPFTable)
*/
public void insertTable(int pos, XWPFTable table) {
bodyElements.add(pos, table);
int i;
for (i = 0; i < ctTc.getTblList().size(); i++) {
CTTbl tbl = ctTc.getTblArray(i);
if(tbl == table.getCTTbl()){
break;
}
}
tables.add(i, table);
}
/**
* @see org.apache.poi.xwpf.usermodel.IBody#getTables()
*/
public List<XWPFTable> getTables() {
return Collections.unmodifiableList(tables);
public String getText(){
StringBuffer text = new StringBuffer();
for (XWPFParagraph p : paragraphs) {
text.append(p.getText());
}
return text.toString();
}
/**
* inserts an existing XWPFTable to the arrays bodyElements and tables
* @see org.apache.poi.xwpf.usermodel.IBody#insertTable(int, org.apache.poi.xwpf.usermodel.XWPFTable)
*/
public void insertTable(int pos, XWPFTable table) {
bodyElements.add(pos, table);
int i;
for (i = 0; i < ctTc.getTblList().size(); i++) {
CTTbl tbl = ctTc.getTblArray(i);
if(tbl == table.getCTTbl()){
break;
}
}
tables.add(i, table);
/**
* get the TableCell which belongs to the TableCell
*/
public XWPFTableCell getTableCell(CTTc cell) {
XmlCursor cursor = cell.newCursor();
cursor.toParent();
XmlObject o = cursor.getObject();
if(!(o instanceof CTRow)){
return null;
}
public String getText(){
StringBuffer text = new StringBuffer();
for (XWPFParagraph p : paragraphs) {
text.append(p.getText());
}
return text.toString();
CTRow row = (CTRow)o;
cursor.toParent();
o = cursor.getObject();
cursor.dispose();
if(! (o instanceof CTTbl)){
return null;
}
/**
* get the TableCell which belongs to the TableCell
*/
public XWPFTableCell getTableCell(CTTc cell) {
XmlCursor cursor = cell.newCursor();
cursor.toParent();
XmlObject o = cursor.getObject();
if(!(o instanceof CTRow)){
return null;
}
CTRow row = (CTRow)o;
cursor.toParent();
o = cursor.getObject();
cursor.dispose();
if(! (o instanceof CTTbl)){
return null;
}
CTTbl tbl = (CTTbl) o;
XWPFTable table = getTable(tbl);
if(table == null){
return null;
}
XWPFTableRow tableRow = table.getRow(row);
if (tableRow == null) {
return null;
}
return tableRow.getTableCell(cell);
CTTbl tbl = (CTTbl) o;
XWPFTable table = getTable(tbl);
if(table == null){
return null;
}
XWPFTableRow tableRow = table.getRow(row);
if (tableRow == null) {
return null;
}
return tableRow.getTableCell(cell);
}
public XWPFDocument getXWPFDocument() {
return part.getXWPFDocument();
return part.getXWPFDocument();
}
}// end class
}

View File

@ -30,24 +30,24 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STOnOff;
/**
* @author gisellabronzetti
* @author gregg morris - added removeCell(), setCantSplitRow(), setRepeatHeader()
* A row within an {@link XWPFTable}. Rows mostly just have
* sizings and stylings, the interesting content lives inside
* the child {@link XWPFTableCell}s
*/
public class XWPFTableRow {
private CTRow ctRow;
private XWPFTable table;
private List<XWPFTableCell> tableCells;
public XWPFTableRow(CTRow row, XWPFTable table) {
this.table = table;
this.ctRow = row;
getTableCells();
this.table = table;
this.ctRow = row;
getTableCells();
}
@Internal
public CTRow getCtRow() {
return ctRow;
return ctRow;
}
/**
@ -55,31 +55,31 @@ public class XWPFTableRow {
* @return the newly created XWPFTableCell
*/
public XWPFTableCell createCell() {
XWPFTableCell tableCell = new XWPFTableCell(ctRow.addNewTc(), this, table.getBody());
tableCells.add(tableCell);
return tableCell;
XWPFTableCell tableCell = new XWPFTableCell(ctRow.addNewTc(), this, table.getBody());
tableCells.add(tableCell);
return tableCell;
}
public XWPFTableCell getCell(int pos) {
if (pos >= 0 && pos < ctRow.sizeOfTcArray()) {
return getTableCells().get(pos);
}
return null;
if (pos >= 0 && pos < ctRow.sizeOfTcArray()) {
return getTableCells().get(pos);
}
return null;
}
public void removeCell(int pos) {
if (pos >= 0 && pos < ctRow.sizeOfTcArray()) {
tableCells.remove(pos);
}
if (pos >= 0 && pos < ctRow.sizeOfTcArray()) {
tableCells.remove(pos);
}
}
/**
* adds a new TableCell at the end of this tableRow
*/
public XWPFTableCell addNewTableCell(){
CTTc cell = ctRow.addNewTc();
XWPFTableCell tableCell = new XWPFTableCell(cell, this, table.getBody());
tableCells.add(tableCell);
return tableCell;
CTTc cell = ctRow.addNewTc();
XWPFTableCell tableCell = new XWPFTableCell(cell, this, table.getBody());
tableCells.add(tableCell);
return tableCell;
}
/**
@ -93,9 +93,9 @@ public class XWPFTableRow {
* @param height
*/
public void setHeight(int height) {
CTTrPr properties = getTrPr();
CTHeight h = properties.sizeOfTrHeightArray() == 0 ? properties.addNewTrHeight() : properties.getTrHeightArray(0);
h.setVal(new BigInteger("" + height));
CTTrPr properties = getTrPr();
CTHeight h = properties.sizeOfTrHeightArray() == 0 ? properties.addNewTrHeight() : properties.getTrHeightArray(0);
h.setVal(new BigInteger("" + height));
}
/**
@ -109,101 +109,100 @@ public class XWPFTableRow {
* @return height
*/
public int getHeight() {
CTTrPr properties = getTrPr();
return properties.sizeOfTrHeightArray() == 0 ? 0 : properties.getTrHeightArray(0).getVal().intValue();
CTTrPr properties = getTrPr();
return properties.sizeOfTrHeightArray() == 0 ? 0 : properties.getTrHeightArray(0).getVal().intValue();
}
private CTTrPr getTrPr() {
return (ctRow.isSetTrPr()) ? ctRow.getTrPr() : ctRow.addNewTrPr();
return (ctRow.isSetTrPr()) ? ctRow.getTrPr() : ctRow.addNewTrPr();
}
public XWPFTable getTable(){
return table;
return table;
}
/**
* create and return a list of all XWPFTableCell
* who belongs to this row
* @return a list of {@link XWPFTableCell}
*/
public List<XWPFTableCell> getTableCells(){
if(tableCells == null){
List<XWPFTableCell> cells = new ArrayList<XWPFTableCell>();
for (CTTc tableCell : ctRow.getTcList()) {
cells.add(new XWPFTableCell(tableCell, this, table.getBody()));
}
this.tableCells = cells;
}
return tableCells;
if(tableCells == null){
List<XWPFTableCell> cells = new ArrayList<XWPFTableCell>();
for (CTTc tableCell : ctRow.getTcList()) {
cells.add(new XWPFTableCell(tableCell, this, table.getBody()));
}
this.tableCells = cells;
}
return tableCells;
}
/**
* returns the XWPFTableCell which belongs to the CTTC cell
* if there is no XWPFTableCell which belongs to the parameter CTTc cell null will be returned
*/
public XWPFTableCell getTableCell(CTTc cell) {
for(int i=0; i<tableCells.size(); i++){
if (tableCells.get(i).getCTTc() == cell)
return tableCells.get(i);
}
return null;
/**
* returns the XWPFTableCell which belongs to the CTTC cell
* if there is no XWPFTableCell which belongs to the parameter CTTc cell null will be returned
*/
public XWPFTableCell getTableCell(CTTc cell) {
for(int i=0; i<tableCells.size(); i++){
if (tableCells.get(i).getCTTc() == cell)
return tableCells.get(i);
}
return null;
}
/**
* This attribute controls whether to allow table rows to split across pages.
* The logic for this attribute is a little unusual: a true value means
* DON'T allow rows to split, false means allow rows to split.
* @param split - if true, don't allow rows to be split. If false, allow
* rows to be split.
*/
public void setCantSplitRow(boolean split) {
CTTrPr trpr = getTrPr();
CTOnOff onoff = trpr.addNewCantSplit();
onoff.setVal(split ? STOnOff.ON : STOnOff.OFF);
/**
* This attribute controls whether to allow table rows to split across pages.
* The logic for this attribute is a little unusual: a true value means
* DON'T allow rows to split, false means allow rows to split.
* @param split - if true, don't allow rows to be split. If false, allow
* rows to be split.
*/
public void setCantSplitRow(boolean split) {
CTTrPr trpr = getTrPr();
CTOnOff onoff = trpr.addNewCantSplit();
onoff.setVal(split ? STOnOff.ON : STOnOff.OFF);
}
/**
* Return true if the "can't split row" value is true. The logic for this
* attribute is a little unusual: a TRUE value means DON'T allow rows to
* split, FALSE means allow rows to split.
* @return true if rows can't be split, false otherwise.
*/
public boolean isCantSplitRow() {
boolean isCant = false;
CTTrPr trpr = getTrPr();
if (trpr.sizeOfCantSplitArray() > 0) {
CTOnOff onoff = trpr.getCantSplitList().get(0);
isCant = onoff.getVal().equals(STOnOff.ON);
}
return isCant;
}
/**
* Return true if the "can't split row" value is true. The logic for this
* attribute is a little unusual: a TRUE value means DON'T allow rows to
* split, FALSE means allow rows to split.
* @return true if rows can't be split, false otherwise.
*/
public boolean isCantSplitRow() {
boolean isCant = false;
CTTrPr trpr = getTrPr();
if (trpr.sizeOfCantSplitArray() > 0) {
CTOnOff onoff = trpr.getCantSplitList().get(0);
isCant = onoff.getVal().equals(STOnOff.ON);
}
return isCant;
/**
* This attribute controls whether to repeat a table's header row at the top
* of a table split across pages.
* @param repeat - if TRUE, repeat header row at the top of each page of table;
* if FALSE, don't repeat header row.
*/
public void setRepeatHeader(boolean repeat) {
CTTrPr trpr = getTrPr();
CTOnOff onoff = trpr.addNewTblHeader();
onoff.setVal(repeat ? STOnOff.ON : STOnOff.OFF);
}
/**
* Return true if a table's header row should be repeated at the top of a
* table split across pages.
* @return true if table's header row should be repeated at the top of each
* page of table, false otherwise.
*/
public boolean isRepeatHeader() {
boolean repeat = false;
CTTrPr trpr = getTrPr();
if (trpr.sizeOfTblHeaderArray() > 0) {
CTOnOff rpt = trpr.getTblHeaderList().get(0);
repeat = rpt.getVal().equals(STOnOff.ON);
}
/**
* This attribute controls whether to repeat a table's header row at the top
* of a table split across pages.
* @param repeat - if TRUE, repeat header row at the top of each page of table;
* if FALSE, don't repeat header row.
*/
public void setRepeatHeader(boolean repeat) {
CTTrPr trpr = getTrPr();
CTOnOff onoff = trpr.addNewTblHeader();
onoff.setVal(repeat ? STOnOff.ON : STOnOff.OFF);
}
/**
* Return true if a table's header row should be repeated at the top of a
* table split across pages.
* @return true if table's header row should be repeated at the top of each
* page of table, false otherwise.
*/
public boolean isRepeatHeader() {
boolean repeat = false;
CTTrPr trpr = getTrPr();
if (trpr.sizeOfTblHeaderArray() > 0) {
CTOnOff rpt = trpr.getTblHeaderList().get(0);
repeat = rpt.getVal().equals(STOnOff.ON);
}
return repeat;
}
}// end class
return repeat;
}
}