com.aspose.words

Class ConditionalStyleCollection

  • java.lang.Object
    • com.aspose.words.ConditionalStyleCollection
  • All Implemented Interfaces:
    java.lang.Iterable
    public class ConditionalStyleCollection 
    extends java.lang.Object

Represents a collection of ConditionalStyle objects.
It is not possible to add or remove items from this collection. It contains permanent set of items: one item for each value of the ConditionalStyleType enumeration type.

Example:

Shows how to work with certain area styles of a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Create a table
Table table = builder.startTable();
builder.insertCell();
builder.write("Cell 1");
builder.insertCell();
builder.write("Cell 2");
builder.endRow();
builder.insertCell();
builder.write("Cell 3");
builder.insertCell();
builder.write("Cell 4");
builder.endTable();

// Create a custom table style
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");

// Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
// such as the cells being in the last row
// We can access these conditional styles by style type like this
tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);

// The same conditional style can be accessed by index
tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());

// It can also be found in the ConditionalStyles collection as an attribute
tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Apply padding and text formatting to conditional styles 
tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);

// List all possible style conditions
Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
while (enumerator.hasNext()) {
    ConditionalStyle currentStyle = enumerator.next();
    if (currentStyle != null) System.out.println(currentStyle.getType());
}

// Apply conditional style to the table
table.setStyle(tableStyle);

// Changes to the first row are enabled by the table's style options be default,
// but need to be manually enabled for some other parts, such as the last column/row
table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);

doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");

Property Getters/Setters Summary
ConditionalStylegetBottomLeftCell()
Gets the bottom left cell style.
ConditionalStylegetBottomRightCell()
Gets the bottom right cell style.
intgetCount()
Gets the number of conditional styles in the collection.
ConditionalStylegetEvenColumnBanding()
Gets the even column banding style.
ConditionalStylegetEvenRowBanding()
Gets the even row banding style.
ConditionalStylegetFirstColumn()
Gets the first column style.
ConditionalStylegetFirstRow()
Gets the first row style.
ConditionalStylegetLastColumn()
Gets the last column style.
ConditionalStylegetLastRow()
Gets the last row style.
ConditionalStylegetOddColumnBanding()
Gets the odd column banding style.
ConditionalStylegetOddRowBanding()
Gets the odd row banding style.
ConditionalStylegetTopLeftCell()
Gets the top left cell style.
ConditionalStylegetTopRightCell()
Gets the top right cell style.
ConditionalStyleget(int index)
Retrieves a ConditionalStyle object by index.
ConditionalStylegetByConditionalStyleType(int conditionalStyleType)
Retrieves a ConditionalStyle object by conditional style type.
 
