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 ]

Summary Package TC CC AC Ca Ce A I D V org.apache.shardingsphere.mcp.bootstrap.config 2 2 0 1 1 0.0% 50.0% 50.0% 1 org.apache.shardingsphere.mcp.bootstrap.config.yaml.config 5 5 0 2 4 0.0% 67.0% 33.0% 1 org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper 3 3 0 0 9 0.0% 100.0% 0.0% 1 org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator 6 3 3 0 7 50.0% 100.0% 50.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport 4 4 0 3 14 0.0% 82.0% 18.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool 5 5 0 1 21 0.0% 95.0% 5.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport.server 2 1 1 1 14 50.0% 93.0% 43.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport.server.http 2 1 1 0 3 50.0% 100.0% 50.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport.server.http.validator 1 1 0 1 3 0.0% 75.0% 25.0% 1 org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio 1 1 0 0 5 0.0% 100.0% 0.0% 1

Packages

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

org.apache.shardingsphere.mcp.bootstrap.config

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 1 1 0.0% 50.0% 50.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.config.HttpTransportConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.SessionAttributionSourceConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper
java.lang

org.apache.shardingsphere.mcp.bootstrap.config.yaml.config

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 2 4 0.0% 67.0% 33.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.config.yaml.config.YamlHttpTransportConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config.YamlMCPLaunchConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config.YamlMCPTransportConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config.YamlRuntimeDatabaseConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config.YamlSessionAttributionSourceConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator
java.lang
java.util
org.apache.shardingsphere.infra.util.yaml
org.apache.shardingsphere.mcp.api.transport

org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 0 9 0.0% 100.0% 0.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper.YamlHttpTransportConfigurationSwapper
org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper.YamlMCPLaunchConfigurationSwapper
org.apache.shardingsphere.mcp.bootstrap.config.yaml.swapper.YamlRuntimeDatabaseConfigurationSwapper
None java.lang
java.util
org.apache.shardingsphere.infra.util.yaml
org.apache.shardingsphere.infra.util.yaml.swapper
org.apache.shardingsphere.mcp.api.transport
org.apache.shardingsphere.mcp.bootstrap.config
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config
org.apache.shardingsphere.mcp.support.configuration
org.apache.shardingsphere.mcp.support.database.metadata.jdbc

org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 0 7 50.0% 100.0% 50.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.ValidHttpTransportConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.ValidMCPLaunchConfiguration
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.ValidYamlRuntimeDatabaseConfigurations
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.HttpTransportConfigurationValidator
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.MCPLaunchConfigurationValidator
org.apache.shardingsphere.mcp.bootstrap.config.yaml.validator.YamlRuntimeDatabaseConfigurationsValidator
None java.lang
java.lang.annotation
java.net
java.util
javax.validation
org.apache.shardingsphere.mcp.api.transport
org.apache.shardingsphere.mcp.bootstrap.config.yaml.config

org.apache.shardingsphere.mcp.bootstrap.transport

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 3 14 0.0% 82.0% 18.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.transport.HttpTransportHostUtils
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportConstants
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportErrorFactory
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportJsonMapperFactory
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool
org.apache.shardingsphere.mcp.bootstrap.transport.server
org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio
com.fasterxml.jackson.annotation
com.fasterxml.jackson.databind
com.fasterxml.jackson.datatype.jsr310
io.modelcontextprotocol.json
io.modelcontextprotocol.json.jackson2
io.modelcontextprotocol.spec
java.lang
java.sql
java.util
org.apache.shardingsphere.mcp.api.exception
org.apache.shardingsphere.mcp.bootstrap.transport.server.http.validator
org.apache.shardingsphere.mcp.core.protocol.error
org.apache.shardingsphere.mcp.support.database.metadata.jdbc
org.slf4j

org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 1 21 0.0% 95.0% 5.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool.MCPCallToolResultFactory
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool.MCPClientElicitationCapabilities
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool.MCPToolElicitationFallbackReason
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool.MCPToolElicitationFallbackResponseFactory
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool.MCPToolElicitationHandler
org.apache.shardingsphere.mcp.bootstrap.transport.server
io.modelcontextprotocol.json
io.modelcontextprotocol.json.jackson2
io.modelcontextprotocol.json.schema
io.modelcontextprotocol.json.schema.jackson2
io.modelcontextprotocol.server
io.modelcontextprotocol.spec
java.lang
java.time
java.util
org.apache.shardingsphere.infra.util.json
org.apache.shardingsphere.mcp.api.capability.tool
org.apache.shardingsphere.mcp.api.payload
org.apache.shardingsphere.mcp.api.transport
org.apache.shardingsphere.mcp.bootstrap.transport
org.apache.shardingsphere.mcp.core.protocol.error
org.apache.shardingsphere.mcp.core.tool
org.apache.shardingsphere.mcp.core.tool.handler
org.apache.shardingsphere.mcp.support.descriptor
org.apache.shardingsphere.mcp.support.protocol
org.apache.shardingsphere.mcp.support.protocol.payload
org.apache.shardingsphere.mcp.support.workflow.model

org.apache.shardingsphere.mcp.bootstrap.transport.server

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 1 14 50.0% 93.0% 43.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages org.apache.shardingsphere.mcp.bootstrap.transport.server.MCPRuntimeServer
org.apache.shardingsphere.mcp.bootstrap.transport.server.MCPSyncServerFactory
org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio
io.modelcontextprotocol.json
io.modelcontextprotocol.server
io.modelcontextprotocol.spec
java.io
java.lang
java.time
java.util
org.apache.shardingsphere.mcp.bootstrap.transport
org.apache.shardingsphere.mcp.bootstrap.transport.capability.completion
org.apache.shardingsphere.mcp.bootstrap.transport.capability.prompt
org.apache.shardingsphere.mcp.bootstrap.transport.capability.resource
org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool
org.apache.shardingsphere.mcp.core.context
org.apache.shardingsphere.mcp.support.markdown

org.apache.shardingsphere.mcp.bootstrap.transport.server.http

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 0 3 50.0% 100.0% 50.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages org.apache.shardingsphere.mcp.bootstrap.transport.server.http.StreamableHttpMCPServlet$SessionAwareHttpServletResponse
org.apache.shardingsphere.mcp.bootstrap.transport.server.http.StreamableHttpMCPServlet$1
None jakarta.servlet.http
java.lang
java.util

org.apache.shardingsphere.mcp.bootstrap.transport.server.http.validator

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 1 3 0.0% 75.0% 25.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.transport.server.http.validator.MCPTransportSecurityException
org.apache.shardingsphere.mcp.bootstrap.transport
io.modelcontextprotocol.server.transport
java.lang
org.apache.shardingsphere.mcp.support.diagnostic

org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio

Packages Afferent Couplings Efferent Couplings Abstractness Instability Distance 0 5 0.0% 100.0% 0.0% Packages Abstract Classes Concrete Classes Used by Packages Uses Packages None org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio.StdioMCPServer
None io.modelcontextprotocol.server
java.lang
org.apache.shardingsphere.mcp.bootstrap.transport
org.apache.shardingsphere.mcp.bootstrap.transport.server
org.apache.shardingsphere.mcp.core.context

Cycles

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

There are no cyclic dependencies.

Explanation

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

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

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