com.aspose.words
Class ListLevel

java.lang.Object
    extended by com.aspose.words.ListLevel
All Implemented Interfaces:
java.lang.Cloneable

public class ListLevel 
extends java.lang.Object

Defines formatting for a list level.

You do not create objects of this class. List level objects are created automatically when a list is created. You access ListLevel objects via the ListLevelCollection collection.

Use the properties of ListLevel to specify list formatting for individual list levels.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

Property Getters/Setters Summary
intgetAlignment()
voidsetAlignment(int value)
           Gets or sets the justification of the actual number of the list item. The value of the property is ListLevelAlignment integer constant.
java.lang.StringgetCustomNumberStyleFormat()
           Gets the custom number style format for this list level. For example: "a, ç, ĝ, ...".
FontgetFont()
           Specifies character formatting used for the list label.
ImageDatagetImageData()
           Returns image data of the picture bullet shape for the current list level.
booleanisLegal()
voidisLegal(boolean value)
           True if the level turns all inherited numbers to Arabic, false if it preserves their number style.
StylegetLinkedStyle()
voidsetLinkedStyle(Style value)
           Gets or sets the paragraph style that is linked to this list level.
java.lang.StringgetNumberFormat()
voidsetNumberFormat(java.lang.String value)
           Returns or sets the number format for the list level.
doublegetNumberPosition()
voidsetNumberPosition(double value)
           Returns or sets the position (in points) of the number or bullet for the list level.
intgetNumberStyle()
voidsetNumberStyle(int value)
           Returns or sets the number style for this list level. The value of the property is NumberStyle integer constant.
intgetRestartAfterLevel()
voidsetRestartAfterLevel(int value)
           Sets or returns the list level that must appear before the specified list level restarts numbering.
intgetStartAt()
voidsetStartAt(int value)
           Returns or sets the starting number for this list level.
doublegetTabPosition()
voidsetTabPosition(double value)
           Returns or sets the tab position (in points) for the list level.
doublegetTextPosition()
voidsetTextPosition(double value)
           Returns or sets the position (in points) for the second line of wrapping text for the list level.
intgetTrailingCharacter()
voidsetTrailingCharacter(int value)
           Returns or sets the character inserted after the number for the list level. The value of the property is ListTrailingCharacter integer constant.
 
Method Summary
voidcreatePictureBullet()
           Creates picture bullet shape for the current list level.
voiddeletePictureBullet()
           Deletes picture bullet for the current list level.
booleanequals(ListLevel level)
           Compares with the specified ListLevel.
static java.lang.StringgetEffectiveValue(int index, int numberStyle, java.lang.String customNumberStyleFormat)
           Reports the string representation of the ListLevel object for the specified index of the list item. Parameters specify the NumberStyle and an optional format string used when NumberStyle.CUSTOM is specified.
inthashCode()
           Calculates hash code for this object.
 

Property Getters/Setters Detail

getAlignment/setAlignment

public int getAlignment() / public void setAlignment(int value)
Gets or sets the justification of the actual number of the list item. The value of the property is ListLevelAlignment integer constant.

The list label is justified relative to the NumberPosition property.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

getCustomNumberStyleFormat

public java.lang.String getCustomNumberStyleFormat()
Gets the custom number style format for this list level. For example: "a, ç, ĝ, ...".

getFont

public Font getFont()
Specifies character formatting used for the list label.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

getImageData

public ImageData getImageData()
Returns image data of the picture bullet shape for the current list level. If this level doesn't define picture bullet returns null. Before setting new image for non picture bullet shape, please use createPictureBullet() method first.

isLegal/isLegal

public boolean isLegal() / public void isLegal(boolean value)
True if the level turns all inherited numbers to Arabic, false if it preserves their number style.

Example:

Shows advances ways of customizing list labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

// Level 1 labels will be formatted according to the "Heading 1" paragraph style and will have a prefix.
// These will look like "Appendix A", "Appendix B"...
list.getListLevels().get(0).setNumberFormat("Appendix \u0000");
list.getListLevels().get(0).setNumberStyle(NumberStyle.UPPERCASE_LETTER);
list.getListLevels().get(0).setLinkedStyle(doc.getStyles().get("Heading 1"));

// Level 2 labels will display the current numbers of the first and the second list levels and have leading zeroes.
// If the first list level is at 1, then the list labels from these will look like "Section (1.01)", "Section (1.02)"...
list.getListLevels().get(1).setNumberFormat("Section (\u0000.\u0001)");
list.getListLevels().get(1).setNumberStyle(NumberStyle.LEADING_ZERO);

