Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
cn.home1.oss.lib.security | 3 | 3 | 0 | 1 | 15 | 0.0% | 94.0% | 6.0% | 1 |
cn.home1.oss.lib.security.api | 10 | 3 | 7 | 9 | 11 | 70.0% | 55.0% | 25.0% | 1 |
cn.home1.oss.lib.security.crypto | 1 | 1 | 0 | 1 | 5 | 0.0% | 83.0% | 17.0% | 1 |
cn.home1.oss.lib.security.internal | 4 | 3 | 1 | 5 | 21 | 25.0% | 81.0% | 6.0% | 1 |
cn.home1.oss.lib.security.internal.feign | 2 | 2 | 0 | 0 | 10 | 0.0% | 100.0% | 0.0% | 1 |
cn.home1.oss.lib.security.internal.preauth | 5 | 5 | 0 | 2 | 18 | 0.0% | 90.0% | 10.0% | 1 |
cn.home1.oss.lib.security.internal.rest | 8 | 8 | 0 | 2 | 26 | 0.0% | 93.0% | 7.0% | 1 |
cn.home1.oss.lib.security.internal.template | 6 | 6 | 0 | 2 | 24 | 0.0% | 92.0% | 8.0% | 1 |
cn.home1.oss.lib.security.internal.zuul | 2 | 2 | 0 | 0 | 7 | 0.0% | 100.0% | 0.0% | 1 |
cn.home1.oss.lib.security.starter | 8 | 7 | 1 | 0 | 39 | 12.0% | 100.0% | 12.0% | 1 |
cn.home1.oss.lib.security.swagger | 6 | 5 | 1 | 1 | 29 | 17.0% | 97.0% | 13.0% | 1 |
org.springframework.security.config.annotation.web.configurers | 1 | 1 | 0 | 1 | 12 | 0.0% | 92.0% | 8.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 15 | 0.0% | 94.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.AllowAllPermissionEvaluator cn.home1.oss.lib.security.CsrfHeaderFilter cn.home1.oss.lib.security.MethodSecurityPermissionEvaluator |
cn.home1.oss.lib.security.starter |
cn.home1.oss.boot.autoconfigure cn.home1.oss.lib.common cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal java.io java.lang java.util javax.servlet javax.servlet.http org.slf4j org.springframework.security.access org.springframework.security.core org.springframework.security.web.csrf org.springframework.web.filter org.springframework.web.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
9 | 11 | 70.0% | 55.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
cn.home1.oss.lib.security.api.AbstractRole cn.home1.oss.lib.security.api.AbstractStaticPrivilege cn.home1.oss.lib.security.api.AbstractUser cn.home1.oss.lib.security.api.Security cn.home1.oss.lib.security.api.StaticPrivilege cn.home1.oss.lib.security.api.User cn.home1.oss.lib.security.api.VerifyCodeProvider |
cn.home1.oss.lib.security.api.GenericUser$GenericUserBuilder cn.home1.oss.lib.security.api.UserDetails cn.home1.oss.lib.security.api.UserDetails$UserDetailsBuilder |
cn.home1.oss.lib.security cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.feign cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal.rest cn.home1.oss.lib.security.internal.template cn.home1.oss.lib.security.internal.zuul cn.home1.oss.lib.security.starter cn.home1.oss.lib.security.swagger |
cn.home1.oss.lib.common com.google.common.base com.google.common.collect java.lang java.util org.joda.time org.springframework.security.authentication org.springframework.security.core org.springframework.security.core.context org.springframework.security.core.userdetails org.springframework.security.web.authentication.preauth |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 0.0% | 83.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.crypto.ReentrantBCryptPasswordEncoder |
cn.home1.oss.lib.security.starter |
java.lang java.security org.apache.commons.lang3 org.springframework.security.crypto.bcrypt org.springframework.security.crypto.password |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 21 | 25.0% | 81.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
cn.home1.oss.lib.security.internal.AuthenticationTokens |
cn.home1.oss.lib.security.internal.BaseGrantedAuthority cn.home1.oss.lib.security.internal.ContextAuthTokenAuditor cn.home1.oss.lib.security.internal.VerifyCodeFilter |
cn.home1.oss.lib.security cn.home1.oss.lib.security.internal.feign cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal.zuul cn.home1.oss.lib.security.starter |
cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.webmvc.api com.google.common.collect java.io java.lang java.util javax.servlet javax.servlet.http org.apache.commons.lang3 org.slf4j org.springframework.core.env org.springframework.data.domain org.springframework.security.authentication org.springframework.security.core org.springframework.security.core.authority org.springframework.security.core.context org.springframework.security.web org.springframework.security.web.authentication.preauth org.springframework.util org.springframework.web.filter |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.internal.feign.ContextAuthTokenFeignRequestInterceptor cn.home1.oss.lib.security.internal.feign.FeignTokenConfiguration |
None | cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal cn.home1.oss.lib.webmvc.api com.google.common.base feign java.lang org.apache.commons.lang3 org.slf4j org.springframework.beans.factory org.springframework.core.env |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 18 | 0.0% | 90.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.internal.preauth.PreAuthTokenAuthenticationProvider cn.home1.oss.lib.security.internal.preauth.PreAuthTokenCookieClearingLogoutHandler cn.home1.oss.lib.security.internal.preauth.PreAuthTokenFilter cn.home1.oss.lib.security.internal.preauth.PreAuthTokenProcessingFilter cn.home1.oss.lib.security.internal.preauth.PreAuthTokenProcessingFilter$NoOpAuthenticationManager |
cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.starter |
cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal cn.home1.oss.lib.webmvc.api java.io java.lang javax.servlet javax.servlet.http org.slf4j org.springframework.core.env org.springframework.security.authentication org.springframework.security.core org.springframework.security.core.context org.springframework.security.web org.springframework.security.web.authentication org.springframework.security.web.authentication.logout org.springframework.security.web.authentication.preauth org.springframework.security.web.util.matcher org.springframework.web.filter |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 26 | 0.0% | 93.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.internal.rest.RestfulAuthenticationEntryPoint cn.home1.oss.lib.security.internal.rest.RestfulAuthenticationFailureHandler cn.home1.oss.lib.security.internal.rest.RestfulAuthenticationSuccessHandler cn.home1.oss.lib.security.internal.rest.RestfulBasicAuthenticationEntryPoint cn.home1.oss.lib.security.internal.rest.RestfulLoginDisabledFilter cn.home1.oss.lib.security.internal.rest.RestfulLoginPublicKeyFilter cn.home1.oss.lib.security.internal.rest.RestfulLogoutDisabledFilter cn.home1.oss.lib.security.internal.rest.RestfulLogoutSuccessHandler |
cn.home1.oss.lib.security.starter cn.home1.oss.lib.security.swagger |
cn.home1.oss.lib.common.crypto cn.home1.oss.lib.errorhandle.internal cn.home1.oss.lib.security.api cn.home1.oss.lib.webmvc.api cn.home1.oss.lib.webmvc.internal com.google.common.base java.io java.lang java.lang.reflect javax.servlet javax.servlet.http org.apache.commons.lang3 org.slf4j org.springframework.beans.factory org.springframework.core org.springframework.http org.springframework.security.authentication org.springframework.security.core org.springframework.security.web org.springframework.security.web.authentication org.springframework.security.web.authentication.logout org.springframework.security.web.util.matcher org.springframework.util org.springframework.web.context.request org.springframework.web.filter org.springframework.web.method.support |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 24 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.internal.template.EncryptDefaultLoginPageGeneratingFilter cn.home1.oss.lib.security.internal.template.SmartRedirectStrategy cn.home1.oss.lib.security.internal.template.TemplateAuthenticationEntryPoint cn.home1.oss.lib.security.internal.template.TemplateAuthenticationFailureHandler cn.home1.oss.lib.security.internal.template.TemplateAuthenticationLogoutSuccessHandler cn.home1.oss.lib.security.internal.template.TemplateAuthenticationSuccessHandler |
cn.home1.oss.lib.security.starter org.springframework.security.config.annotation.web.configurers |
cn.home1.oss.boot.autoconfigure cn.home1.oss.lib.common cn.home1.oss.lib.errorhandle.api cn.home1.oss.lib.security.api cn.home1.oss.lib.webmvc.api java.io java.lang java.nio.charset javax.servlet javax.servlet.http lombok org.apache.commons.io org.apache.commons.lang3 org.slf4j org.springframework.security.core org.springframework.security.web org.springframework.security.web.authentication org.springframework.security.web.authentication.logout org.springframework.security.web.authentication.rememberme org.springframework.security.web.authentication.ui org.springframework.security.web.csrf org.springframework.security.web.savedrequest org.springframework.security.web.util org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | cn.home1.oss.lib.security.internal.zuul.ContextAuthTokenZuulFilter cn.home1.oss.lib.security.internal.zuul.ZuulTokenConfiguration |
None | cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal cn.home1.oss.lib.webmvc.api com.netflix.zuul com.netflix.zuul.context java.lang org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 39 | 12.0% | 100.0% | 12.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
cn.home1.oss.lib.security.starter.SecurityConfigurerAdapter |
cn.home1.oss.lib.security.starter.BasicAuthConfiguration cn.home1.oss.lib.security.starter.CsrfConfiguration cn.home1.oss.lib.security.starter.FormAuthConfiguration cn.home1.oss.lib.security.starter.MethodSecurityConfiguration cn.home1.oss.lib.security.starter.PreAuthConfiguration cn.home1.oss.lib.security.starter.SwaggerConfiguration cn.home1.oss.lib.security.starter.VerifyCodeConfiguration |
None | cn.home1.oss.boot.autoconfigure cn.home1.oss.lib.common.crypto cn.home1.oss.lib.errorhandle.internal cn.home1.oss.lib.security cn.home1.oss.lib.security.api cn.home1.oss.lib.security.crypto cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal.rest cn.home1.oss.lib.security.internal.template cn.home1.oss.lib.security.swagger cn.home1.oss.lib.webmvc.api cn.home1.oss.lib.webmvc.internal com.fasterxml.jackson.databind com.google.common.base java.lang java.util.concurrent lombok org.apache.commons.lang3 org.slf4j org.springframework.boot.autoconfigure.security org.springframework.boot.autoconfigure.web org.springframework.core.env org.springframework.http org.springframework.security.access org.springframework.security.access.expression org.springframework.security.access.expression.method org.springframework.security.authentication org.springframework.security.config.annotation.authentication.builders org.springframework.security.config.annotation.method.configuration org.springframework.security.config.annotation.web.builders org.springframework.security.config.annotation.web.configurers org.springframework.security.crypto.password org.springframework.security.web org.springframework.security.web.authentication org.springframework.security.web.authentication.logout org.springframework.security.web.authentication.www org.springframework.security.web.csrf org.springframework.security.web.util.matcher |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 29 | 17.0% | 97.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
cn.home1.oss.lib.security.swagger.AbstractSecurityApiListingPlugin |
cn.home1.oss.lib.security.swagger.AfterOperationBuilderBuildPlugin cn.home1.oss.lib.security.swagger.AuthenticationTokenHeaderBuilderPlugin cn.home1.oss.lib.security.swagger.BasicAuthHeaderBuilderPlugin cn.home1.oss.lib.security.swagger.SecurityApiDocumentationPlugin cn.home1.oss.lib.security.swagger.SecurityApiListingPlugin |
cn.home1.oss.lib.security.starter |
cn.home1.oss.boot.autoconfigure cn.home1.oss.lib.common cn.home1.oss.lib.common.crypto cn.home1.oss.lib.errorhandle.api cn.home1.oss.lib.security.api cn.home1.oss.lib.security.internal.rest cn.home1.oss.lib.swagger cn.home1.oss.lib.swagger.model com.fasterxml.classmate com.google.common.base com.google.common.collect java.lang java.lang.reflect java.util org.springframework.boot.autoconfigure.security org.springframework.http org.springframework.security.web.authentication org.springframework.security.web.authentication.logout org.springframework.security.web.authentication.ui org.springframework.util org.springframework.web.bind.annotation org.springframework.web.servlet.mvc.condition springfox.documentation.builders springfox.documentation.schema springfox.documentation.service springfox.documentation.spi springfox.documentation.spi.schema.contexts springfox.documentation.spi.service springfox.documentation.spi.service.contexts |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.springframework.security.config.annotation.web.configurers.EncryptDefaultLoginPageConfigurer |
cn.home1.oss.lib.security.starter |
cn.home1.oss.lib.errorhandle.api cn.home1.oss.lib.security.internal.template cn.home1.oss.lib.webmvc.api java.lang java.lang.reflect java.util org.springframework.security.config.annotation org.springframework.security.config.annotation.web org.springframework.security.web org.springframework.security.web.authentication org.springframework.security.web.authentication.ui org.springframework.util |
Package | Package Dependencies |
---|---|
cn.home1.oss.lib.security | cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal |
cn.home1.oss.lib.security.internal | cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal |
cn.home1.oss.lib.security.internal.feign | cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal |
cn.home1.oss.lib.security.internal.preauth | cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth |
cn.home1.oss.lib.security.internal.zuul | cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal |
cn.home1.oss.lib.security.starter | cn.home1.oss.lib.security cn.home1.oss.lib.security.internal cn.home1.oss.lib.security.internal.preauth cn.home1.oss.lib.security.internal |
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. |