/** * Compare AbstractNum with abstractNums of this numbering document. If the content of abstractNum * equals with an abstractNum of the List in numbering the BigInteger Value of it will be * returned. If no equal abstractNum is existing null will be returned * * @param abstractNum * @return BigInteger */ public BigInteger getIdOfAbstractNum(XWPFAbstractNum abstractNum) { CTAbstractNum copy = (CTAbstractNum) abstractNum.getCTAbstractNum().copy(); XWPFAbstractNum newAbstractNum = new XWPFAbstractNum(copy, this); int i; for (i = 0; i < abstractNums.size(); i++) { newAbstractNum.getCTAbstractNum().setAbstractNumId(BigInteger.valueOf(i)); newAbstractNum.setNumbering(this); if (newAbstractNum.getCTAbstractNum().valueEquals(abstractNums.get(i).getCTAbstractNum())) { return newAbstractNum.getCTAbstractNum().getAbstractNumId(); } } return null; }
/** * add a new AbstractNum and return its AbstractNumID * * @param abstractNum */ public BigInteger addAbstractNum(XWPFAbstractNum abstractNum) { int pos = abstractNums.size(); ctNumbering.addNewAbstractNum(); abstractNum.getAbstractNum().setAbstractNumId(BigInteger.valueOf(pos)); ctNumbering.setAbstractNumArray(pos, abstractNum.getAbstractNum()); abstractNums.add(abstractNum); return abstractNum.getCTAbstractNum().getAbstractNumId(); }