// Note that the higher-level uses UppercaseLetter numbering.
// We can set the "IsLegal" property to use Arabic numbers for the higher list levels.
list.getListLevels().get(1).isLegal(true);
list.getListLevels().get(1).setRestartAfterLevel(0);

// Level 3 labels will be upper case Roman numerals with a prefix and a suffix and will restart at each List level 1 item.
// These list labels will look like "-I-", "-II-"...
list.getListLevels().get(2).setNumberFormat("-\u0002-");
list.getListLevels().get(2).setNumberStyle(NumberStyle.UPPERCASE_ROMAN);
list.getListLevels().get(2).setRestartAfterLevel(1);

// Make labels of all list levels bold.
for (ListLevel level : list.getListLevels())
    level.getFont().setBold(true);

// Apply list formatting to the current paragraph.
builder.getListFormat().setList(list);

// Create list items that will display all three of our list levels.
for (int n = 0; n < 2; n++) {
    for (int i = 0; i < 3; i++) {
        builder.getListFormat().setListLevelNumber(i);
        builder.writeln("Level " + i);
    }
}

builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.CreateListRestartAfterHigher.docx");

getLinkedStyle/setLinkedStyle

public Style getLinkedStyle() / public void setLinkedStyle(Style value)
Gets or sets the paragraph style that is linked to this list level.

This property is null when the list level is not linked to a paragraph style. This property can be set to null.

Example:

Shows advances ways of customizing list labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

// Level 1 labels will be formatted according to the "Heading 1" paragraph style and will have a prefix.
// These will look like "Appendix A", "Appendix B"...
list.getListLevels().get(0).setNumberFormat("Appendix \u0000");
list.getListLevels().get(0).setNumberStyle(NumberStyle.UPPERCASE_LETTER);
list.getListLevels().get(0).setLinkedStyle(doc.getStyles().get("Heading 1"));

// Level 2 labels will display the current numbers of the first and the second list levels and have leading zeroes.
// If the first list level is at 1, then the list labels from these will look like "Section (1.01)", "Section (1.02)"...
list.getListLevels().get(1).setNumberFormat("Section (\u0000.\u0001)");
list.getListLevels().get(1).setNumberStyle(NumberStyle.LEADING_ZERO);

// Note that the higher-level uses UppercaseLetter numbering.
// We can set the "IsLegal" property to use Arabic numbers for the higher list levels.
list.getListLevels().get(1).isLegal(true);
list.getListLevels().get(1).setRestartAfterLevel(0);

// Level 3 labels will be upper case Roman numerals with a prefix and a suffix and will restart at each List level 1 item.
// These list labels will look like "-I-", "-II-"...
list.getListLevels().get(2).setNumberFormat("-\u0002-");
list.getListLevels().get(2).setNumberStyle(NumberStyle.UPPERCASE_ROMAN);
list.getListLevels().get(2).setRestartAfterLevel(1);

// Make labels of all list levels bold.
for (ListLevel level : list.getListLevels())
    level.getFont().setBold(true);

// Apply list formatting to the current paragraph.
builder.getListFormat().setList(list);

// Create list items that will display all three of our list levels.
for (int n = 0; n < 2; n++) {
    for (int i = 0; i < 3; i++) {
        builder.getListFormat().setListLevelNumber(i);
        builder.writeln("Level " + i);
    }
}

builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.CreateListRestartAfterHigher.docx");

getNumberFormat/setNumberFormat

public java.lang.String getNumberFormat() / public void setNumberFormat(java.lang.String value)
Returns or sets the number format for the list level.

Among normal text characters, the string can contain placeholder characters \x0000 to \x0008 representing the numbers from the corresponding list levels.

For example, the string "\x0000.\x0001)" will generate a list label that looks something like "1.5)". The number "1" is the current number from the 1st list level, the number "5" is the current number from the 2nd list level.

Null is not allowed, but an empty string meaning no number is valid.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

Example:

Shows advances ways of customizing list labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

// Level 1 labels will be formatted according to the "Heading 1" paragraph style and will have a prefix.
// These will look like "Appendix A", "Appendix B"...
list.getListLevels().get(0).setNumberFormat("Appendix \u0000");
list.getListLevels().get(0).setNumberStyle(NumberStyle.UPPERCASE_LETTER);
list.getListLevels().get(0).setLinkedStyle(doc.getStyles().get("Heading 1"));

