com.aspose.words

Class ConditionalStyle

  • java.lang.Object
    • com.aspose.words.ConditionalStyle
  • All Implemented Interfaces:
    java.lang.Cloneable
    public class ConditionalStyle 
    extends java.lang.Object

Represents special formatting applied to some area of a table with assigned table 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");

Property Getters/Setters Summary
BorderCollectiongetBorders()
Gets the collection of default cell borders for the conditional style.
doublegetBottomPadding()
void
setBottomPadding(doublevalue)
           Gets or sets the amount of space (in points) to add below the contents of table cells.
FontgetFont()
Gets the character formatting of the conditional style.
doublegetLeftPadding()
void
setLeftPadding(doublevalue)
           Gets or sets the amount of space (in points) to add to the left of the contents of table cells.
ParagraphFormatgetParagraphFormat()
Gets the paragraph formatting of the conditional style.
doublegetRightPadding()
void
setRightPadding(doublevalue)
           Gets or sets the amount of space (in points) to add to the right of the contents of table cells.
ShadinggetShading()
Gets a Shading object that refers to the shading formatting for this conditional style.
doublegetTopPadding()
void
setTopPadding(doublevalue)
           Gets or sets the amount of space (in points) to add above the contents of table cells.
intgetType()
Gets table area to which this conditional style relates. The value of the property is ConditionalStyleType integer constant.
 
Method Summary
voidclearFormatting()
Clears formatting of this conditional style.
booleanequals(java.lang.Object obj)
inthashCode()
Calculates hash code for this object.
 

    • Property Getters/Setters Detail

      • getBorders

        public BorderCollection getBorders()
        
        Gets the collection of default cell borders for the conditional 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");
      • getBottomPadding/setBottomPadding

        public double getBottomPadding() / public void setBottomPadding(double value)
        
        Gets or sets the amount of space (in points) to add below the contents of table cells.

        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");
      • getFont

        public Font getFont()
        
        Gets the character formatting of the conditional 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");
      • getLeftPadding/setLeftPadding

        public double getLeftPadding() / public void setLeftPadding(double value)
        
        Gets or sets the amount of space (in points) to add to the left of the contents of table cells.

        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");
      • getParagraphFormat

        public ParagraphFormat getParagraphFormat()
        
        Gets the paragraph formatting of the conditional 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");
      • getRightPadding/setRightPadding

        public double getRightPadding() / public void setRightPadding(double value)
        
        Gets or sets the amount of space (in points) to add to the right of the contents of table cells.

        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");
      • getShading

        public Shading getShading()
        
        Gets a Shading object that refers to the shading formatting for this conditional 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");
      • getTopPadding/setTopPadding

        public double getTopPadding() / public void setTopPadding(double value)
        
        Gets or sets the amount of space (in points) to add above the contents of table cells.

        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");
      • getType

        public int getType()
        
        Gets table area to which this conditional style relates. The value of the property is ConditionalStyleType integer constant.

        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 formatting of this conditional 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);
      • equals

        public boolean equals(java.lang.Object obj)
      • hashCode

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