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 ]

Package TC CC AC Ca Ce A I D V
org.springframework.security.oauth2.client 6 3 3 4 17 50.0% 81.0% 31.0% 1
org.springframework.security.oauth2.client.discovery 3 3 0 0 6 0.0% 100.0% 0.0% 1
org.springframework.security.oauth2.client.filter 6 6 0 2 24 0.0% 92.0% 8.0% 1
org.springframework.security.oauth2.client.filter.state 2 1 1 1 3 50.0% 75.0% 25.0% 1
org.springframework.security.oauth2.client.http 4 4 0 2 11 0.0% 85.0% 15.000001% 1
org.springframework.security.oauth2.client.resource 5 4 1 14 5 20.0% 26.0% 54.000004% 1
org.springframework.security.oauth2.client.test 13 9 4 0 29 31.0% 100.0% 31.0% 1
org.springframework.security.oauth2.client.token 16 10 6 9 27 38.0% 75.0% 12.0% 1
org.springframework.security.oauth2.client.token.auth 3 2 1 1 7 33.0% 88.0% 21.0% 1
org.springframework.security.oauth2.client.token.grant.client 2 2 0 3 8 0.0% 73.0% 27.000002% 1
org.springframework.security.oauth2.client.token.grant.code 4 4 0 2 16 0.0% 89.0% 11.0% 1
org.springframework.security.oauth2.client.token.grant.implicit 4 4 0 3 14 0.0% 82.0% 18.0% 1
org.springframework.security.oauth2.client.token.grant.password 2 2 0 3 8 0.0% 73.0% 27.000002% 1
org.springframework.security.oauth2.client.token.grant.redirect 1 0 1 2 3 100.0% 60.000004% 60.000004% 1
org.springframework.security.oauth2.common 11 8 3 24 11 27.000002% 31.0% 41.0% 1
org.springframework.security.oauth2.common.exceptions 19 18 1 21 9 5.0% 30.000002% 65.0% 1
org.springframework.security.oauth2.common.util 12 9 3 15 13 25.0% 46.0% 29.0% 1
org.springframework.security.oauth2.config.annotation.builders 5 5 0 2 9 0.0% 82.0% 18.0% 1
org.springframework.security.oauth2.config.annotation.configuration 1 1 0 0 4 0.0% 100.0% 0.0% 1
org.springframework.security.oauth2.config.annotation.configurers 1 1 0 2 5 0.0% 71.0% 29.0% 1
org.springframework.security.oauth2.config.annotation.web.configuration 16 11 5 0 33 31.0% 100.0% 31.0% 1
org.springframework.security.oauth2.config.annotation.web.configurers 8 8 0 1 41 0.0% 98.0% 2.0% 1
org.springframework.security.oauth2.config.xml 13 12 1 0 37 8.0% 100.0% 8.0% 1
org.springframework.security.oauth2.http.converter 2 2 0 1 8 0.0% 89.0% 11.0% 1
org.springframework.security.oauth2.http.converter.jaxb 5 4 1 1 10 20.0% 91.0% 11.0% 1
org.springframework.security.oauth2.provider 17 9 8 22 9 47.0% 29.0% 24.0% 1
org.springframework.security.oauth2.provider.approval 16 14 2 5 15 12.0% 75.0% 12.0% 1
org.springframework.security.oauth2.provider.authentication 8 7 1 3 18 12.0% 86.0% 2.0% 1
org.springframework.security.oauth2.provider.client 16 15 1 3 34 6.0% 92.0% 2.0% 1
org.springframework.security.oauth2.provider.code 6 4 2 4 13 33.0% 76.0% 10.0% 1
org.springframework.security.oauth2.provider.endpoint 16 14 2 3 42 12.0% 93.0% 6.0% 1
org.springframework.security.oauth2.provider.error 11 8 3 5 23 27.000002% 82.0% 9.0% 1
org.springframework.security.oauth2.provider.expression 5 4 1 2 14 20.0% 88.0% 8.0% 1
org.springframework.security.oauth2.provider.implicit 4 3 1 3 8 25.0% 73.0% 2.0% 1
org.springframework.security.oauth2.provider.password 1 1 0 2 7 0.0% 78.0% 22.0% 1
org.springframework.security.oauth2.provider.refresh 1 1 0 2 5 0.0% 71.0% 29.0% 1
org.springframework.security.oauth2.provider.request 2 2 0 3 6 0.0% 67.0% 33.0% 1
org.springframework.security.oauth2.provider.token 16 7 9 15 21 56.0% 58.0% 15.000001% 1
org.springframework.security.oauth2.provider.token.store 17 16 1 5 29 6.0% 85.0% 9.0% 1
org.springframework.security.oauth2.provider.token.store.jwk 16 15 1 0 21 6.0% 100.0% 6.0% 1
org.springframework.security.oauth2.provider.token.store.redis 5 2 3 0 11 60.000004% 100.0% 60.000004% 1
org.springframework.security.oauth2.provider.vote 2 2 0 0 7 0.0% 100.0% 0.0% 1

Packages

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