// Level 2 labels will display the current numbers of the first and the second list levels and have leading zeroes.
// If the first list level is at 1, then the list labels from these will look like "Section (1.01)", "Section (1.02)"...
list.getListLevels().get(1).setNumberFormat("Section (\u0000.\u0001)");
list.getListLevels().get(1).setNumberStyle(NumberStyle.LEADING_ZERO);

// Note that the higher-level uses UppercaseLetter numbering.
// We can set the "IsLegal" property to use Arabic numbers for the higher list levels.
list.getListLevels().get(1).isLegal(true);
list.getListLevels().get(1).setRestartAfterLevel(0);

// Level 3 labels will be upper case Roman numerals with a prefix and a suffix and will restart at each List level 1 item.
// These list labels will look like "-I-", "-II-"...
list.getListLevels().get(2).setNumberFormat("-\u0002-");
list.getListLevels().get(2).setNumberStyle(NumberStyle.UPPERCASE_ROMAN);
list.getListLevels().get(2).setRestartAfterLevel(1);

// Make labels of all list levels bold.
for (ListLevel level : list.getListLevels())
    level.getFont().setBold(true);

// Apply list formatting to the current paragraph.
builder.getListFormat().setList(list);

// Create list items that will display all three of our list levels.
for (int n = 0; n < 2; n++) {
    for (int i = 0; i < 3; i++) {
        builder.getListFormat().setListLevelNumber(i);
        builder.writeln("Level " + i);
    }
}

builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.CreateListRestartAfterHigher.docx");

getNumberPosition/setNumberPosition

public double getNumberPosition() / public void setNumberPosition(double value)
Returns or sets the position (in points) of the number or bullet for the list level.

NumberPosition corresponds to LeftIndent plus FirstLineIndent of the paragraph.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");
See Also:
TextPosition, TabPosition

getNumberStyle/setNumberStyle

public int getNumberStyle() / public void setNumberStyle(int value)
Returns or sets the number style for this list level. The value of the property is NumberStyle integer constant.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

Example:

Shows advances ways of customizing list labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

// Level 1 labels will be formatted according to the "Heading 1" paragraph style and will have a prefix.
// These will look like "Appendix A", "Appendix B"...
list.getListLevels().get(0).setNumberFormat("Appendix \u0000");
list.getListLevels().get(0).setNumberStyle(NumberStyle.UPPERCASE_LETTER);
list.getListLevels().get(0).setLinkedStyle(doc.getStyles().get("Heading 1"));

// Level 2 labels will display the current numbers of the first and the second list levels and have leading zeroes.
// If the first list level is at 1, then the list labels from these will look like "Section (1.01)", "Section (1.02)"...
list.getListLevels().get(1).setNumberFormat("Section (\u0000.\u0001)");
list.getListLevels().get(1).setNumberStyle(NumberStyle.LEADING_ZERO);

// Note that the higher-level uses UppercaseLetter numbering.
// We can set the "IsLegal" property to use Arabic numbers for the higher list levels.
list.getListLevels().get(1).isLegal(true);
list.getListLevels().get(1).setRestartAfterLevel(0);

// Level 3 labels will be upper case Roman numerals with a prefix and a suffix and will restart at each List level 1 item.
// These list labels will look like "-I-", "-II-"...
list.getListLevels().get(2).setNumberFormat("-\u0002-");
list.getListLevels().get(2).setNumberStyle(NumberStyle.UPPERCASE_ROMAN);
list.getListLevels().get(2).setRestartAfterLevel(1);

// Make labels of all list levels bold.
for (ListLevel level : list.getListLevels())
    level.getFont().setBold(true);

// Apply list formatting to the current paragraph.
builder.getListFormat().setList(list);

// Create list items that will display all three of our list levels.
for (int n = 0; n < 2; n++) {
    for (int i = 0; i < 3; i++) {
        builder.getListFormat().setListLevelNumber(i);
        builder.writeln("Level " + i);
    }
}

builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.CreateListRestartAfterHigher.docx");

getRestartAfterLevel/setRestartAfterLevel

public int getRestartAfterLevel() / public void setRestartAfterLevel(int value)
Sets or returns the list level that must appear before the specified list level restarts numbering.

The value of -1 means the numbering will continue.

Example:

Shows advances ways of customizing list labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

