[ 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
eu.fbk.knowledgestore 40 20 20 1 14 50.0% 93.0% 43.0% 1
eu.fbk.knowledgestore.data 126 116 10 5 41 8.0% 89.0% 3.0% 1
eu.fbk.knowledgestore.internal 26 26 0 3 23 0.0% 88.0% 12.0% 1
eu.fbk.knowledgestore.internal.jaxrs 9 9 0 0 24 0.0% 100.0% 0.0% 1
eu.fbk.knowledgestore.internal.rdf 37 34 3 2 26 8.0% 93.0% 1.0% 1
eu.fbk.knowledgestore.vocabulary 10 9 1 3 3 10.0% 50.0% 40.0% 1
org.jaxen.expr 1 0 1 1 5 100.0% 83.0% 83.0% 1

Packages

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

eu.fbk.knowledgestore

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 14 50.0% 93.0% 43.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
eu.fbk.knowledgestore.AbstractKnowledgeStore
eu.fbk.knowledgestore.AbstractSession
eu.fbk.knowledgestore.ForwardingKnowledgeStore
eu.fbk.knowledgestore.ForwardingSession
eu.fbk.knowledgestore.KnowledgeStore
eu.fbk.knowledgestore.Operation
eu.fbk.knowledgestore.Operation$Count
eu.fbk.knowledgestore.Operation$Create
eu.fbk.knowledgestore.Operation$Delete
eu.fbk.knowledgestore.Operation$Download
eu.fbk.knowledgestore.Operation$Match
eu.fbk.knowledgestore.Operation$Merge
eu.fbk.knowledgestore.Operation$Retrieve
eu.fbk.knowledgestore.Operation$Sparql
eu.fbk.knowledgestore.Operation$SparqlDelete
eu.fbk.knowledgestore.Operation$SparqlUpdate
eu.fbk.knowledgestore.Operation$Update
eu.fbk.knowledgestore.Operation$Upload
eu.fbk.knowledgestore.Session
eu.fbk.knowledgestore.package-info
eu.fbk.knowledgestore.AbstractSession$1
eu.fbk.knowledgestore.AbstractSession$10
eu.fbk.knowledgestore.AbstractSession$11
eu.fbk.knowledgestore.AbstractSession$12
eu.fbk.knowledgestore.AbstractSession$13
eu.fbk.knowledgestore.AbstractSession$14
eu.fbk.knowledgestore.AbstractSession$2
eu.fbk.knowledgestore.AbstractSession$3
eu.fbk.knowledgestore.AbstractSession$4
eu.fbk.knowledgestore.AbstractSession$5
eu.fbk.knowledgestore.AbstractSession$6
eu.fbk.knowledgestore.AbstractSession$7
eu.fbk.knowledgestore.AbstractSession$8
eu.fbk.knowledgestore.AbstractSession$9
eu.fbk.knowledgestore.Operation$1
eu.fbk.knowledgestore.OperationException
eu.fbk.knowledgestore.Outcome
eu.fbk.knowledgestore.Outcome$1
eu.fbk.knowledgestore.Outcome$2
eu.fbk.knowledgestore.Outcome$Status
eu.fbk.knowledgestore.internal.jaxrs
com.google.common.base
com.google.common.collect
com.google.common.util.concurrent
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.vocabulary
java.io
java.lang
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.regex
org.openrdf.model
org.openrdf.query
org.slf4j

eu.fbk.knowledgestore.data

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 41 8.0% 89.0% 3.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
eu.fbk.knowledgestore.data.Criteria
eu.fbk.knowledgestore.data.Dictionary
eu.fbk.knowledgestore.data.Handler
eu.fbk.knowledgestore.data.Stream
eu.fbk.knowledgestore.data.Stream$AbstractIterator
eu.fbk.knowledgestore.data.Stream$DelegatingStream
eu.fbk.knowledgestore.data.Stream$ProcessingStream
eu.fbk.knowledgestore.data.XPath
eu.fbk.knowledgestore.data.XPathFunction
eu.fbk.knowledgestore.data.package-info
eu.fbk.knowledgestore.data.Criteria$1
eu.fbk.knowledgestore.data.Criteria$Compose
eu.fbk.knowledgestore.data.Criteria$Init
eu.fbk.knowledgestore.data.Criteria$Max
eu.fbk.knowledgestore.data.Criteria$Min
eu.fbk.knowledgestore.data.Criteria$Overwrite
eu.fbk.knowledgestore.data.Criteria$Union
eu.fbk.knowledgestore.data.Criteria$Update
eu.fbk.knowledgestore.data.Data
eu.fbk.knowledgestore.data.Data$1
eu.fbk.knowledgestore.data.Data$NamespaceCombinedMap
eu.fbk.knowledgestore.data.Data$NamespaceCombinedMap$EntrySet
eu.fbk.knowledgestore.data.Data$NamespaceCombinedMap$EntrySet$1
eu.fbk.knowledgestore.data.Data$NamespaceCombinedMap$EntrySet$2
eu.fbk.knowledgestore.data.Data$NamespaceMap
eu.fbk.knowledgestore.data.Data$NamespaceMap$EntrySet
eu.fbk.knowledgestore.data.Data$NamespaceMap$EntrySet$1
eu.fbk.knowledgestore.data.Data$NamespaceMap$EntrySet$EntryWrapper
eu.fbk.knowledgestore.data.Data$PartialOrdering
eu.fbk.knowledgestore.data.Data$TotalOrdering
eu.fbk.knowledgestore.data.Dictionary$1
eu.fbk.knowledgestore.data.Dictionary$HadoopDictionary
eu.fbk.knowledgestore.data.Dictionary$LocalDictionary
eu.fbk.knowledgestore.data.ParseException
eu.fbk.knowledgestore.data.Record
eu.fbk.knowledgestore.data.Record$1
eu.fbk.knowledgestore.data.Record$2
eu.fbk.knowledgestore.data.Record$Decoder
eu.fbk.knowledgestore.data.Record$Decoder$Node
eu.fbk.knowledgestore.data.Record$Encoder
eu.fbk.knowledgestore.data.Representation
eu.fbk.knowledgestore.data.Representation$ReaderInputStream
eu.fbk.knowledgestore.data.Serializer
eu.fbk.knowledgestore.data.Smaz
eu.fbk.knowledgestore.data.Stream$1
eu.fbk.knowledgestore.data.Stream$2
eu.fbk.knowledgestore.data.Stream$3
eu.fbk.knowledgestore.data.Stream$4
eu.fbk.knowledgestore.data.Stream$5
eu.fbk.knowledgestore.data.Stream$6
eu.fbk.knowledgestore.data.Stream$CheckedIterator
eu.fbk.knowledgestore.data.Stream$ChunkStream
eu.fbk.knowledgestore.data.Stream$ChunkStream$1
eu.fbk.knowledgestore.data.Stream$ChunkStream$2
eu.fbk.knowledgestore.data.Stream$ConcatStream
eu.fbk.knowledgestore.data.Stream$ConcatStream$1
eu.fbk.knowledgestore.data.Stream$ConcatStream$2
eu.fbk.knowledgestore.data.Stream$ConcatStream$2$1
eu.fbk.knowledgestore.data.Stream$DistinctStream
eu.fbk.knowledgestore.data.Stream$EmptyStream
eu.fbk.knowledgestore.data.Stream$FilterStream
eu.fbk.knowledgestore.data.Stream$IterableStream
eu.fbk.knowledgestore.data.Stream$IterationStream
eu.fbk.knowledgestore.data.Stream$IterationStream$1
eu.fbk.knowledgestore.data.Stream$IteratorStream
eu.fbk.knowledgestore.data.Stream$PathComparator
eu.fbk.knowledgestore.data.Stream$ProcessingStream$1
eu.fbk.knowledgestore.data.Stream$ProcessingStream$2
eu.fbk.knowledgestore.data.Stream$ProcessingStream$3
eu.fbk.knowledgestore.data.Stream$ProcessingStream$4
eu.fbk.knowledgestore.data.Stream$ProcessingStream$5
eu.fbk.knowledgestore.data.Stream$SingletonStream
eu.fbk.knowledgestore.data.Stream$SliceStream
eu.fbk.knowledgestore.data.Stream$State
eu.fbk.knowledgestore.data.Stream$ToHandlerIterator
eu.fbk.knowledgestore.data.Stream$TrackStream
eu.fbk.knowledgestore.data.Stream$TrackStream$1
eu.fbk.knowledgestore.data.Stream$TrackStream$2
eu.fbk.knowledgestore.data.Stream$TransformElementStream
eu.fbk.knowledgestore.data.Stream$TransformPathStream
eu.fbk.knowledgestore.data.Stream$TransformSequenceStream
eu.fbk.knowledgestore.data.XPath$1
eu.fbk.knowledgestore.data.XPath$2
eu.fbk.knowledgestore.data.XPath$3
eu.fbk.knowledgestore.data.XPath$LenientXPath
eu.fbk.knowledgestore.data.XPath$SerializedForm
eu.fbk.knowledgestore.data.XPath$StrictXPath
eu.fbk.knowledgestore.data.XPath$Support
eu.fbk.knowledgestore.data.XPathFunction$1
eu.fbk.knowledgestore.data.XPathFunction$AbsFunction
eu.fbk.knowledgestore.data.XPathFunction$AvgFunction
eu.fbk.knowledgestore.data.XPathFunction$CompareFunction
eu.fbk.knowledgestore.data.XPathFunction$CurrentDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$DateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$DayFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$DistinctValuesFunction
eu.fbk.knowledgestore.data.XPathFunction$EmptyFunction
eu.fbk.knowledgestore.data.XPathFunction$EscapeURIFunction
eu.fbk.knowledgestore.data.XPathFunction$ExistsFunction
eu.fbk.knowledgestore.data.XPathFunction$HoursFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$IndexOfFunction
eu.fbk.knowledgestore.data.XPathFunction$InsertBeforeFunction
eu.fbk.knowledgestore.data.XPathFunction$MatchesFunction
eu.fbk.knowledgestore.data.XPathFunction$MaxFunction
eu.fbk.knowledgestore.data.XPathFunction$MinFunction
eu.fbk.knowledgestore.data.XPathFunction$MinutesFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$MonthFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$PowerFunction
eu.fbk.knowledgestore.data.XPathFunction$RemoveFunction
eu.fbk.knowledgestore.data.XPathFunction$ReplaceFunction
eu.fbk.knowledgestore.data.XPathFunction$ReverseFunction
eu.fbk.knowledgestore.data.XPathFunction$SecondsFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$SequenceFunction
eu.fbk.knowledgestore.data.XPathFunction$StrFunction
eu.fbk.knowledgestore.data.XPathFunction$StrdtFunction
eu.fbk.knowledgestore.data.XPathFunction$StringJoinFunction
eu.fbk.knowledgestore.data.XPathFunction$StrlangFunction
eu.fbk.knowledgestore.data.XPathFunction$SubsequenceFunction
eu.fbk.knowledgestore.data.XPathFunction$TimeZoneFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathFunction$TokenizeFunction
eu.fbk.knowledgestore.data.XPathFunction$URIFunction
eu.fbk.knowledgestore.data.XPathFunction$YearFromDateTimeFunction
eu.fbk.knowledgestore.data.XPathNavigator
eu.fbk.knowledgestore.data.XPathNavigator$ChildIterator
eu.fbk.knowledgestore.data.XPathNavigator$Element
eu.fbk.knowledgestore.data.XPathNavigator$ParentIterator
eu.fbk.knowledgestore
eu.fbk.knowledgestore.internal
eu.fbk.knowledgestore.internal.jaxrs
eu.fbk.knowledgestore.internal.rdf
org.jaxen.expr
com.google.common.base
com.google.common.cache
com.google.common.collect
com.google.common.hash
com.google.common.io
com.google.common.net
com.google.common.primitives
com.google.common.util.concurrent
eu.fbk.knowledgestore.internal
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.vocabulary
eu.fbk.rdfpro.util
info.aduna.iteration
java.io
java.lang
java.lang.reflect
java.math
java.net
java.nio
java.nio.charset
java.nio.file
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.regex
java.util.zip
javax.xml.datatype
org.apache.hadoop.conf
org.apache.hadoop.fs
org.jaxen
org.jaxen.expr
org.jaxen.function
org.jaxen.function.ext
org.jaxen.saxpath
org.jaxen.saxpath.helpers
org.openrdf.model
org.openrdf.model.impl
org.openrdf.model.vocabulary
org.openrdf.query
org.openrdf.rio
org.slf4j

eu.fbk.knowledgestore.internal

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 23 0.0% 88.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None eu.fbk.knowledgestore.internal.CommandLine
eu.fbk.knowledgestore.internal.CommandLine$1
eu.fbk.knowledgestore.internal.CommandLine$Exception
eu.fbk.knowledgestore.internal.CommandLine$Parser
eu.fbk.knowledgestore.internal.CommandLine$Type
eu.fbk.knowledgestore.internal.Compression
eu.fbk.knowledgestore.internal.Compression$1
eu.fbk.knowledgestore.internal.Compression$2
eu.fbk.knowledgestore.internal.Compression$3
eu.fbk.knowledgestore.internal.Compression$4
eu.fbk.knowledgestore.internal.Compression$DestroyHook
eu.fbk.knowledgestore.internal.Logging
eu.fbk.knowledgestore.internal.Logging$BoldConverter
eu.fbk.knowledgestore.internal.Logging$ContextConverter
eu.fbk.knowledgestore.internal.Logging$NormalConverter
eu.fbk.knowledgestore.internal.Logging$StatusAppender
eu.fbk.knowledgestore.internal.Logging$StatusAppender$StatusAcceptorStream
eu.fbk.knowledgestore.internal.Logging$StatusAppender$StatusGeneratorStream
eu.fbk.knowledgestore.internal.Util
eu.fbk.knowledgestore.internal.Util$1
eu.fbk.knowledgestore.internal.Util$2
eu.fbk.knowledgestore.internal.Util$3
eu.fbk.knowledgestore.internal.Util$MDCExecutorService
eu.fbk.knowledgestore.internal.Util$MDCExecutorService$1
eu.fbk.knowledgestore.internal.Util$MDCExecutorService$2
eu.fbk.knowledgestore.internal.Util$MDCScheduledExecutorService
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.jaxrs
eu.fbk.knowledgestore.internal.rdf
ch.qos.logback.classic
ch.qos.logback.classic.pattern
ch.qos.logback.classic.spi
ch.qos.logback.core
ch.qos.logback.core.encoder
ch.qos.logback.core.pattern.color
ch.qos.logback.core.spi
ch.qos.logback.core.status
ch.qos.logback.core.util
com.google.common.base
com.google.common.collect
com.google.common.io
com.google.common.reflect
com.google.common.util.concurrent
eu.fbk.knowledgestore.data
java.io
java.lang
java.lang.reflect
java.net
java.util
java.util.concurrent
org.apache.commons.cli
org.slf4j

eu.fbk.knowledgestore.internal.jaxrs

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 24 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None eu.fbk.knowledgestore.internal.jaxrs.Protocol
eu.fbk.knowledgestore.internal.jaxrs.Protocol$1
eu.fbk.knowledgestore.internal.jaxrs.Protocol$2
eu.fbk.knowledgestore.internal.jaxrs.Protocol$3
eu.fbk.knowledgestore.internal.jaxrs.Protocol$4
eu.fbk.knowledgestore.internal.jaxrs.Protocol$5
eu.fbk.knowledgestore.internal.jaxrs.Serializer
eu.fbk.knowledgestore.internal.jaxrs.Serializer$1
eu.fbk.knowledgestore.internal.jaxrs.Serializer$2
None com.google.common.base
com.google.common.collect
com.google.common.io
com.google.common.reflect
eu.fbk.knowledgestore
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.vocabulary
eu.fbk.rdfpro.tql
java.io
java.lang
java.lang.annotation
java.lang.reflect
java.util
java.util.concurrent.atomic
javax.ws.rs
javax.ws.rs.core
javax.ws.rs.ext
org.openrdf.model
org.openrdf.model.vocabulary
org.openrdf.query.resultio
org.openrdf.rio
org.slf4j

eu.fbk.knowledgestore.internal.rdf

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 26 8.0% 93.0% 1.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$NumberLiteral
eu.fbk.knowledgestore.internal.rdf.package-info
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$ArrayCompactBindingSet
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$BindingIterator
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$Builder
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$EmptyCompactBindingSet
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$SingletonCompactBindingSet
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$VariableList
eu.fbk.knowledgestore.internal.rdf.CompactBindingSet$VariableSet
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$BigDecimalLiteral
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$BigIntegerLiteral
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$DoubleLiteral
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$LongLiteral
eu.fbk.knowledgestore.internal.rdf.CompactValueFactory$StringLiteral
eu.fbk.knowledgestore.internal.rdf.HtmlRDF
eu.fbk.knowledgestore.internal.rdf.HtmlRDF$HTMLWriter
eu.fbk.knowledgestore.internal.rdf.HtmlSparql
eu.fbk.knowledgestore.internal.rdf.HtmlSparql$HtmlWriter
eu.fbk.knowledgestore.internal.rdf.RDFUtil
eu.fbk.knowledgestore.internal.rdf.RDFUtil$1
eu.fbk.knowledgestore.internal.rdf.RDFUtil$2
eu.fbk.knowledgestore.internal.rdf.RDFUtil$3
eu.fbk.knowledgestore.internal.rdf.RDFUtil$4
eu.fbk.knowledgestore.internal.rdf.RDFUtil$4$1
eu.fbk.knowledgestore.internal.rdf.RDFUtil$5
eu.fbk.knowledgestore.internal.rdf.RDFUtil$6
eu.fbk.knowledgestore.internal.rdf.RDFUtil$7
eu.fbk.knowledgestore.internal.rdf.RDFUtil$7$1
eu.fbk.knowledgestore.internal.rdf.RDFUtil$8
eu.fbk.knowledgestore.internal.rdf.RDFUtil$9
eu.fbk.knowledgestore.internal.rdf.RDFUtil$DecouplingHandler
eu.fbk.knowledgestore.internal.rdf.RDFUtil$DecouplingHandler$1
eu.fbk.knowledgestore.internal.rdf.RDFUtil$LoggingHandler
eu.fbk.knowledgestore.internal.rdf.RDFUtil$MergingHandler
eu.fbk.knowledgestore.internal.rdf.RDFUtil$NamespaceHandler
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.jaxrs
com.google.common.base
com.google.common.collect
com.google.common.util.concurrent
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal
eu.fbk.rdfpro.jsonld
eu.fbk.rdfpro.tql
info.aduna.iteration
java.io
java.lang
java.lang.reflect
java.math
java.util
java.util.concurrent
java.util.concurrent.atomic
javax.xml.datatype
org.openrdf.model
org.openrdf.model.datatypes
org.openrdf.model.impl
org.openrdf.model.vocabulary
org.openrdf.query
org.openrdf.query.impl
org.openrdf.query.resultio
org.openrdf.rio
org.openrdf.rio.helpers
org.slf4j

eu.fbk.knowledgestore.vocabulary

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 3 10.0% 50.0% 40.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
eu.fbk.knowledgestore.vocabulary.package-info
eu.fbk.knowledgestore.vocabulary.CKR
eu.fbk.knowledgestore.vocabulary.KS
eu.fbk.knowledgestore.vocabulary.KSR
eu.fbk.knowledgestore.vocabulary.NFO
eu.fbk.knowledgestore.vocabulary.NIE
eu.fbk.knowledgestore.vocabulary.NIF
eu.fbk.knowledgestore.vocabulary.NWR
eu.fbk.knowledgestore.vocabulary.SEM
eu.fbk.knowledgestore.vocabulary.TIME
eu.fbk.knowledgestore
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.jaxrs
java.lang
org.openrdf.model
org.openrdf.model.impl

org.jaxen.expr

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 100.0% 83.0% 83.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.jaxen.expr.DefaultRelationalExpr
None eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.data
java.lang
java.util
org.jaxen
org.openrdf.model

Cycles

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

Package Package Dependencies
eu.fbk.knowledgestore eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.data eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.jaxrs eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.internal.rdf eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.rdf
org.jaxen.expr eu.fbk.knowledgestore.data
eu.fbk.knowledgestore.internal.rdf
eu.fbk.knowledgestore.data

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.

Back to top

Last Published: 2016/02/08.

Reflow Maven skin by Andrius Velykis.

Data and Knowledge Management tools