org.springframework.security.oauth2.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 17 50.0% 81.0% 31.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.OAuth2ClientContext
org.springframework.security.oauth2.client.OAuth2RequestAuthenticator
org.springframework.security.oauth2.client.OAuth2RestOperations
org.springframework.security.oauth2.client.DefaultOAuth2ClientContext
org.springframework.security.oauth2.client.DefaultOAuth2RequestAuthenticator
org.springframework.security.oauth2.client.OAuth2RestTemplate
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.net
java.util
org.springframework.http
org.springframework.http.client
org.springframework.security.oauth2.client.http
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.discovery

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.springframework.security.oauth2.client.discovery.ProviderConfiguration
org.springframework.security.oauth2.client.discovery.ProviderConfiguration$Builder
org.springframework.security.oauth2.client.discovery.ProviderDiscoveryClient
None java.lang
java.net
java.util
org.springframework.util
org.springframework.web.client
org.springframework.web.util

org.springframework.security.oauth2.client.filter

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 org.springframework.security.oauth2.client.filter.FailedOAuthClientAuthentication
org.springframework.security.oauth2.client.filter.OAuth2AuthenticationFailureEvent
org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter
org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter$1
org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter$NoopAuthenticationManager
org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.util
javax.servlet
javax.servlet.http
org.springframework.beans.factory
org.springframework.context
org.springframework.security.authentication
org.springframework.security.authentication.event
org.springframework.security.core
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.http
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.token
org.springframework.security.web
org.springframework.security.web.authentication
org.springframework.security.web.util
org.springframework.util
org.springframework.web.servlet.support
org.springframework.web.util

org.springframework.security.oauth2.client.filter.state

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 3 50.0% 75.0% 25.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.filter.state.StateKeyGenerator
org.springframework.security.oauth2.client.filter.state.DefaultStateKeyGenerator
org.springframework.security.oauth2.client.token.grant.code
java.lang
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.common.util

org.springframework.security.oauth2.client.http

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 11 0.0% 85.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.client.http.AccessTokenRequiredException
org.springframework.security.oauth2.client.http.OAuth2ErrorHandler
org.springframework.security.oauth2.client.http.OAuth2ErrorHandler$1
org.springframework.security.oauth2.client.http.StringSplitUtils
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
java.io
java.lang
java.util
org.springframework.http
org.springframework.http.client
org.springframework.http.converter
org.springframework.security.authentication
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.common.exceptions
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.resource

Afferent Couplings Efferent Couplings Abstractness Instability Distance
14 5 20.0% 26.0% 54.000004%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails
org.springframework.security.oauth2.client.resource.BaseOAuth2ProtectedResourceDetails
org.springframework.security.oauth2.client.resource.OAuth2AccessDeniedException
org.springframework.security.oauth2.client.resource.UserApprovalRequiredException
org.springframework.security.oauth2.client.resource.UserRedirectRequiredException
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.filter.state
org.springframework.security.oauth2.client.http
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.auth
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.client.token.grant.redirect
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.authentication
java.lang
java.util
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.util

org.springframework.security.oauth2.client.test

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 29 31.0% 100.0% 31.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.test.BeforeOAuth2Context
org.springframework.security.oauth2.client.test.OAuth2ContextConfiguration
org.springframework.security.oauth2.client.test.RestTemplateHolder
org.springframework.security.oauth2.client.test.TestAccounts
org.springframework.security.oauth2.client.test.OAuth2ContextConfiguration$ClientCredentials
org.springframework.security.oauth2.client.test.OAuth2ContextConfiguration$Implicit
org.springframework.security.oauth2.client.test.OAuth2ContextConfiguration$Password
org.springframework.security.oauth2.client.test.OAuth2ContextConfiguration$ResourceHelper
org.springframework.security.oauth2.client.test.OAuth2ContextSetup
org.springframework.security.oauth2.client.test.OAuth2ContextSetup$1
org.springframework.security.oauth2.client.test.OAuth2ContextSetup$2
org.springframework.security.oauth2.client.test.OAuth2ContextSetup$3
org.springframework.security.oauth2.client.test.OAuth2ContextSetup$4
None java.io
java.lang
java.lang.annotation
java.lang.reflect
java.net
java.util
org.apache.commons.logging
org.apache.http.client.config
org.apache.http.client.protocol
org.apache.http.protocol
org.hamcrest
org.junit
org.junit.internal
org.junit.internal.runners.statements
org.junit.rules
org.junit.runners.model
org.springframework.beans
org.springframework.core.env
org.springframework.http
org.springframework.http.client
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.common
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.token

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 27 38.0% 75.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.token.AccessTokenProvider
org.springframework.security.oauth2.client.token.AccessTokenRequest
org.springframework.security.oauth2.client.token.ClientKeyGenerator
org.springframework.security.oauth2.client.token.ClientTokenServices
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport
org.springframework.security.oauth2.client.token.RequestEnhancer
org.springframework.security.oauth2.client.token.AccessTokenProviderChain
org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest
org.springframework.security.oauth2.client.token.DefaultClientKeyGenerator
org.springframework.security.oauth2.client.token.DefaultRequestEnhancer
org.springframework.security.oauth2.client.token.JdbcClientTokenServices
org.springframework.security.oauth2.client.token.JdbcClientTokenServices$1
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport$1
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport$2
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport$AccessTokenErrorHandler
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport$OAuth2AuthTokenCallback
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.client.token.grant.redirect
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.math
java.net
java.security
java.sql
java.util
javax.sql
org.apache.commons.logging
org.springframework.dao
org.springframework.http
org.springframework.http.client
org.springframework.http.converter
org.springframework.jdbc.core
org.springframework.jdbc.core.support
org.springframework.security.access
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.context
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token.auth
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.http.converter
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.token.auth

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 7 33.0% 88.0% 21.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.token.auth.ClientAuthenticationHandler
org.springframework.security.oauth2.client.token.auth.DefaultClientAuthenticationHandler
org.springframework.security.oauth2.client.token.auth.DefaultClientAuthenticationHandler$1
org.springframework.security.oauth2.client.token
java.io
java.lang
org.springframework.http
org.springframework.security.crypto.codec
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.common
org.springframework.util