// Level 1 labels will be formatted according to the "Heading 1" paragraph style and will have a prefix.
// These will look like "Appendix A", "Appendix B"...
list.getListLevels().get(0).setNumberFormat("Appendix \u0000");
list.getListLevels().get(0).setNumberStyle(NumberStyle.UPPERCASE_LETTER);
list.getListLevels().get(0).setLinkedStyle(doc.getStyles().get("Heading 1"));

// Level 2 labels will display the current numbers of the first and the second list levels and have leading zeroes.
// If the first list level is at 1, then the list labels from these will look like "Section (1.01)", "Section (1.02)"...
list.getListLevels().get(1).setNumberFormat("Section (\u0000.\u0001)");
list.getListLevels().get(1).setNumberStyle(NumberStyle.LEADING_ZERO);

// Note that the higher-level uses UppercaseLetter numbering.
// We can set the "IsLegal" property to use Arabic numbers for the higher list levels.
list.getListLevels().get(1).isLegal(true);
list.getListLevels().get(1).setRestartAfterLevel(0);

// Level 3 labels will be upper case Roman numerals with a prefix and a suffix and will restart at each List level 1 item.
// These list labels will look like "-I-", "-II-"...
list.getListLevels().get(2).setNumberFormat("-\u0002-");
list.getListLevels().get(2).setNumberStyle(NumberStyle.UPPERCASE_ROMAN);
list.getListLevels().get(2).setRestartAfterLevel(1);

// Make labels of all list levels bold.
for (ListLevel level : list.getListLevels())
    level.getFont().setBold(true);

// Apply list formatting to the current paragraph.
builder.getListFormat().setList(list);

// Create list items that will display all three of our list levels.
for (int n = 0; n < 2; n++) {
    for (int i = 0; i < 3; i++) {
        builder.getListFormat().setListLevelNumber(i);
        builder.writeln("Level " + i);
    }
}

builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.CreateListRestartAfterHigher.docx");

getStartAt/setStartAt

public int getStartAt() / public void setStartAt(int value)
Returns or sets the starting number for this list level.

Default value is 1.

Example:

Shows how to restart numbering in a list by copying a list.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize its first list level.
List list1 = doc.getLists().add(ListTemplate.NUMBER_ARABIC_PARENTHESIS);
list1.getListLevels().get(0).getFont().setColor(Color.RED);
list1.getListLevels().get(0).setAlignment(ListLevelAlignment.RIGHT);

// Apply our list to some paragraphs.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.writeln("List 1 starts below:");
builder.getListFormat().setList(list1);
builder.writeln("Item 1");
builder.writeln("Item 2");
builder.getListFormat().removeNumbers();

// We can add a copy of an existing list to the document's list collection
// to create a similar list without making changes to the original.
List list2 = doc.getLists().addCopy(list1);
list2.getListLevels().get(0).getFont().setColor(Color.BLUE);
list2.getListLevels().get(0).setStartAt(10);

// Apply the second list to new paragraphs.
builder.writeln("List 2 starts below:");
builder.getListFormat().setList(list2);
builder.writeln("Item 1");
builder.writeln("Item 2");
builder.getListFormat().removeNumbers();

doc.save(getArtifactsDir() + "Lists.RestartNumberingUsingListCopy.docx");

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

getTabPosition/setTabPosition

public double getTabPosition() / public void setTabPosition(double value)
Returns or sets the tab position (in points) for the list level.

Has effect only when TrailingCharacter is a tab.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");
See Also:
NumberPosition, TextPosition

getTextPosition/setTextPosition

public double getTextPosition() / public void setTextPosition(double value)
Returns or sets the position (in points) for the second line of wrapping text for the list level.

TextPosition corresponds to LeftIndent of the paragraph.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");
See Also:
NumberPosition, TabPosition

getTrailingCharacter/setTrailingCharacter

public int getTrailingCharacter() / public void setTrailingCharacter(int value)
Returns or sets the character inserted after the number for the list level. The value of the property is ListTrailingCharacter integer constant.

Example:

Shows how to apply custom list formatting to paragraphs when using DocumentBuilder.
Document doc = new Document();

// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level. 
// We can begin and end a list by using a document builder's "ListFormat" property. 
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize the first two of its list levels.
List list = doc.getLists().add(ListTemplate.NUMBER_DEFAULT);

