Introduction
This page is a code analysis report about Jasper Report auto-generated by XDepend.
In this report, you will find useful project metrics about the 3.6.0 release of Jasper Report such as the most used types.
This report detailled also what has changed since the previous release 3.5.3 and also the evolution between abstractness and instability.
You may also leave comments to point out more information about this release
To get explanations concerning these metrics, go to the XDepend home page.
About this report
- Application name:
- Jasper Report
- Releases:
- 3.6.0, 3.5.3
- Published:
- 09/30/2009 16:45:56
- Credit:
- XDepend 1.0.1 (Pro Edition)
Project Metrics
- Number of jars:
- 1
- Number of types:
- 1559
- Number of classes:
- 1311
- Number of abstract classes:
- 96
- Number of interfaces:
- 248
- Number of value types:
- 0
- Number of exception classes:
- 8
- Number of attribute classes:
- 0
- Number of delegate classes:
- 0
- Number of enumerations classes:
- 0
- Number of generic type definitions:
- 0
- Number of generic method definitions:
- 0
- Number of IL instructions:
- 281075
- Percentage of public types:
- 84.67%
- Percentage of public methods:
- 78.03%
- Percentage of classes with at least one public field:
- 15.14%
| Stat | Occurrences | Avg | StdDev | Max |
|---|---|---|---|---|
| Properties on Interfaces | 248 Interfaces | 0 | 0 | 0 properties on net.sf.jasperreports.charts.JRXAxisFormat |
| Methods on Interfaces | 248 Interfaces | 5.81 | 11.87 | 149 methods on net.sf.jasperreports.engine.JRStyle |
| Arguments on Methods on Interfaces | 1441 Methods | 0.38 | 0.6 | 4 arguments on net.sf.jasperreports.engine.fill.JRTextMeasurer.measure(JRStyledText,int,int,boolean) |
| Public Properties on Classes | 1311 Classes | 1.13 | 3.16 | 39 public properties on net.sf.jasperreports.engine.xml.JRXmlConstants |
| Public Methods on Classes | 1311 Classes | 7.85 | 16.62 | 182 public methods on net.sf.jasperreports.engine.base.JRBasePrintText |
| Arguments on Public Methods on Classes | 10285 Methods | 0.67 | 0.87 | 18 arguments on net.sf.jasperreports.engine.export.TextRenderer.render(Graphics2D,int,int,int,int,int,int,int,int,float,byte,byte,float,float,int,boolean,JRStyledText,String) |
| BC Instructions in non-abstract Methods | 13454 Methods | 20.89 | 66.27 | 5051 BC instructions in net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.addChartRules(Digester) |
| Cyclomatic complexity on non abstract Methods | 13454 Methods | 2.1 | 4.75 | CC = 373 for net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.addChartRules(Digester) |
Jars Metrics
| Jar | # Types | # Abstract Types | # BC Inst | Afferent Coupling | Efferent Coupling | Relational Cohesion | Instability | Abstractness | Distance |
|---|---|---|---|---|---|---|---|---|---|
| jasperreports v1.0 | 1559 | 343 | 281075 | 0 | 612 | 5.62 | 1 | 0.22 | 0.22 |
Abstractness Versus Instability
![]() | ![]() |
| Current | Previous |
What happened since the previous release
Here is an overview of what has changed between the two versions analyzed. You can click on a line to have the full list of elements matching the rule.
API Breaking Changes: Methods : 0% (1/17199)
WARN IF Count > 0 IN SELECT METHODS WHERE IsPublic AND (VisibilityWasChanged OR WasRemoved)
- net.sf.jasperreports.engine.export.JRXlsExporter.JRXlsExporter()
API Breaking Changes: Interfaces : 0% (2/2175)
WARN IF Count > 0 IN SELECT TYPES
WHERE IsInterface AND IsPublic AND (WasChanged AND !CommentsWereChanged)
- net.sf.jasperreports.engine.component.FillContext
- net.sf.jasperreports.charts.ChartContext
Methods added : 0% (24/17238)
WARN IF Count > 0 IN SELECT METHODS WHERE WasAdded AND IsPublic
- net.sf.jasperreports.engine.fill.JRFillChart$FillChartContext.getTimeZone()
- net.sf.jasperreports.engine.fill.JRFillComponentElement.getReportResourceBundle()
- net.sf.jasperreports.engine.fill.JRFillComponentElement.getReportLocale()
- net.sf.jasperreports.engine.fill.JRFillComponentElement.getReportTimezone()
- net.sf.jasperreports.engine.fill.JRFillChart.getTimeZone()
- net.sf.jasperreports.engine.component.FillContext.getReportTimezone()
- net.sf.jasperreports.engine.component.FillContext.getReportResourceBundle()
- net.sf.jasperreports.engine.component.FillContext.getReportLocale()
- net.sf.jasperreports.engine.convert.ConvertChartContext.getTimeZone()
- net.sf.jasperreports.engine.util.BigDecimalUtils.BigDecimalUtils()
- net.sf.jasperreports.engine.util.BigDecimalUtils.divide(BigDecimal,BigDecimal)
- net.sf.jasperreports.engine.util.Java14BigDecimalHandler.divide(BigDecimal,BigDecimal)
- net.sf.jasperreports.engine.util.Java14BigDecimalHandler.Java14BigDecimalHandler()
- net.sf.jasperreports.engine.util.BigDecimalHandler.divide(BigDecimal,BigDecimal)
- net.sf.jasperreports.engine.util.Java15BigDecimalHandler.Java15BigDecimalHandler(int)
- net.sf.jasperreports.engine.util.Java15BigDecimalHandler.divide(BigDecimal,BigDecimal)
- net.sf.jasperreports.engine.util.Java15BigDecimalHandler.Java15BigDecimalHandler()
- net.sf.jasperreports.engine.util.FileBufferedWriter.dispose()
- net.sf.jasperreports.engine.util.FileBufferedWriter.close()
- net.sf.jasperreports.engine.util.FileBufferedWriter.write(char[],int,int)
- net.sf.jasperreports.engine.util.FileBufferedWriter.flush()
- net.sf.jasperreports.engine.util.FileBufferedWriter.FileBufferedWriter()
- net.sf.jasperreports.engine.util.FileBufferedWriter.writeData(Writer)
- net.sf.jasperreports.charts.ChartContext.getTimeZone()
Methods removed : 0% (2/17199)
WARN IF Count > 0 IN SELECT METHODS WHERE WasRemoved
- net.sf.jasperreports.engine.export.JRRtfExporter.createColorAndFontEntries()
- net.sf.jasperreports.engine.export.JRXlsExporter$1.JRXlsExporter$1(JRXlsExporter,JRExporterGridCell,int,int,JRXlsExporter$StyleInfo,JRStyledText,short,JRPrintText)
Types Metrics
TypeRank values are computed by applying the Google PageRank algorithm on the graph of types' dependencies. A homothety of center 0.15 is applied to make it so that the average of TypeRank is 1.
Types with high TypeRank should be more carefully tested because bugs in such types will likely be more catastrophic. It is a value calculated only by XDepend
| Rank | Type | Namespace |
|---|---|---|
| 26.46 | JRExpression | net.sf.jasperreports.engine |
| 23.14 | JRException | net.sf.jasperreports.engine |
| 22.74 | JRCloneable | net.sf.jasperreports.engine |
| 18.44 | JRBaseFactory | net.sf.jasperreports.engine.xml |
| 13.08 | JRRuntimeException | net.sf.jasperreports.engine |
| 12.4 | JRCalculable | net.sf.jasperreports.engine.fill |
| 10.89 | JRPrintElement | net.sf.jasperreports.engine |
| 9.82 | JRStyle | net.sf.jasperreports.engine |
| 8.99 | AbstractValueProvider | net.sf.jasperreports.engine.fill |
| 7.49 | JRFont | net.sf.jasperreports.engine |
| 7.49 | JRPropertyChangeSupport | net.sf.jasperreports.engine.design.events |
| 7.11 | JRBaseObjectFactory | net.sf.jasperreports.engine.base |
| 6.97 | JRLineBox | net.sf.jasperreports.engine |
| 6.81 | JRAbstractObjectFactory | net.sf.jasperreports.engine |