org.springframework.security.oauth2.client.token.grant.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 8 0.0% 73.0% 27.000002%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider
org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.config.xml
java.lang
java.util
org.springframework.http
org.springframework.security.access
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.common
org.springframework.util

org.springframework.security.oauth2.client.token.grant.code

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 16 0.0% 89.0% 11.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider
org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider$1
org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider$2
org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails
org.springframework.security.oauth2.client
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.net
java.util
org.springframework.http
org.springframework.http.client
org.springframework.security.access
org.springframework.security.oauth2.client.filter.state
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.redirect
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.token.grant.implicit

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 14 0.0% 82.0% 18.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider
org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider$1
org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider$ImplicitResponseExtractor
org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.net
java.util
org.springframework.http
org.springframework.http.client
org.springframework.security.access
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.redirect
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.util
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.client.token.grant.password

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 8 0.0% 73.0% 27.000002%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider
org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.config.xml
java.lang
java.util
org.springframework.http
org.springframework.security.access
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.common
org.springframework.util

org.springframework.security.oauth2.client.token.grant.redirect

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 3 100.0% 60.000004% 60.000004%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.client.token.grant.redirect.AbstractRedirectResourceDetails
None org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
java.lang
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token

org.springframework.security.oauth2.common

Afferent Couplings Efferent Couplings Abstractness Instability Distance
24 11 27.000002% 31.0% 41.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.common.ExpiringOAuth2RefreshToken
org.springframework.security.oauth2.common.OAuth2AccessToken
org.springframework.security.oauth2.common.OAuth2RefreshToken
org.springframework.security.oauth2.common.AuthenticationScheme
org.springframework.security.oauth2.common.DefaultExpiringOAuth2RefreshToken
org.springframework.security.oauth2.common.DefaultOAuth2AccessToken
org.springframework.security.oauth2.common.DefaultOAuth2RefreshToken
org.springframework.security.oauth2.common.DefaultThrowableAnalyzer
org.springframework.security.oauth2.common.DefaultThrowableAnalyzer$1
org.springframework.security.oauth2.common.OAuth2AccessTokenJackson2Deserializer
org.springframework.security.oauth2.common.OAuth2AccessTokenJackson2Serializer
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.test
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.auth
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.http.converter
org.springframework.security.oauth2.http.converter.jaxb
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.refresh
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.oauth2.provider.token.store.jwk
org.springframework.security.oauth2.provider.token.store.redis
com.fasterxml.jackson.core
com.fasterxml.jackson.databind
com.fasterxml.jackson.databind.deser.std
com.fasterxml.jackson.databind.ser.std
java.io
java.lang
java.util
javax.servlet
org.springframework.security.oauth2.common.util
org.springframework.security.web.util
org.springframework.util

org.springframework.security.oauth2.common.exceptions

Afferent Couplings Efferent Couplings Abstractness Instability Distance
21 9 5.0% 30.000002% 65.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.common.exceptions.ClientAuthenticationException
org.springframework.security.oauth2.common.exceptions.BadClientCredentialsException
org.springframework.security.oauth2.common.exceptions.InsufficientScopeException
org.springframework.security.oauth2.common.exceptions.InvalidClientException
org.springframework.security.oauth2.common.exceptions.InvalidGrantException
org.springframework.security.oauth2.common.exceptions.InvalidRequestException
org.springframework.security.oauth2.common.exceptions.InvalidScopeException
org.springframework.security.oauth2.common.exceptions.InvalidTokenException
org.springframework.security.oauth2.common.exceptions.OAuth2Exception
org.springframework.security.oauth2.common.exceptions.OAuth2ExceptionJackson2Deserializer
org.springframework.security.oauth2.common.exceptions.OAuth2ExceptionJackson2Serializer
org.springframework.security.oauth2.common.exceptions.RedirectMismatchException
org.springframework.security.oauth2.common.exceptions.SerializationException
org.springframework.security.oauth2.common.exceptions.UnapprovedClientAuthenticationException
org.springframework.security.oauth2.common.exceptions.UnauthorizedClientException
org.springframework.security.oauth2.common.exceptions.UnauthorizedUserException
org.springframework.security.oauth2.common.exceptions.UnsupportedGrantTypeException
org.springframework.security.oauth2.common.exceptions.UnsupportedResponseTypeException
org.springframework.security.oauth2.common.exceptions.UserDeniedAuthorizationException
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.http
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.http.converter
org.springframework.security.oauth2.http.converter.jaxb
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.expression
org.springframework.security.oauth2.provider.password
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.oauth2.provider.token.store.jwk
org.springframework.security.oauth2.provider.vote
com.fasterxml.jackson.core
com.fasterxml.jackson.databind
com.fasterxml.jackson.databind.deser.std
com.fasterxml.jackson.databind.ser.std
java.io
java.lang
java.util
org.springframework.security.authentication
org.springframework.security.oauth2.common.util

