Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package TC CC AC Ca Ce A I D V
fr.inrae.agroclim.indicators 1 0 1 0 1 100.0% 100.0% 100.0% 1
fr.inrae.agroclim.indicators.exception 4 2 2 5 3 50.0% 38.0% 12.0% 1
fr.inrae.agroclim.indicators.exception.type 5 3 2 1 3 40.0% 75.0% 15.000001% 1
fr.inrae.agroclim.indicators.model 18 12 6 7 9 33.0% 56.0% 10.0% 1
fr.inrae.agroclim.indicators.model.criteria 12 9 3 2 8 25.0% 80.0% 5.0% 1
fr.inrae.agroclim.indicators.model.criteria.visitor 3 0 3 1 2 100.0% 67.0% 67.0% 1
fr.inrae.agroclim.indicators.model.data 13 4 9 6 6 69.0% 50.0% 19.0% 1
fr.inrae.agroclim.indicators.model.data.climate 7 4 3 0 5 43.0% 100.0% 43.0% 1
fr.inrae.agroclim.indicators.model.data.phenology 7 6 1 0 9 14.0% 100.0% 14.0% 1
fr.inrae.agroclim.indicators.model.data.soil 6 3 3 0 6 50.0% 100.0% 50.0% 1
fr.inrae.agroclim.indicators.model.function.aggregation 2 0 2 0 4 100.0% 100.0% 100.0% 1
fr.inrae.agroclim.indicators.model.function.listener 2 0 2 0 3 100.0% 100.0% 100.0% 1
fr.inrae.agroclim.indicators.model.function.normalization 1 0 1 1 1 100.0% 50.0% 50.0% 1
fr.inrae.agroclim.indicators.model.indicator 14 10 4 3 12 29.0% 80.0% 9.0% 1
fr.inrae.agroclim.indicators.model.indicator.listener 4 1 3 1 4 75.0% 80.0% 55.0% 1
fr.inrae.agroclim.indicators.model.result 2 0 2 0 1 100.0% 100.0% 100.0% 1
fr.inrae.agroclim.indicators.resources 3 2 1 0 3 33.0% 100.0% 33.0% 1
fr.inrae.agroclim.indicators.util 5 3 2 1 7 40.0% 88.0% 27.000002% 1
fr.inrae.agroclim.indicators.xml 5 4 1 0 12 20.0% 100.0% 20.0% 1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

fr.inrae.agroclim.indicators

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.package-info
None None java.lang

fr.inrae.agroclim.indicators.exception

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 3 50.0% 38.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.exception.ErrorMessageException
fr.inrae.agroclim.indicators.exception.package-info
fr.inrae.agroclim.indicators.exception.IndicatorsErrorCategory
fr.inrae.agroclim.indicators.exception.IndicatorsException
fr.inrae.agroclim.indicators.exception.type
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.function.aggregation
fr.inrae.agroclim.indicators.model.indicator
java.io
java.lang
java.util

fr.inrae.agroclim.indicators.exception.type

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 40.0% 75.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.exception.type.CommonErrorType
fr.inrae.agroclim.indicators.exception.type.package-info
fr.inrae.agroclim.indicators.exception.type.ComputationErrorType
fr.inrae.agroclim.indicators.exception.type.ResourceErrorType
fr.inrae.agroclim.indicators.exception.type.XmlErrorType
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.exception
java.lang
java.util

fr.inrae.agroclim.indicators.model

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 9 33.0% 56.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.Computable
fr.inrae.agroclim.indicators.model.EvaluationState
fr.inrae.agroclim.indicators.model.HasParameters
fr.inrae.agroclim.indicators.model.Nameable
fr.inrae.agroclim.indicators.model.Quantifiable
fr.inrae.agroclim.indicators.model.package-info
fr.inrae.agroclim.indicators.model.EvaluationState$1
fr.inrae.agroclim.indicators.model.EvaluationState$2
fr.inrae.agroclim.indicators.model.EvaluationState$3
fr.inrae.agroclim.indicators.model.EvaluationType
fr.inrae.agroclim.indicators.model.ExpressionParameter
fr.inrae.agroclim.indicators.model.Knowledge$1
fr.inrae.agroclim.indicators.model.LocalDateTimeAdapter
fr.inrae.agroclim.indicators.model.LocalizedString
fr.inrae.agroclim.indicators.model.Note
fr.inrae.agroclim.indicators.model.Parameter
fr.inrae.agroclim.indicators.model.TimeScale
fr.inrae.agroclim.indicators.model.Unit
fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.data.climate
fr.inrae.agroclim.indicators.model.data.phenology
fr.inrae.agroclim.indicators.model.data.soil
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.indicator.listener
fr.inrae.agroclim.indicators.exception
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.util
jakarta.xml.bind.annotation.adapters
java.io
java.lang
java.time
java.util

