/** Writes the definition part of this list level */ public void writeDefinition(final OutputStream result) throws IOException { result.write(OPEN_GROUP); result.write(LIST_LEVEL); result.write(LIST_LEVEL_TYPE); switch (this.listType) { case LIST_TYPE_BULLET: result.write(intToByteArray(23)); break; case LIST_TYPE_NUMBERED: result.write(intToByteArray(0)); break; case LIST_TYPE_UPPER_LETTERS: result.write(intToByteArray(3)); break; case LIST_TYPE_LOWER_LETTERS: result.write(intToByteArray(4)); break; case LIST_TYPE_UPPER_ROMAN: result.write(intToByteArray(1)); break; case LIST_TYPE_LOWER_ROMAN: result.write(intToByteArray(2)); break; } result.write(LIST_LEVEL_TYPE_NEW); switch (this.listType) { case LIST_TYPE_BULLET: result.write(intToByteArray(23)); break; case LIST_TYPE_NUMBERED: result.write(intToByteArray(0)); break; case LIST_TYPE_UPPER_LETTERS: result.write(intToByteArray(3)); break; case LIST_TYPE_LOWER_LETTERS: result.write(intToByteArray(4)); break; case LIST_TYPE_UPPER_ROMAN: result.write(intToByteArray(1)); break; case LIST_TYPE_LOWER_ROMAN: result.write(intToByteArray(2)); break; } result.write(LIST_LEVEL_ALIGNMENT); result.write(intToByteArray(0)); result.write(LIST_LEVEL_ALIGNMENT_NEW); result.write(intToByteArray(0)); result.write(LIST_LEVEL_START_AT); result.write(intToByteArray(1)); result.write(OPEN_GROUP); result.write(LIST_LEVEL_TEXT); if (this.listType != LIST_TYPE_BULLET) { result.write(LIST_LEVEL_STYLE_NUMBERED_BEGIN); if (listLevel < 10) { result.write(intToByteArray(0)); } result.write(intToByteArray(listLevel)); result.write(LIST_LEVEL_STYLE_NUMBERED_END); } else { result.write(LIST_LEVEL_STYLE_BULLETED_BEGIN); this.document.filterSpecialChar(result, this.bulletCharacter, false, false); result.write(LIST_LEVEL_STYLE_BULLETED_END); } result.write(CLOSE_GROUP); result.write(OPEN_GROUP); result.write(LIST_LEVEL_NUMBERS_BEGIN); if (this.listType != LIST_TYPE_BULLET) { result.write(LIST_LEVEL_NUMBERS_NUMBERED); } result.write(LIST_LEVEL_NUMBERS_END); result.write(CLOSE_GROUP); result.write(RtfFontList.FONT_NUMBER); if (this.listType != LIST_TYPE_BULLET) { result.write(intToByteArray(fontNumber.getFontNumber())); } else { result.write(intToByteArray(fontBullet.getFontNumber())); } // .result.write(writeIndentations()); writeIndentations(result); result.write(LIST_LEVEL_SYMBOL_INDENT); result.write(intToByteArray(this.leftIndent)); result.write(CLOSE_GROUP); result.write("\n".getBytes()); for (int i = 0; i < items.size(); i++) { RtfElement rtfElement = (RtfElement) items.get(i); if (rtfElement instanceof RtfList) { RtfList rl = (RtfList) rtfElement; // .result.write(((RtfList) rtfElement).writeDefinition()); rl.writeDefinition(result); break; } else if (rtfElement instanceof RtfListItem) { RtfListItem rli = (RtfListItem) rtfElement; // .byte[] data = rli.writeDefinition(); // .if(data.length > 0) { // . result.write(data); // . break; // .} if (rli.writeDefinition(result)) break; } } }