Changeset 1715 for trunk/docx4j/src/main/java/org/docx4j/openpackaging
- Timestamp:
- 11/16/11 13:53:09 (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/NumberingDefinitionsPart.java
r1610 r1715 305 305 } 306 306 307 /** 308 * Add the specified definition, allocating it a new w:abstractNumId. 309 * 310 * Also create and add an associated ListNumberingDefinition, and return 311 * the w:numId of this associated ListNumberingDefinition (since that is 312 * what you are likely to use in the document). 313 * 314 * @param abstractNum 315 * @return 316 */ 317 public Numbering.Num addAbstractListNumberingDefinition(Numbering.AbstractNum abstractNum) { 318 319 ////////////////////////////////////////////// 320 // Numbering.AbstractNum abstractNum 321 322 // Generate a unique w:abstractNumId for it 323 int nextId = getAbstractListDefinitions().size(); 324 do { 325 nextId++; 326 } while (getAbstractListDefinitions().containsKey( "" + nextId )); 327 abstractNum.setAbstractNumId( BigInteger.valueOf(nextId) ); 328 329 // Add it to our JAXB object 330 this.jaxbElement.getAbstractNum().add(abstractNum); 331 332 // Add it to our hashmap 333 AbstractListNumberingDefinition absNumDef = new AbstractListNumberingDefinition(abstractNum); 334 abstractListDefinitions.put(absNumDef.getID(), absNumDef); 335 336 ////////////////////////////////////////////// 337 // Numbering.Num num 338 339 // Now make an associated ListNumberingDefinition 340 // <w:num w:numId="1"> 341 // <w:abstractNumId w:val="1"/> 342 // </w:num>" 343 Numbering.Num num = Context.wmlObjectFactory.createNumberingNum(); 344 Numbering.Num.AbstractNumId abstractNumId = Context.wmlObjectFactory.createNumberingNumAbstractNumId(); 345 abstractNumId.setVal(BigInteger.valueOf(nextId) ); 346 num.setAbstractNumId(abstractNumId); 347 348 nextId = getInstanceListDefinitions().size(); 349 do { 350 nextId++; 351 } while (getInstanceListDefinitions().containsKey( "" + nextId )); 352 num.setNumId( BigInteger.valueOf(nextId) ); 353 354 // Add it to our JAXB object 355 this.jaxbElement.getNum().add(num); 356 357 // Add it to our hashmap 358 ListNumberingDefinition listDef = new ListNumberingDefinition(num, abstractListDefinitions); 359 instanceListDefinitions.put(listDef.getListNumberId(), listDef); 360 361 // 362 return num; 363 364 } 365 366 public Numbering unmarshalDefaultNumbering() throws JAXBException { 367 368 java.io.InputStream is = null; 369 try { 370 is = org.docx4j.utils.ResourceUtils.getResource( 371 "org/docx4j/openpackaging/parts/WordprocessingML/numbering.xml"); 372 } catch (IOException e) { 373 // TODO Auto-generated catch block 374 e.printStackTrace(); 375 } 376 377 return unmarshal( is ); // side-effect is to set jaxbElement 378 } 307 379 308 380 }
Note: See TracChangeset
for help on using the changeset viewer.