fr.inrae.agroclim.indicators.model.criteria

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 8 25.0% 80.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.criteria.Criteria
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator
fr.inrae.agroclim.indicators.model.criteria.package-info
fr.inrae.agroclim.indicators.model.criteria.CompositeCriteria$1
fr.inrae.agroclim.indicators.model.criteria.LogicalOperator
fr.inrae.agroclim.indicators.model.criteria.NoCriteria
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$1
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$2
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$3
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$4
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$5
fr.inrae.agroclim.indicators.model.criteria.RelationalOperator$6
fr.inrae.agroclim.indicators.model.criteria.visitor
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.exception
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.criteria.visitor
fr.inrae.agroclim.indicators.model.data
java.beans
java.io
java.lang
java.util

fr.inrae.agroclim.indicators.model.criteria.visitor

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 100.0% 67.0% 67.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.criteria.visitor.CriteriaVisitable
fr.inrae.agroclim.indicators.model.criteria.visitor.CriteriaVisitor
fr.inrae.agroclim.indicators.model.criteria.visitor.package-info
None fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.criteria
java.lang

fr.inrae.agroclim.indicators.model.data

Afferent Couplings Efferent Couplings Abstractness Instability Distance
6 6 69.0% 50.0% 19.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.data.DailyData
fr.inrae.agroclim.indicators.model.data.Data
fr.inrae.agroclim.indicators.model.data.DataLoadingListener
fr.inrae.agroclim.indicators.model.data.HasDataLoadingListener
fr.inrae.agroclim.indicators.model.data.HasProvidedVariables
fr.inrae.agroclim.indicators.model.data.Resource
fr.inrae.agroclim.indicators.model.data.ResourcesLoader
fr.inrae.agroclim.indicators.model.data.UseVariables
fr.inrae.agroclim.indicators.model.data.package-info
fr.inrae.agroclim.indicators.model.data.DataLoadingListener$DataFile
fr.inrae.agroclim.indicators.model.data.DataLoadingListenerHandler
fr.inrae.agroclim.indicators.model.data.Variable
fr.inrae.agroclim.indicators.model.data.Variable$Type
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.data.climate
fr.inrae.agroclim.indicators.model.data.phenology
fr.inrae.agroclim.indicators.model.data.soil
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model
java.io
java.lang
java.util
javax.swing.event
org.apache.logging.log4j

fr.inrae.agroclim.indicators.model.data.climate

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 5 43.0% 100.0% 43.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.data.climate.ClimateLoader
fr.inrae.agroclim.indicators.model.data.climate.EtpCalculator
fr.inrae.agroclim.indicators.model.data.climate.package-info
fr.inrae.agroclim.indicators.model.data.climate.ClimateFileLoader$1
fr.inrae.agroclim.indicators.model.data.climate.ClimateLoaderProxy
fr.inrae.agroclim.indicators.model.data.climate.ClimaticDailyData$1
fr.inrae.agroclim.indicators.model.data.climate.EtpPenmanMonteithFAO
None fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.data
java.io
java.lang
java.util

fr.inrae.agroclim.indicators.model.data.phenology

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 14.0% 100.0% 14.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.data.phenology.package-info
fr.inrae.agroclim.indicators.model.data.phenology.PhaseEnd
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalModelType$1
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalModelType$2
fr.inrae.agroclim.indicators.model.data.phenology.PhenologicalModelType$3
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyFileLoader
fr.inrae.agroclim.indicators.model.data.phenology.PhenologyLoaderProxy
None com.fasterxml.jackson.core
com.fasterxml.jackson.databind
com.fasterxml.jackson.dataformat.csv
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.data
java.io
java.lang
java.util
org.apache.logging.log4j

fr.inrae.agroclim.indicators.model.data.soil

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 50.0% 100.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.data.soil.HasSoilCalculatorParams
fr.inrae.agroclim.indicators.model.data.soil.SoilLoader
fr.inrae.agroclim.indicators.model.data.soil.package-info
fr.inrae.agroclim.indicators.model.data.soil.SoilFileLoader
fr.inrae.agroclim.indicators.model.data.soil.SoilLoaderProxy
fr.inrae.agroclim.indicators.model.data.soil.SoilResource
None fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.data
java.io
java.lang
java.util
org.apache.logging.log4j