org.springframework.security.oauth2.common.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
15 13 25.0% 46.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.common.util.JdbcListFactory
org.springframework.security.oauth2.common.util.JsonParser
org.springframework.security.oauth2.common.util.OAuth2Utils
org.springframework.security.oauth2.common.util.DefaultJdbcListFactory
org.springframework.security.oauth2.common.util.Jackson2JsonParser
org.springframework.security.oauth2.common.util.JsonDateDeserializer
org.springframework.security.oauth2.common.util.JsonDateSerializer
org.springframework.security.oauth2.common.util.JsonParserFactory
org.springframework.security.oauth2.common.util.ProxyCreator
org.springframework.security.oauth2.common.util.ProxyCreator$LazyInvocationHandler
org.springframework.security.oauth2.common.util.RandomValueStringGenerator
org.springframework.security.oauth2.common.util.SerializationUtils
org.springframework.security.oauth2.client.filter.state
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.oauth2.provider.token.store.jwk
com.fasterxml.jackson.core
com.fasterxml.jackson.databind
java.io
java.lang
java.lang.reflect
java.security
java.text
java.util
org.springframework.beans.factory
org.springframework.core
org.springframework.jdbc.core
org.springframework.jdbc.core.namedparam
org.springframework.util

org.springframework.security.oauth2.config.annotation.builders

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 9 0.0% 82.0% 18.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.config.annotation.builders.ClientDetailsServiceBuilder
org.springframework.security.oauth2.config.annotation.builders.ClientDetailsServiceBuilder$1
org.springframework.security.oauth2.config.annotation.builders.ClientDetailsServiceBuilder$ClientBuilder
org.springframework.security.oauth2.config.annotation.builders.InMemoryClientDetailsServiceBuilder
org.springframework.security.oauth2.config.annotation.builders.JdbcClientDetailsServiceBuilder
org.springframework.security.oauth2.config.annotation.configuration
org.springframework.security.oauth2.config.annotation.configurers
java.lang
java.util
javax.sql
org.springframework.security.config.annotation
org.springframework.security.core.authority
org.springframework.security.crypto.password
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.client
org.springframework.util

org.springframework.security.oauth2.config.annotation.configuration

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.springframework.security.oauth2.config.annotation.configuration.ClientDetailsServiceConfiguration
None java.lang
org.springframework.security.oauth2.config.annotation.builders
org.springframework.security.oauth2.config.annotation.configurers
org.springframework.security.oauth2.provider

org.springframework.security.oauth2.config.annotation.configurers

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 5 0.0% 71.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer
org.springframework.security.oauth2.config.annotation.configuration
org.springframework.security.oauth2.config.annotation.web.configuration
java.lang
javax.sql
org.springframework.security.config.annotation
org.springframework.security.oauth2.config.annotation.builders
org.springframework.security.oauth2.provider

org.springframework.security.oauth2.config.annotation.web.configuration

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 33 31.0% 100.0% 31.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurer
org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer
org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client
org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurer
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration$1
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration$AuthorizationServerTokenServicesFactoryBean
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration$TokenKeyEndpointRegistrar
org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerSecurityConfiguration
org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration
org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration$OAuth2ClientContextConfiguration
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter
None java.lang
java.lang.annotation
java.util
javax.servlet.http
org.springframework.aop
org.springframework.aop.framework
org.springframework.beans
org.springframework.beans.factory
org.springframework.beans.factory.config
org.springframework.beans.factory.support
org.springframework.context
org.springframework.core
org.springframework.security.authentication
org.springframework.security.config.annotation.authentication.builders
org.springframework.security.config.annotation.web.builders
org.springframework.security.config.annotation.web.configuration
org.springframework.security.config.annotation.web.configurers
org.springframework.security.config.http
org.springframework.security.core.userdetails
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.config.annotation.configurers
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.web.util.matcher
org.springframework.util

org.springframework.security.oauth2.config.annotation.web.configurers

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 41 0.0% 98.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer$1
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer$2
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer$3
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer$4
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer$1
org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer
org.springframework.security.oauth2.config.annotation.web.configuration
java.lang
java.util
javax.servlet
org.springframework.beans
org.springframework.beans.factory
org.springframework.http
org.springframework.security.access.expression
org.springframework.security.authentication
org.springframework.security.config.annotation
org.springframework.security.config.annotation.authentication.builders
org.springframework.security.config.annotation.authentication.configurers.userdetails
org.springframework.security.config.annotation.web.builders
org.springframework.security.config.annotation.web.configurers
org.springframework.security.core.userdetails
org.springframework.security.crypto.password
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.expression
org.springframework.security.oauth2.provider.implicit
org.springframework.security.oauth2.provider.password
org.springframework.security.oauth2.provider.refresh
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.web
org.springframework.security.web.access
org.springframework.security.web.authentication.preauth
org.springframework.security.web.authentication.www
org.springframework.security.web.context
org.springframework.security.web.util.matcher
org.springframework.util
org.springframework.web.accept
org.springframework.web.context.request
org.springframework.web.servlet

