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 ]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. |