use of org.apache.poi.hwpf.model.ListTables in project poi by apache.
the class Paragraph method newParagraph.
@Internal
public static Paragraph newParagraph(Range parent, PAPX papx) {
HWPFDocumentCore doc = parent._doc;
ListTables listTables = doc.getListTables();
StyleSheet styleSheet = doc.getStyleSheet();
ParagraphProperties properties = new ParagraphProperties();
properties.setIstd(papx.getIstd());
properties = newParagraph_applyStyleProperties(styleSheet, papx, properties);
properties = ParagraphSprmUncompressor.uncompressPAP(properties, papx.getGrpprl(), 2);
if (properties.getIlfo() != 0 && listTables != null) {
LFO lfo = null;
try {
lfo = listTables.getLfo(properties.getIlfo());
} catch (NoSuchElementException exc) {
log.log(POILogger.WARN, "Paragraph refers to LFO #", properties.getIlfo(), " that does not exists");
}
if (lfo != null) {
final ListLevel listLevel = listTables.getLevel(lfo.getLsid(), properties.getIlvl());
if (listLevel != null && listLevel.getGrpprlPapx() != null) {
properties = ParagraphSprmUncompressor.uncompressPAP(properties, listLevel.getGrpprlPapx(), 0);
// reapply style and local PAPX properties
properties = newParagraph_applyStyleProperties(styleSheet, papx, properties);
properties = ParagraphSprmUncompressor.uncompressPAP(properties, papx.getGrpprl(), 2);
}
}
}
if (properties.getIlfo() > 0)
return new ListEntry(papx, properties, parent);
return new Paragraph(papx, properties, parent);
}
Aggregations