org.springframework.security.oauth2.config.xml

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 37 8.0% 100.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.config.xml.ProviderBeanDefinitionParser
org.springframework.security.oauth2.config.xml.AuthorizationServerBeanDefinitionParser
org.springframework.security.oauth2.config.xml.ClientBeanDefinitionParser
org.springframework.security.oauth2.config.xml.ClientDetailsServiceBeanDefinitionParser
org.springframework.security.oauth2.config.xml.ConfigUtils
org.springframework.security.oauth2.config.xml.ExpressionHandlerBeanDefinitionParser
org.springframework.security.oauth2.config.xml.OAuth2ClientContextFactoryBean
org.springframework.security.oauth2.config.xml.OAuth2SecurityNamespaceHandler
org.springframework.security.oauth2.config.xml.ResourceBeanDefinitionParser
org.springframework.security.oauth2.config.xml.ResourceBeanDefinitionParser$StringListFactoryBean
org.springframework.security.oauth2.config.xml.ResourceServerBeanDefinitionParser
org.springframework.security.oauth2.config.xml.RestTemplateBeanDefinitionParser
org.springframework.security.oauth2.config.xml.WebExpressionHandlerBeanDefinitionParser
None java.lang
java.lang.reflect
java.util
org.springframework.aop.scope
org.springframework.beans
org.springframework.beans.factory
org.springframework.beans.factory.config
org.springframework.beans.factory.support
org.springframework.beans.factory.xml
org.springframework.security.access
org.springframework.security.config.http
org.springframework.security.oauth2.client
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.client.token
org.springframework.security.oauth2.client.token.grant.client
org.springframework.security.oauth2.client.token.grant.code
org.springframework.security.oauth2.client.token.grant.implicit
org.springframework.security.oauth2.client.token.grant.password
org.springframework.security.oauth2.common
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.expression
org.springframework.security.oauth2.provider.implicit
org.springframework.security.oauth2.provider.password
org.springframework.security.oauth2.provider.refresh
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.web.access.intercept
org.springframework.util
org.springframework.util.xml
org.w3c.dom

org.springframework.security.oauth2.http.converter

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 8 0.0% 89.0% 11.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.http.converter.FormOAuth2AccessTokenMessageConverter
org.springframework.security.oauth2.http.converter.FormOAuth2ExceptionHttpMessageConverter
org.springframework.security.oauth2.client.token
java.io
java.lang
java.util
org.springframework.http
org.springframework.http.converter
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.util

org.springframework.security.oauth2.http.converter.jaxb

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 20.0% 91.0% 11.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.http.converter.jaxb.AbstractJaxbMessageConverter
org.springframework.security.oauth2.http.converter.jaxb.JaxbOAuth2AccessToken
org.springframework.security.oauth2.http.converter.jaxb.JaxbOAuth2AccessTokenMessageConverter
org.springframework.security.oauth2.http.converter.jaxb.JaxbOAuth2Exception
org.springframework.security.oauth2.http.converter.jaxb.JaxbOAuth2ExceptionMessageConverter
org.springframework.security.oauth2.provider.error
java.io
java.lang
java.util
javax.xml.bind
javax.xml.transform
org.springframework.http
org.springframework.http.converter
org.springframework.http.converter.xml
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions

org.springframework.security.oauth2.provider

Afferent Couplings Efferent Couplings Abstractness Instability Distance
22 9 47.0% 29.0% 24.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.BaseRequest
org.springframework.security.oauth2.provider.ClientDetails
org.springframework.security.oauth2.provider.ClientDetailsService
org.springframework.security.oauth2.provider.ClientRegistrationService
org.springframework.security.oauth2.provider.OAuth2RequestFactory
org.springframework.security.oauth2.provider.OAuth2RequestValidator
org.springframework.security.oauth2.provider.SecurityContextAccessor
org.springframework.security.oauth2.provider.TokenGranter
org.springframework.security.oauth2.provider.AuthorizationRequest
org.springframework.security.oauth2.provider.ClientAlreadyExistsException
org.springframework.security.oauth2.provider.ClientRegistrationException
org.springframework.security.oauth2.provider.CompositeTokenGranter
org.springframework.security.oauth2.provider.DefaultSecurityContextAccessor
org.springframework.security.oauth2.provider.NoSuchClientException
org.springframework.security.oauth2.provider.OAuth2Authentication
org.springframework.security.oauth2.provider.OAuth2Request
org.springframework.security.oauth2.provider.TokenRequest
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.config.annotation.builders
org.springframework.security.oauth2.config.annotation.configuration
org.springframework.security.oauth2.config.annotation.configurers
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.expression
org.springframework.security.oauth2.provider.implicit
org.springframework.security.oauth2.provider.password
org.springframework.security.oauth2.provider.refresh
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.oauth2.provider.token.store.jwk
org.springframework.security.oauth2.provider.token.store.redis
org.springframework.security.oauth2.provider.vote
java.io
java.lang
java.util
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.context
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util

