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);

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 table's cells
// based on a predicate, such as the cells being in the last row.
// Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
// 1 -  By style type:
tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);

// 2 -  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());

// 3 -  As a property:
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 the custom style, which contains all conditional styles, to the table.
table.setStyle(tableStyle);

// Our style applies some conditional styles by default.
Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
        table.getStyleOptions());

// We will need to enable all other styles ourselves via the "StyleOptions" property.
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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        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);
        
        Table table = 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");
        table.setStyle(tableStyle);
        
        // Set the table style to color the borders of the first row of the table in red.
        tableStyle.getConditionalStyles().getFirstRow().getBorders().setColor(Color.RED);
        
        // Set the table style to color the borders of the last row of the table in blue.
        tableStyle.getConditionalStyles().getLastRow().getBorders().setColor(Color.BLUE);
        
        // Below are two ways of using the "ClearFormatting" method to clear the conditional styles.
        // 1 -  Clear the conditional styles for a specific part of a table:
        tableStyle.getConditionalStyles().get(0).clearFormatting();
        
        Assert.assertEquals(0, tableStyle.getConditionalStyles().getFirstRow().getBorders().getColor().getRGB());
        
        // 2 -  Clear the conditional styles 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);
        
        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 table's cells
        // based on a predicate, such as the cells being in the last row.
        // Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
        // 1 -  By style type:
        tableStyle.getConditionalStyles().getByConditionalStyleType(ConditionalStyleType.FIRST_ROW).getShading().setBackgroundPatternColor(Color.BLUE);
        
        // 2 -  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());
        
        // 3 -  As a property:
        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 the custom style, which contains all conditional styles, to the table.
        table.setStyle(tableStyle);
        
        // Our style applies some conditional styles by default.
        Assert.assertEquals(TableStyleOptions.FIRST_ROW | TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS,
                table.getStyleOptions());
        
        // We will need to enable all other styles ourselves via the "StyleOptions" property.
        table.setStyleOptions(table.getStyleOptions() | TableStyleOptions.LAST_ROW | TableStyleOptions.LAST_COLUMN);
        
        doc.save(getArtifactsDir() + "Table.ConditionalStyles.docx");