fr.inrae.agroclim.indicators.model.function.aggregation

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.function.aggregation.AggregationFunction
fr.inrae.agroclim.indicators.model.function.aggregation.package-info
None None fr.inrae.agroclim.indicators.exception
java.io
java.lang
java.util

fr.inrae.agroclim.indicators.model.function.listener

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.function.listener.AggregationFunctionListener
fr.inrae.agroclim.indicators.model.function.listener.package-info
None None fr.inrae.agroclim.indicators.model.indicator
java.lang
java.util

fr.inrae.agroclim.indicators.model.function.normalization

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 1 100.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.function.normalization.package-info
None fr.inrae.agroclim.indicators.model.indicator
java.lang

fr.inrae.agroclim.indicators.model.indicator

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 12 29.0% 80.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.indicator.Detailable
fr.inrae.agroclim.indicators.model.indicator.SimpleIndicator
fr.inrae.agroclim.indicators.model.indicator.SimpleIndicatorWithoutParameters
fr.inrae.agroclim.indicators.model.indicator.package-info
fr.inrae.agroclim.indicators.model.indicator.Average
fr.inrae.agroclim.indicators.model.indicator.AverageOfDiff
fr.inrae.agroclim.indicators.model.indicator.DayOfYear
fr.inrae.agroclim.indicators.model.indicator.IndicatorCategory
fr.inrae.agroclim.indicators.model.indicator.Max
fr.inrae.agroclim.indicators.model.indicator.MaxWaveLength
fr.inrae.agroclim.indicators.model.indicator.Min
fr.inrae.agroclim.indicators.model.indicator.NumberOfDays
fr.inrae.agroclim.indicators.model.indicator.PhaseLength
fr.inrae.agroclim.indicators.model.indicator.Sum
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.function.listener
fr.inrae.agroclim.indicators.model.indicator.listener
fr.inrae.agroclim.indicators.exception
fr.inrae.agroclim.indicators.exception.type
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.function.normalization
fr.inrae.agroclim.indicators.model.indicator.listener
java.io
java.lang
java.util
java.util.stream
org.apache.logging.log4j

fr.inrae.agroclim.indicators.model.indicator.listener

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 4 75.0% 80.0% 55.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.indicator.listener.HasIndicatorListener
fr.inrae.agroclim.indicators.model.indicator.listener.IndicatorListener
fr.inrae.agroclim.indicators.model.indicator.listener.package-info
fr.inrae.agroclim.indicators.model.indicator.listener.IndicatorEvent$Type
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
java.lang
java.util

fr.inrae.agroclim.indicators.model.result

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.model.result.Result
fr.inrae.agroclim.indicators.model.result.package-info
None None java.lang

fr.inrae.agroclim.indicators.resources

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 33.0% 100.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.resources.package-info
fr.inrae.agroclim.indicators.resources.Messages
fr.inrae.agroclim.indicators.resources.Version
None java.lang
java.time
java.util

fr.inrae.agroclim.indicators.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 7 40.0% 88.0% 27.000002%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.util.PathUtils
fr.inrae.agroclim.indicators.util.package-info
fr.inrae.agroclim.indicators.util.DateUtils
fr.inrae.agroclim.indicators.util.StringUtils
fr.inrae.agroclim.indicators.util.Utf8BufferedWriter
fr.inrae.agroclim.indicators.model
java.io
java.lang
java.nio.charset
java.nio.file
java.time
java.util
java.util.regex

fr.inrae.agroclim.indicators.xml

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 20.0% 100.0% 20.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.inrae.agroclim.indicators.xml.package-info
fr.inrae.agroclim.indicators.xml.DtdResolver
fr.inrae.agroclim.indicators.xml.UnmarshallerBuilder
fr.inrae.agroclim.indicators.xml.XMLUtil$CustomLSInput
fr.inrae.agroclim.indicators.xml.XMLUtil$CustomLSResourceResolver
None jakarta.xml.bind
java.io
java.lang
java.nio.charset
java.util
javax.xml
javax.xml.parsers
javax.xml.transform
javax.xml.transform.sax
org.apache.logging.log4j
org.w3c.dom.ls
org.xml.sax

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package Package Dependencies
fr.inrae.agroclim.indicators.model fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.criteria fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.criteria.visitor fr.inrae.agroclim.indicators.model.criteria
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.data fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.data.climate fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.data.phenology fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.data.soil fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model.function.listener fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.indicator fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.indicator.listener fr.inrae.agroclim.indicators.model.indicator
fr.inrae.agroclim.indicators.model.data
fr.inrae.agroclim.indicators.model
fr.inrae.agroclim.indicators.model.indicator

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
Instability The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
Distance The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
Cycles Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.