org.springframework.security.oauth2.provider.approval

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 15 12.0% 75.0% 12.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.approval.ApprovalStore
org.springframework.security.oauth2.provider.approval.UserApprovalHandler
org.springframework.security.oauth2.provider.approval.Approval
org.springframework.security.oauth2.provider.approval.Approval$ApprovalStatus
org.springframework.security.oauth2.provider.approval.ApprovalStoreUserApprovalHandler
org.springframework.security.oauth2.provider.approval.DefaultUserApprovalHandler
org.springframework.security.oauth2.provider.approval.InMemoryApprovalStore
org.springframework.security.oauth2.provider.approval.InMemoryApprovalStore$Key
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore$1
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore$2
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore$3
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore$4
org.springframework.security.oauth2.provider.approval.JdbcApprovalStore$AuthorizationRowMapper
org.springframework.security.oauth2.provider.approval.TokenApprovalStore
org.springframework.security.oauth2.provider.approval.TokenStoreUserApprovalHandler
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.token.store
com.fasterxml.jackson.databind.annotation
java.lang
java.sql
java.util
java.util.concurrent
javax.sql
org.apache.commons.logging
org.springframework.beans.factory
org.springframework.dao
org.springframework.jdbc.core
org.springframework.security.core
org.springframework.security.oauth2.common
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token
org.springframework.util

org.springframework.security.oauth2.provider.authentication

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 18 12.0% 86.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.authentication.TokenExtractor
org.springframework.security.oauth2.provider.authentication.BearerTokenExtractor
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetailsSource
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationManager
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter$1
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter$NullEventPublisher
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.util
javax.servlet
javax.servlet.http
org.apache.commons.logging
org.springframework.beans.factory
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.context
org.springframework.security.oauth2.client.resource
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.token
org.springframework.security.web
org.springframework.security.web.authentication.preauth
org.springframework.util

org.springframework.security.oauth2.provider.client

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 34 6.0% 92.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService$JsonMapper
org.springframework.security.oauth2.provider.client.BaseClientDetails
org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter
org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter$1
org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter$2
org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter$ClientCredentialsRequestMatcher
org.springframework.security.oauth2.provider.client.ClientCredentialsTokenGranter
org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService
org.springframework.security.oauth2.provider.client.InMemoryClientDetailsService
org.springframework.security.oauth2.provider.client.Jackson2ArrayOrStringDeserializer
org.springframework.security.oauth2.provider.client.Jackson2ArrayOrStringDeserializer$1
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService$1
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService$ClientDetailsRowMapper
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService$Jackson2Mapper
org.springframework.security.oauth2.provider.client.JdbcClientDetailsService$NotSupportedJsonMapper
org.springframework.security.oauth2.config.annotation.builders
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
com.fasterxml.jackson.annotation
com.fasterxml.jackson.core
com.fasterxml.jackson.core.type
com.fasterxml.jackson.databind
com.fasterxml.jackson.databind.deser.std
com.fasterxml.jackson.databind.type
java.io
java.lang
java.sql
java.util
javax.servlet
javax.servlet.http
javax.sql
org.apache.commons.logging
org.springframework.dao
org.springframework.jdbc.core
org.springframework.jdbc.core.namedparam
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.authority
org.springframework.security.core.context
org.springframework.security.core.userdetails
org.springframework.security.crypto.password
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.token
org.springframework.security.web
org.springframework.security.web.authentication
org.springframework.security.web.util.matcher
org.springframework.util
org.springframework.web

org.springframework.security.oauth2.provider.code

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 13 33.0% 76.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.code.AuthorizationCodeServices
org.springframework.security.oauth2.provider.code.RandomValueAuthorizationCodeServices
org.springframework.security.oauth2.provider.code.AuthorizationCodeTokenGranter
org.springframework.security.oauth2.provider.code.InMemoryAuthorizationCodeServices
org.springframework.security.oauth2.provider.code.JdbcAuthorizationCodeServices
org.springframework.security.oauth2.provider.code.JdbcAuthorizationCodeServices$1
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.endpoint
java.lang
java.sql
java.util
java.util.concurrent
javax.sql
org.springframework.dao
org.springframework.jdbc.core
org.springframework.jdbc.core.support
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token
org.springframework.util

org.springframework.security.oauth2.provider.endpoint

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 42 12.0% 93.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.endpoint.FrameworkEndpoint
org.springframework.security.oauth2.provider.endpoint.RedirectResolver
org.springframework.security.oauth2.provider.endpoint.AbstractEndpoint
org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint
org.springframework.security.oauth2.provider.endpoint.CheckTokenEndpoint
org.springframework.security.oauth2.provider.endpoint.CheckTokenEndpoint$1
org.springframework.security.oauth2.provider.endpoint.DefaultRedirectResolver
org.springframework.security.oauth2.provider.endpoint.ExactMatchRedirectResolver
org.springframework.security.oauth2.provider.endpoint.FrameworkEndpointHandlerMapping
org.springframework.security.oauth2.provider.endpoint.TokenEndpoint
org.springframework.security.oauth2.provider.endpoint.TokenEndpointAuthenticationFilter
org.springframework.security.oauth2.provider.endpoint.TokenKeyEndpoint
org.springframework.security.oauth2.provider.endpoint.WhitelabelApprovalEndpoint
org.springframework.security.oauth2.provider.endpoint.WhitelabelApprovalEndpoint$1
org.springframework.security.oauth2.provider.endpoint.WhitelabelErrorEndpoint
org.springframework.security.oauth2.provider.endpoint.WhitelabelErrorEndpoint$1
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
java.io
java.lang
java.lang.annotation
java.lang.reflect
java.net
java.security
java.util
javax.servlet
javax.servlet.http
org.apache.commons.logging
org.springframework.beans.factory
org.springframework.core.annotation
org.springframework.http
org.springframework.security.access
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.context
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.error
org.springframework.security.oauth2.provider.implicit
org.springframework.security.oauth2.provider.request
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.security.web
org.springframework.security.web.authentication
org.springframework.security.web.csrf
org.springframework.util
org.springframework.web
org.springframework.web.bind.support
org.springframework.web.context.request
org.springframework.web.servlet
org.springframework.web.servlet.mvc.condition
org.springframework.web.servlet.mvc.method
org.springframework.web.servlet.mvc.method.annotation
org.springframework.web.servlet.support
org.springframework.web.servlet.view
org.springframework.web.util

