/** * 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(); if (abstractNum.getAbstractNum() != null) { // Use the current CTAbstractNum if it exists ctNumbering.addNewAbstractNum().set(abstractNum.getAbstractNum()); } else { ctNumbering.addNewAbstractNum(); abstractNum.getAbstractNum().setAbstractNumId(BigInteger.valueOf(pos)); ctNumbering.setAbstractNumArray(pos, abstractNum.getAbstractNum()); } abstractNums.add(abstractNum); return abstractNum.getCTAbstractNum().getAbstractNumId(); }
CTAbstractNum anum = xwpfAbstractNum.getCTAbstractNum();
private ParagraphLevelCounter loadLevelTuples(CTDecimalNumber abNum) { //Unfortunately, we need to go this far into the underlying structure //to get the abstract num information for the edge case where //someone skips a level and the format is not context-free, e.g. "1.B.i". XWPFAbstractNum abstractNum = numbering.getAbstractNum(abNum.getVal()); CTAbstractNum ctAbstractNum = abstractNum.getCTAbstractNum(); LevelTuple[] levels = new LevelTuple[ctAbstractNum.sizeOfLvlArray()]; for (int i = 0; i < levels.length; i++) { levels[i] = buildTuple(i, ctAbstractNum.getLvlArray(i)); } return new ParagraphLevelCounter(levels); }
continue; cTAbstractNum = xwpfAbstractNum.getCTAbstractNum(); cTAbstractNum.setAbstractNumId(BigInteger.valueOf(wrapper.getAbstractNumsSize() + 20)); cache.put(xwpfNum.getCTNum().getAbstractNumId().getVal(), cTAbstractNum);
/** * first discover all the numbering styles defined in the template. * a bit brute force since I can't find a way to just enumerate all the * abstractNum's inside the numbering.xml */ protected void initNumberingStyles() { numbering = document.getNumbering(); BigInteger curIdx = BigInteger.ONE; XWPFAbstractNum abstractNum; while ((abstractNum = numbering.getAbstractNum(curIdx)) != null) { if (abstractNum != null) { CTString pStyle = abstractNum.getCTAbstractNum().getLvlArray(0).getPStyle(); if (pStyle != null) { numberStyles.put(pStyle.getVal(), abstractNum); } } curIdx = curIdx.add(BigInteger.ONE); } }
/** * 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; }
/** * 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(); if(abstractNum.getAbstractNum() != null){ // Use the current CTAbstractNum if it exists ctNumbering.addNewAbstractNum().set(abstractNum.getAbstractNum()); } else { ctNumbering.addNewAbstractNum(); abstractNum.getAbstractNum().setAbstractNumId(BigInteger.valueOf(pos)); ctNumbering.setAbstractNumArray(pos, abstractNum.getAbstractNum()); } abstractNums.add(abstractNum); return abstractNum.getCTAbstractNum().getAbstractNumId(); }
private ParagraphLevelCounter loadLevelTuples(CTDecimalNumber abNum) { //Unfortunately, we need to go this far into the underlying structure //to get the abstract num information for the edge case where //someone skips a level and the format is not context-free, e.g. "1.B.i". XWPFAbstractNum abstractNum = numbering.getAbstractNum(abNum.getVal()); CTAbstractNum ctAbstractNum = abstractNum.getCTAbstractNum(); LevelTuple[] levels = new LevelTuple[ctAbstractNum.sizeOfLvlArray()]; for (int i = 0; i < levels.length; i++) { levels[i] = buildTuple(i, ctAbstractNum.getLvlArray(i)); } return new ParagraphLevelCounter(levels); }
/** * add a new AbstractNum and return its AbstractNumID * * @param abstractNum */ public BigInteger addAbstractNum(XWPFAbstractNum abstractNum) { int pos = abstractNums.size(); if (abstractNum.getAbstractNum() != null) { // Use the current CTAbstractNum if it exists ctNumbering.addNewAbstractNum().set(abstractNum.getAbstractNum()); } else { ctNumbering.addNewAbstractNum(); abstractNum.getAbstractNum().setAbstractNumId(BigInteger.valueOf(pos)); ctNumbering.setAbstractNumArray(pos, abstractNum.getAbstractNum()); } abstractNums.add(abstractNum); return abstractNum.getCTAbstractNum().getAbstractNumId(); }
private ParagraphLevelCounter loadLevelTuples(CTDecimalNumber abNum) { //Unfortunately, we need to go this far into the underlying structure //to get the abstract num information for the edge case where //someone skips a level and the format is not context-free, e.g. "1.B.i". XWPFAbstractNum abstractNum = numbering.getAbstractNum(abNum.getVal()); CTAbstractNum ctAbstractNum = abstractNum.getCTAbstractNum(); LevelTuple[] levels = new LevelTuple[ctAbstractNum.sizeOfLvlArray()]; for (int i = 0; i < levels.length; i++) { levels[i] = buildTuple(i, ctAbstractNum.getLvlArray(i)); } return new ParagraphLevelCounter(levels); }
CTAbstractNum anum = xwpfAbstractNum.getCTAbstractNum();