Class PercentageColumn
java.lang.Object
org.jacoco.report.internal.html.table.PercentageColumn
- All Implemented Interfaces:
IColumnRenderer
Column that prints the coverage percentage for each item and the total
percentage in the footer. The implementation is stateless, instances might be
used in parallel.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Comparator
<ITableItem> private final ICoverageNode.CounterEntity
private final NumberFormat
-
Constructor Summary
ConstructorsConstructorDescriptionPercentageColumn
(ICoverageNode.CounterEntity entity, Locale locale) Creates a new column that is based on theICounter
for the given entity. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
cell
(HTMLElement td, ICoverageNode node) void
footer
(HTMLElement td, ICoverageNode total, Resources resources, ReportOutputFolder base) Renders the footer for this column.private String
format
(double ratio) Ratio 199/(1+199)=0.995 must be displayed as "99%", not as "100%".Returns the comparator to sort this table column.boolean
init
(List<? extends ITableItem> items, ICoverageNode total) Initializes the column before any output method is called.void
item
(HTMLElement td, ITableItem item, Resources resources, ReportOutputFolder base) Renders a single item in this column.
-
Field Details
-
entity
-
percentageFormat
-
comparator
-
-
Constructor Details
-
PercentageColumn
Creates a new column that is based on theICounter
for the given entity.- Parameters:
entity
- counter entity for this columnlocale
- locale for rendering numbers
-
-
Method Details
-
init
Description copied from interface:IColumnRenderer
Initializes the column before any output method is called.- Specified by:
init
in interfaceIColumnRenderer
- Parameters:
items
- all items that will be displayed in the tabletotal
- the summary of all coverage data items in the table- Returns:
true
if the column should be visible
-
item
public void item(HTMLElement td, ITableItem item, Resources resources, ReportOutputFolder base) throws IOException Description copied from interface:IColumnRenderer
Renders a single item in this column.- Specified by:
item
in interfaceIColumnRenderer
- Parameters:
td
- the parent table cellitem
- the item to displayresources
- static resources that might be referencedbase
- base folder of the table- Throws:
IOException
- in case of IO problems with the element output
-
cell
- Throws:
IOException
-
format
Ratio 199/(1+199)=0.995 must be displayed as "99%", not as "100%". UnfortunatelyNumberFormat
usesRoundingMode.HALF_EVEN
by default and ability to change available only starting from JDK 6, so perform rounding usingRoundingMode.FLOOR
before formatting. -
getComparator
Description copied from interface:IColumnRenderer
Returns the comparator to sort this table column.- Specified by:
getComparator
in interfaceIColumnRenderer
- Returns:
- comparator for this column
-