Method Summary
voidclearFormatting()
Clears all conditional styles of the table style.
java.util.Iterator<ConditionalStyle>iterator()
Returns an enumerator object that can be used to iterate over all conditional styles in the collection.
 

    • Property Getters/Setters Detail

      • getBottomLeftCell

        public ConditionalStyle getBottomLeftCell()
        
        Gets the bottom left cell style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getBottomRightCell

        public ConditionalStyle getBottomRightCell()
        
        Gets the bottom right cell style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getCount

        public int getCount()
        
        Gets the number of conditional styles in the collection.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getEvenColumnBanding

        public ConditionalStyle getEvenColumnBanding()
        
        Gets the even column banding style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getEvenRowBanding

        public ConditionalStyle getEvenRowBanding()
        
        Gets the even row banding style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getFirstColumn

        public ConditionalStyle getFirstColumn()
        
        Gets the first column style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getFirstRow

        public ConditionalStyle getFirstRow()
        
        Gets the first row style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getLastColumn

        public ConditionalStyle getLastColumn()
        
        Gets the last column style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getLastRow

        public ConditionalStyle getLastRow()
        
        Gets the last row style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getOddColumnBanding

        public ConditionalStyle getOddColumnBanding()
        
        Gets the odd column banding style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getOddRowBanding

        public ConditionalStyle getOddRowBanding()
        
        Gets the odd row banding style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getTopLeftCell

        public ConditionalStyle getTopLeftCell()
        
        Gets the top left cell style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getTopRightCell

        public ConditionalStyle getTopRightCell()
        
        Gets the top right cell style.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • get

        public ConditionalStyle get(int index)
        
        Retrieves a ConditionalStyle object by index.
        Parameters:
        index - Zero-based index of the conditional style to retrieve.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
      • getByConditionalStyleType

        public ConditionalStyle getByConditionalStyleType(int conditionalStyleType)
        
        Retrieves a ConditionalStyle object by conditional style type.
        Parameters:
        conditionalStyleType - A ConditionalStyleType value.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");
    • Method Detail

      • clearFormatting

        public void clearFormatting()
        Clears all conditional styles of the table style.

        Example:

        Shows how to reset conditional table styles.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table and give it conditional styling on border colors based on the row being the first or last
        builder.startTable();
        builder.insertCell();
        builder.write("First row");
        builder.endRow();
        builder.insertCell();
        builder.write("Last row");
        builder.endTable();
        
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        tableStyle.getConditionalStyles().getFirstRow().getBorders().setColor(Color.RED);
        tableStyle.getConditionalStyles().getLastRow().getBorders().setColor(Color.BLUE);
        
        // Conditional styles can be cleared for specific parts of the table 
        tableStyle.getConditionalStyles().get(0).clearFormatting();
        Assert.assertEquals(tableStyle.getConditionalStyles().getFirstRow().getBorders().getColor().getRGB(), 0);
        
        // Also, they can be cleared for the entire table
        tableStyle.getConditionalStyles().clearFormatting();
        Assert.assertEquals(tableStyle.getConditionalStyles().getLastRow().getBorders().getColor().getRGB(), 0);
      • iterator

        public java.util.Iterator<ConditionalStyle> iterator()
        Returns an enumerator object that can be used to iterate over all conditional styles in the collection.

        Example:

        Shows how to work with certain area styles of a table.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a table
        Table table = builder.startTable();
        builder.insertCell();
        builder.write("Cell 1");
        builder.insertCell();
        builder.write("Cell 2");
        builder.endRow();
        builder.insertCell();
        builder.write("Cell 3");
        builder.insertCell();
        builder.write("Cell 4");
        builder.endTable();
        
        // Create a custom table style
        TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
        
        // Conditional styles are formatting changes that affect only some of the cells of the table based on a predicate,
        // such as the cells being in the last row
        // We can access these conditional styles by style type like this
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // The same conditional style can be accessed by index
        tableStyle.getConditionalStyles().get(0).getBorders().setColor(Color.BLACK);
        tableStyle.getConditionalStyles().get(0).getBorders().setLineStyle(LineStyle.DOT_DASH);
        Assert.assertEquals(ConditionalStyleType.FIRST_ROW, tableStyle.getConditionalStyles().get(0).getType());
        
        // It can also be found in the ConditionalStyles collection as an attribute
        tableStyle.getConditionalStyles().getFirstRow().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
        
        // Apply padding and text formatting to conditional styles 
        tableStyle.getConditionalStyles().getLastRow().setBottomPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setLeftPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setRightPadding(10.0);
        tableStyle.getConditionalStyles().getLastRow().setTopPadding(10.0);
        tableStyle.getConditionalStyles().getLastColumn().getFont().setBold(true);
        
        // List all possible style conditions
        Iterator<ConditionalStyle> enumerator = tableStyle.getConditionalStyles().iterator();
        while (enumerator.hasNext()) {
            ConditionalStyle currentStyle = enumerator.next();
            if (currentStyle != null) System.out.println(currentStyle.getType());
        }
        
        // Apply conditional style to the table
        table.setStyle(tableStyle);
        
        // Changes to the first row are enabled by the table's style options be default,
        // but need to be manually enabled for some other parts, such as the last column/row
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");