/** * Checks whether number with numID exists * * @param numID * @return boolean true if num exist, false if num not exist */ public boolean numExist(BigInteger numID) { for (XWPFNum num : nums) { if (num.getCTNum().getNumId().equals(numID)) return true; } return false; }
/** * Add a new num with an abstractNumID * * @return return NumId of the added num */ public BigInteger addNum(BigInteger abstractNumID) { CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(BigInteger.valueOf(nums.size() + 1)); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); return ctNum.getNumId(); }
/** * get Num by NumID * * @param numID * @return abstractNum with NumId if no Num exists with that NumID * null will be returned */ public XWPFNum getNum(BigInteger numID) { for (XWPFNum num : nums) { if (num.getCTNum().getNumId().equals(numID)) return num; } return null; }
/** * Add a new num with an abstractNumID and a numID * * @param abstractNumID * @param numID */ public void addNum(BigInteger abstractNumID, BigInteger numID) { CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(numID); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); }
/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException { NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is, DEFAULT_XML_OPTIONS); ctNumbering = numberingDoc.getNumbering(); //get any Nums for (CTNum ctNum : ctNumbering.getNumArray()) { nums.add(new XWPFNum(ctNum, this)); } for (CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumArray()) { abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } finally { is.close(); } }
/** * return the abstractNumID * If the AbstractNumID not exists * return null * * @param numID * @return abstractNumID */ public BigInteger getAbstractNumID(BigInteger numID) { XWPFNum num = getNum(numID); if (num == null) return null; if (num.getCTNum() == null) return null; if (num.getCTNum().getAbstractNumId() == null) return null; return num.getCTNum().getAbstractNumId().getVal(); } }
/** * Add a new num with an abstractNumID * @return return NumId of the added num */ public BigInteger addNum(BigInteger abstractNumID){ CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(BigInteger.valueOf(nums.size()+1)); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); return ctNum.getNumId(); }
CTNum ctNum = num.getCTNum(); if (ctNum == null) { return null;
/** * Add a new num with an abstractNumID * * @return return NumId of the added num */ public BigInteger addNum(BigInteger abstractNumID) { CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(BigInteger.valueOf(nums.size() + 1)); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); return ctNum.getNumId(); }
/** * Returns numbering format for this paragraph, eg bullet or * lowerLetter. * Returns null if this paragraph does not have numeric style. */ public String getNumFmt() { BigInteger numID = getNumID(); XWPFNumbering numbering = document.getNumbering(); if (numID != null && numbering != null) { XWPFNum num = numbering.getNum(numID); if (num != null) { BigInteger ilvl = getNumIlvl(); BigInteger abstractNumId = num.getCTNum().getAbstractNumId().getVal(); CTAbstractNum anum = numbering.getAbstractNum(abstractNumId).getAbstractNum(); CTLvl level = null; for (int i = 0; i < anum.sizeOfLvlArray(); i++) { CTLvl lvl = anum.getLvlArray(i); if (lvl.getIlvl().equals(ilvl)) { level = lvl; break; } } if (level != null && level.getNumFmt() != null && level.getNumFmt().getVal() != null) { return level.getNumFmt().getVal().toString(); } } } return null; }
/** * Add a new num with an abstractNumID and a numID * * @param abstractNumID * @param numID */ public void addNum(BigInteger abstractNumID, BigInteger numID) { CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(numID); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); }
if (num != null) { BigInteger ilvl = getNumIlvl(); CTNum ctNum = num.getCTNum(); if (ctNum == null) { return null;
/** * Add a new num with an abstractNumID and a numID * @param abstractNumID * @param numID */ public void addNum(BigInteger abstractNumID, BigInteger numID){ CTNum ctNum = this.ctNumbering.addNewNum(); ctNum.addNewAbstractNumId(); ctNum.getAbstractNumId().setVal(abstractNumID); ctNum.setNumId(numID); XWPFNum num = new XWPFNum(ctNum, this); nums.add(num); }
public String getFormattedNumber(BigInteger numId, int iLvl) { if (numbering == null || iLvl < 0 || numId == null) { return ""; } int currNumId = numId.intValue(); XWPFNum xwpfNum = numbering.getNum(numId); if (xwpfNum == null) { return ""; } CTNum ctNum = xwpfNum.getCTNum(); CTDecimalNumber abNum = ctNum.getAbstractNumId(); int currAbNumId = abNum.getVal().intValue(); ParagraphLevelCounter lc = listLevelMap.get(currAbNumId); LevelTuple[] overrideTuples = overrideTupleMap.get(currNumId); if (lc == null) { lc = loadLevelTuples(abNum); } if (overrideTuples == null) { overrideTuples = loadOverrideTuples(ctNum, lc.getNumberOfLevels()); } String formattedString = lc.incrementLevel(iLvl, overrideTuples); listLevelMap.put(currAbNumId, lc); overrideTupleMap.put(currNumId, overrideTuples); return formattedString; }
/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException { NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is, DEFAULT_XML_OPTIONS); ctNumbering = numberingDoc.getNumbering(); //get any Nums for (CTNum ctNum : ctNumbering.getNumArray()) { nums.add(new XWPFNum(ctNum, this)); } for (CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumArray()) { abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } finally { is.close(); } }
Map<BigInteger, CTAbstractNum> cache = new HashMap<BigInteger, CTAbstractNum>(); for (XWPFNum xwpfNum : nums) { BigInteger mergeNumId = xwpfNum.getCTNum().getNumId(); cTAbstractNum = cache.get(xwpfNum.getCTNum().getAbstractNumId().getVal()); if (null == cTAbstractNum) { xwpfAbstractNum = numberingMerge.getAbstractNum(xwpfNum.getCTNum().getAbstractNumId().getVal()); if (null == xwpfAbstractNum) { LOG.warn("cannot find cTAbstractNum by XWPFNum."); cache.put(xwpfNum.getCTNum().getAbstractNumId().getVal(), cTAbstractNum);
/** * read numbering form an existing package */ @Override protected void onDocumentRead() throws IOException{ NumberingDocument numberingDoc = null; InputStream is; is = getPackagePart().getInputStream(); try { numberingDoc = NumberingDocument.Factory.parse(is); ctNumbering = numberingDoc.getNumbering(); //get any Nums for(CTNum ctNum : ctNumbering.getNumList()) { nums.add(new XWPFNum(ctNum, this)); } for(CTAbstractNum ctAbstractNum : ctNumbering.getAbstractNumList()){ abstractNums.add(new XWPFAbstractNum(ctAbstractNum, this)); } isNew = false; } catch (XmlException e) { throw new POIXMLException(); } }
/** * Checks whether number with numID exists * * @param numID * @return boolean true if num exist, false if num not exist */ public boolean numExist(BigInteger numID) { for (XWPFNum num : nums) { if (num.getCTNum().getNumId().equals(numID)) return true; } return false; }
/** * Checks whether number with numID exists * @param numID * @return boolean true if num exist, false if num not exist */ public boolean numExist(BigInteger numID){ for (XWPFNum num : nums) { if (num.getCTNum().getNumId().equals(numID)) return true; } return false; }