org.springframework.security.oauth2.provider.error

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 23 27.000002% 82.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.error.AbstractOAuth2SecurityExceptionHandler
org.springframework.security.oauth2.provider.error.OAuth2ExceptionRenderer
org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator
org.springframework.security.oauth2.provider.error.DefaultOAuth2ExceptionRenderer
org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator
org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator$ForbiddenException
org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator$MethodNotAllowed
org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator$ServerErrorException
org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator$UnauthorizedException
org.springframework.security.oauth2.provider.error.OAuth2AccessDeniedHandler
org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.endpoint
java.io
java.lang
java.util
javax.servlet
javax.servlet.http
org.apache.commons.logging
org.springframework.http
org.springframework.http.converter
org.springframework.http.server
org.springframework.security.access
org.springframework.security.core
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.http.converter.jaxb
org.springframework.security.web
org.springframework.security.web.access
org.springframework.security.web.util
org.springframework.util
org.springframework.web
org.springframework.web.client
org.springframework.web.context.request
org.springframework.web.servlet
org.springframework.web.servlet.mvc.support

org.springframework.security.oauth2.provider.expression

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 14 20.0% 88.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.expression.OAuth2ExpressionUtils
org.springframework.security.oauth2.provider.expression.OAuth2ExpressionParser
org.springframework.security.oauth2.provider.expression.OAuth2MethodSecurityExpressionHandler
org.springframework.security.oauth2.provider.expression.OAuth2SecurityExpressionMethods
org.springframework.security.oauth2.provider.expression.OAuth2WebSecurityExpressionHandler
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
java.lang
java.util
org.aopalliance.intercept
org.springframework.expression
org.springframework.expression.spel.support
org.springframework.security.access
org.springframework.security.access.expression.method
org.springframework.security.core
org.springframework.security.core.authority
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.provider
org.springframework.security.web
org.springframework.security.web.access.expression
org.springframework.util

org.springframework.security.oauth2.provider.implicit

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 8 25.0% 73.0% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.implicit.ImplicitGrantService
org.springframework.security.oauth2.provider.implicit.ImplicitTokenGranter
org.springframework.security.oauth2.provider.implicit.ImplicitTokenRequest
org.springframework.security.oauth2.provider.implicit.InMemoryImplicitGrantService
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.endpoint
java.lang
java.util.concurrent
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.context
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token
org.springframework.util

org.springframework.security.oauth2.provider.password

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 7 0.0% 78.0% 22.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.provider.password.ResourceOwnerPasswordTokenGranter
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
java.lang
java.util
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token

org.springframework.security.oauth2.provider.refresh

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 5 0.0% 71.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.provider.refresh.RefreshTokenGranter
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
java.lang
java.util
org.springframework.security.oauth2.common
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token

org.springframework.security.oauth2.provider.request

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 6 0.0% 67.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.springframework.security.oauth2.provider.request.DefaultOAuth2RequestFactory
org.springframework.security.oauth2.provider.request.DefaultOAuth2RequestValidator
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.endpoint
java.lang
java.util
org.springframework.security.core.authority
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider

org.springframework.security.oauth2.provider.token

Afferent Couplings Efferent Couplings Abstractness Instability Distance
15 21 56.0% 58.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.token.AbstractTokenGranter
org.springframework.security.oauth2.provider.token.AccessTokenConverter
org.springframework.security.oauth2.provider.token.AuthenticationKeyGenerator
org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices
org.springframework.security.oauth2.provider.token.ConsumerTokenServices
org.springframework.security.oauth2.provider.token.ResourceServerTokenServices
org.springframework.security.oauth2.provider.token.TokenEnhancer
org.springframework.security.oauth2.provider.token.TokenStore
org.springframework.security.oauth2.provider.token.UserAuthenticationConverter
org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter
org.springframework.security.oauth2.provider.token.DefaultAuthenticationKeyGenerator
org.springframework.security.oauth2.provider.token.DefaultTokenServices
org.springframework.security.oauth2.provider.token.DefaultUserAuthenticationConverter
org.springframework.security.oauth2.provider.token.RemoteTokenServices
org.springframework.security.oauth2.provider.token.RemoteTokenServices$1
org.springframework.security.oauth2.provider.token.TokenEnhancerChain
org.springframework.security.oauth2.client.filter
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.authentication
org.springframework.security.oauth2.provider.client
org.springframework.security.oauth2.provider.code
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.implicit
org.springframework.security.oauth2.provider.password
org.springframework.security.oauth2.provider.refresh
org.springframework.security.oauth2.provider.token.store
org.springframework.security.oauth2.provider.token.store.jwk
org.springframework.security.oauth2.provider.token.store.redis
java.io
java.lang
java.math
java.security
java.util
org.apache.commons.logging
org.springframework.beans.factory
org.springframework.http
org.springframework.http.client
org.springframework.security.authentication
org.springframework.security.core
org.springframework.security.core.authority
org.springframework.security.core.userdetails
org.springframework.security.crypto.codec
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.web.authentication.preauth
org.springframework.util
org.springframework.web.client