ListLevel listLevel = list.getListLevels().get(0);
listLevel.getFont().setColor(Color.RED);
listLevel.getFont().setSize(24.0);
listLevel.setNumberStyle(NumberStyle.ORDINAL_TEXT);
listLevel.setStartAt(21);
listLevel.setNumberFormat("\u0000");

listLevel.setNumberPosition(-36);
listLevel.setTextPosition(144.0);
listLevel.setTabPosition(144.0);

listLevel = list.getListLevels().get(1);
listLevel.setAlignment(ListLevelAlignment.RIGHT);
listLevel.setNumberStyle(NumberStyle.BULLET);
listLevel.getFont().setName("Wingdings");
listLevel.getFont().setColor(Color.BLUE);
listLevel.getFont().setSize(24.0);

// This NumberFormat value will create star-shaped bullet list symbols.
listLevel.setNumberFormat("\uf0af");
listLevel.setTrailingCharacter(ListTrailingCharacter.SPACE);
listLevel.setNumberPosition(144.0);

// Create paragraphs and apply both list levels of our custom list formatting to them.
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("The quick brown fox...");
builder.writeln("The quick brown fox...");

builder.getListFormat().listIndent();
builder.writeln("jumped over the lazy dog.");
builder.writeln("jumped over the lazy dog.");

builder.getListFormat().listOutdent();
builder.writeln("The quick brown fox...");

builder.getListFormat().removeNumbers();

builder.getDocument().save(getArtifactsDir() + "Lists.CreateCustomList.docx");

Method Detail

createPictureBullet

public void createPictureBullet()
                        throws java.lang.Exception
Creates picture bullet shape for the current list level. Please note, NumberStyle will be set to Bullet and NumberFormat to "\xF0B7" to properly display picture bullet. Red cross image will be set as picture bullet image upon creating. To change it please use ImageData.

Example:

Shows how to set a custom image icon for list item labels.
Document doc = new Document();

List list = doc.getLists().add(ListTemplate.BULLET_CIRCLE);

// Create a picture bullet for the current list level, and set an image from a local file system
// as the icon that the bullets for this list level will display.
list.getListLevels().get(0).createPictureBullet();
list.getListLevels().get(0).getImageData().setImage(getImageDir() + "Logo icon.ico");

Assert.assertTrue(list.getListLevels().get(0).getImageData().hasImage());

DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("Hello world!");
builder.write("Hello again!");

doc.save(getArtifactsDir() + "Lists.CreatePictureBullet.docx");

list.getListLevels().get(0).deletePictureBullet();

Assert.assertNull(list.getListLevels().get(0).getImageData());

deletePictureBullet

public void deletePictureBullet()
Deletes picture bullet for the current list level. Default bullet will be shown after deleting.

Example:

Shows how to set a custom image icon for list item labels.
Document doc = new Document();

List list = doc.getLists().add(ListTemplate.BULLET_CIRCLE);

// Create a picture bullet for the current list level, and set an image from a local file system
// as the icon that the bullets for this list level will display.
list.getListLevels().get(0).createPictureBullet();
list.getListLevels().get(0).getImageData().setImage(getImageDir() + "Logo icon.ico");

Assert.assertTrue(list.getListLevels().get(0).getImageData().hasImage());

DocumentBuilder builder = new DocumentBuilder(doc);

builder.getListFormat().setList(list);
builder.writeln("Hello world!");
builder.write("Hello again!");

doc.save(getArtifactsDir() + "Lists.CreatePictureBullet.docx");

list.getListLevels().get(0).deletePictureBullet();

Assert.assertNull(list.getListLevels().get(0).getImageData());

equals

public boolean equals(ListLevel level)
Compares with the specified ListLevel.

getEffectiveValue

public static java.lang.String getEffectiveValue(int index, int numberStyle, java.lang.String customNumberStyleFormat)
Reports the string representation of the ListLevel object for the specified index of the list item. Parameters specify the NumberStyle and an optional format string used when NumberStyle.CUSTOM is specified.
Parameters:
index - The index of the list item (must be in the range from 1 to 32767).
numberStyle - A NumberStyle value. The NumberStyle of the ListLevel object.
customNumberStyleFormat - The optional format string used when NumberStyle.CUSTOM is specified (e.g. "a, ç, ĝ, ..."). In other cases, this parameter must be null or empty.
Returns:
The string representation of the ListLevel object, described by the numberStyle parameter and the customNumberStyleFormat parameter, in the list item at the position determined by the index parameter.

hashCode

public int hashCode()
Calculates hash code for this object.

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.