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 ]org.imageconverter
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.ImageServiceApplication |
None | java.lang org.springframework.boot |
org.imageconverter.config
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 23 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.config.ImageConfig org.imageconverter.config.LogPerformanceConfiguration org.imageconverter.config.WebConfig |
None | brave.sampler com.fasterxml.jackson.annotation com.fasterxml.jackson.databind com.fasterxml.jackson.databind.json com.fasterxml.jackson.datatype.jsr310 com.fasterxml.jackson.datatype.jsr310.ser java.lang java.nio.file java.time.format net.sourceforge.tess4j org.imageconverter.application org.imageconverter.util org.imageconverter.util.performance org.springframework.aop org.springframework.aop.aspectj org.springframework.aop.support org.springframework.context org.springframework.context.support org.springframework.validation org.springframework.validation.beanvalidation org.springframework.web.multipart.commons org.springframework.web.servlet.config.annotation org.springframework.web.util |
org.imageconverter.config.filter
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.config.filter.CsrfLoggerFilter |
None | java.io java.util javax.servlet javax.servlet.http org.springframework.security.web.csrf org.springframework.web.filter |
org.imageconverter.config.health
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.config.health.TesseractHealthService org.imageconverter.config.health.TesseractInfoService org.imageconverter.config.health.TesseractInfoService$TesseractDetailsData |
None | com.fasterxml.jackson.annotation java.awt.image java.io java.lang java.util javax.imageio net.sourceforge.tess4j org.apache.commons.collections4 org.apache.commons.lang3 org.apache.commons.lang3.exception org.imageconverter.util org.springframework.beans.factory org.springframework.boot.actuate.health org.springframework.cloud.endpoint org.springframework.core.env org.springframework.core.io |
org.imageconverter.config.security
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 16 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.config.security.RestAuthenticationSuccessHandler org.imageconverter.config.security.SecurityApplicationInitializer org.imageconverter.config.security.SecurityConfig org.imageconverter.config.security.SecurityConfig$FaviconController |
None | java.lang java.util javax.servlet javax.servlet.http org.springframework.security.core org.springframework.security.core.userdetails org.springframework.security.crypto.factory org.springframework.security.crypto.password org.springframework.security.provisioning org.springframework.security.web.authentication org.springframework.security.web.context org.springframework.security.web.csrf org.springframework.security.web.firewall org.springframework.security.web.savedrequest org.springframework.util org.springframework.web.multipart.support |
org.imageconverter.controller
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.controller.ImageTypeRestController |
None | java.lang javax.servlet.http org.imageconverter.application org.imageconverter.util.controllers.imagetype org.springframework.data.domain org.springframework.data.jpa.domain |
org.imageconverter.domain.conversion
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 15 | 25.0% | 88.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.domain.conversion.ImageConversionRepository |
org.imageconverter.domain.conversion.ExecutionType org.imageconverter.domain.conversion.ImageConversion org.imageconverter.domain.conversion.TesseractService |
org.imageconverter.util.controllers.imageconverter org.imageconverter.util.jpaconverters |
java.awt java.io java.lang java.time java.util javax.imageio net.sourceforge.tess4j org.apache.commons.lang3 org.apache.commons.lang3.exception org.imageconverter.domain.imagetype org.imageconverter.infra.exception org.imageconverter.util org.springframework.beans.factory org.springframework.data.jpa.repository org.springframework.data.repository |
org.imageconverter.domain.imagetype
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 50.0% | 89.0% | 39.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.domain.imagetype.ImageTypeRespository |
org.imageconverter.domain.imagetype.ImageType |
org.imageconverter.domain.conversion |
java.lang java.time java.util javax.validation org.apache.commons.lang3 org.imageconverter.util org.springframework.data.jpa.repository org.springframework.data.repository |
org.imageconverter.infra
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.infra.RestExceptionHandler |
None | java.lang java.util javax.validation org.apache.commons.lang3 org.imageconverter.infra.exception org.springframework.context org.springframework.http org.springframework.web.context.request |
org.imageconverter.infra.exception
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 6 | 8.0% | 75.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.infra.exception.BaseApplicationException |
org.imageconverter.infra.exception.ConversionException org.imageconverter.infra.exception.CsvFileGenerationException org.imageconverter.infra.exception.CsvFileNoDataException org.imageconverter.infra.exception.ElementAlreadyExistsException org.imageconverter.infra.exception.ElementConflictException org.imageconverter.infra.exception.ElementInvalidException org.imageconverter.infra.exception.ElementNotFoundException org.imageconverter.infra.exception.ElementWithIdNotFoundException org.imageconverter.infra.exception.ImageConvertServiceException org.imageconverter.infra.exception.ServiceUnavailableException org.imageconverter.infra.exception.TesseractConversionException org.imageconverter.infra.exception.TesseractNotSetException |
org.imageconverter.domain.conversion org.imageconverter.infra |
java.lang java.text org.apache.commons.lang3 org.imageconverter.util org.springframework.context org.springframework.context.i18n |
org.imageconverter.util
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 5 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.util.BeanUtil |
org.imageconverter.config org.imageconverter.config.health org.imageconverter.domain.conversion org.imageconverter.domain.imagetype org.imageconverter.infra.exception |
java.lang java.util org.springframework.beans.factory org.springframework.context org.springframework.core.env |
org.imageconverter.util.controllers.imageconverter
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.util.controllers.imageconverter.ImageConverterRequestInterface |
org.imageconverter.util.controllers.imageconverter.ImageConverterConst |
None | java.lang org.imageconverter.domain.conversion |
org.imageconverter.util.controllers.imagetype
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 1 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.util.controllers.imagetype.ImageTypeConst |
org.imageconverter.controller |
java.lang |
org.imageconverter.util.jpaconverters
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.util.jpaconverters.ExcutionTypeConverter |
None | java.lang javax.persistence org.apache.commons.lang3 org.imageconverter.domain.conversion |
org.imageconverter.util.logging
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.util.logging.Loggable |
None | None | java.lang java.lang.annotation java.time.temporal org.springframework.boot.logging |
org.imageconverter.util.openapi
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.util.openapi.OpenApiResponseError500 |
None | None | java.lang java.lang.annotation |
org.imageconverter.util.openapi.imageconverter
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.util.openapi.imageconverter.ImageConverterRestGetByIdOpenApi org.imageconverter.util.openapi.imageconverter.ImageConverterRestGetOpenApi org.imageconverter.util.openapi.imageconverter.ImageConverterRestPostAreaOpenApi org.imageconverter.util.openapi.imageconverter.ImageConverterRestPostOpenApi org.imageconverter.util.openapi.imageconverter.OpenApiResponse201 org.imageconverter.util.openapi.imageconverter.OpenApiResponseError404 org.imageconverter.util.openapi.imageconverter.OpenApiResponseGetBySearchError400 org.imageconverter.util.openapi.imageconverter.OpenApiResponseRestPostAreaError400 org.imageconverter.util.openapi.imageconverter.OpenApiResponseRestPostError409 |
None | None | java.lang java.lang.annotation |
org.imageconverter.util.openapi.imagetype
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 100.0% | 100.0% | 100.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.imageconverter.util.openapi.imagetype.CreateImageTypeRequestBody org.imageconverter.util.openapi.imagetype.ImageTypeRestDeleteOpenApi org.imageconverter.util.openapi.imagetype.ImageTypeRestGet org.imageconverter.util.openapi.imagetype.ImageTypeRestGetByIdOpenApi org.imageconverter.util.openapi.imagetype.ImageTypeRestPostOpenApi org.imageconverter.util.openapi.imagetype.ImageTypeRestPutOpenApi org.imageconverter.util.openapi.imagetype.OpenApiResponse201 org.imageconverter.util.openapi.imagetype.OpenApiResponseError404 org.imageconverter.util.openapi.imagetype.OpenApiResponseGetBySearchError400 org.imageconverter.util.openapi.imagetype.OpenApiResponseRestDelete204 org.imageconverter.util.openapi.imagetype.OpenApiResponseRestDeleteError409 org.imageconverter.util.openapi.imagetype.OpenApiResponseRestPostError400 org.imageconverter.util.openapi.imagetype.OpenApiResponseRestPostError409 org.imageconverter.util.openapi.imagetype.OpenApiResponseRestUpdate204 org.imageconverter.util.openapi.imagetype.UpdateImageTypeRequestBody |
None | None | java.lang java.lang.annotation |
org.imageconverter.util.validation
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.imageconverter.util.validation.ValidatorAspect |
None | java.lang java.util javax.validation javax.validation.executable org.aspectj.lang org.aspectj.lang.reflect |
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.
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. |