org.springframework.security.oauth2.provider.token.store

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 29 6.0% 85.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.token.store.JwtClaimsSetVerifier
org.springframework.security.oauth2.provider.token.store.DelegatingJwtClaimsSetVerifier
org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore
org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore$TokenExpiry
org.springframework.security.oauth2.provider.token.store.IssuerClaimVerifier
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$1
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$2
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$3
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$4
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$5
org.springframework.security.oauth2.provider.token.store.JdbcTokenStore$SafeAccessTokenRowMapper
org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter
org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter$1
org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter$NoOpJwtClaimsSetVerifier
org.springframework.security.oauth2.provider.token.store.JwtTokenStore
org.springframework.security.oauth2.provider.token.store.KeyStoreKeyFactory
org.springframework.security.oauth2.config.annotation.web.configuration
org.springframework.security.oauth2.config.annotation.web.configurers
org.springframework.security.oauth2.config.xml
org.springframework.security.oauth2.provider.endpoint
org.springframework.security.oauth2.provider.token.store.jwk
java.io
java.lang
java.math
java.net
java.security
java.security.interfaces
java.security.spec
java.sql
java.util
java.util.concurrent
java.util.concurrent.atomic
javax.sql
org.apache.commons.logging
org.springframework.beans.factory
org.springframework.core.io
org.springframework.dao
org.springframework.jdbc.core
org.springframework.jdbc.core.support
org.springframework.security.core
org.springframework.security.crypto.codec
org.springframework.security.jwt
org.springframework.security.jwt.crypto.sign
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.approval
org.springframework.security.oauth2.provider.token
org.springframework.util

org.springframework.security.oauth2.provider.token.store.jwk

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 21 6.0% 100.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinition
org.springframework.security.oauth2.provider.token.store.jwk.EllipticCurveJwkDefinition
org.springframework.security.oauth2.provider.token.store.jwk.EllipticCurveJwkDefinition$NamedCurve
org.springframework.security.oauth2.provider.token.store.jwk.JwkAttributes
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinition$CryptoAlgorithm
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinition$KeyType
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinition$PublicKeyUse
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinitionSource
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinitionSource$1
org.springframework.security.oauth2.provider.token.store.jwk.JwkDefinitionSource$JwkDefinitionHolder
org.springframework.security.oauth2.provider.token.store.jwk.JwkException
org.springframework.security.oauth2.provider.token.store.jwk.JwkSetConverter
org.springframework.security.oauth2.provider.token.store.jwk.JwkTokenStore
org.springframework.security.oauth2.provider.token.store.jwk.JwkVerifyingJwtAccessTokenConverter
org.springframework.security.oauth2.provider.token.store.jwk.JwtHeaderConverter
org.springframework.security.oauth2.provider.token.store.jwk.RsaJwkDefinition
None com.fasterxml.jackson.core
java.io
java.lang
java.math
java.net
java.security
java.security.interfaces
java.security.spec
java.util
java.util.concurrent
org.springframework.core.convert.converter
org.springframework.security.jwt
org.springframework.security.jwt.codec
org.springframework.security.jwt.crypto.sign
org.springframework.security.oauth2.common
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.common.util
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token
org.springframework.security.oauth2.provider.token.store
org.springframework.util

org.springframework.security.oauth2.provider.token.store.redis

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 60.000004% 100.0% 60.000004%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.springframework.security.oauth2.provider.token.store.redis.BaseRedisTokenStoreSerializationStrategy
org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreSerializationStrategy
org.springframework.security.oauth2.provider.token.store.redis.StandardStringSerializationStrategy
org.springframework.security.oauth2.provider.token.store.redis.JdkSerializationStrategy
org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore
None java.lang
java.lang.reflect
java.util
org.springframework.data.redis.connection
org.springframework.data.redis.core
org.springframework.data.redis.serializer
org.springframework.security.core
org.springframework.security.oauth2.common
org.springframework.security.oauth2.provider
org.springframework.security.oauth2.provider.token
org.springframework.util

org.springframework.security.oauth2.provider.vote

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 org.springframework.security.oauth2.provider.vote.ClientScopeVoter
org.springframework.security.oauth2.provider.vote.ScopeVoter
None java.lang
java.util
org.springframework.security.access
org.springframework.security.core
org.springframework.security.core.authority
org.springframework.security.oauth2.common.exceptions
org.springframework.security.oauth2.provider

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.