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.apache.shiro 2 1 1 3 2 50.0% 40.0% 10.0% 1
org.apache.shiro.aop 7 0 7 1 5 100.0% 83.0% 83.0% 1
org.apache.shiro.authc 25 14 11 6 7 44.0% 54.000004% 2.0% 1
org.apache.shiro.authc.credential 9 5 4 0 6 44.0% 100.0% 44.0% 1
org.apache.shiro.authc.pam 6 3 3 1 5 50.0% 83.0% 33.0% 1
org.apache.shiro.authz 10 6 4 6 5 40.0% 45.0% 15.000001% 1
org.apache.shiro.authz.annotation 7 1 6 1 2 86.0% 67.0% 52.0% 1
org.apache.shiro.authz.aop 17 13 4 0 8 24.0% 100.0% 24.0% 1
org.apache.shiro.authz.permission 10 5 5 1 7 50.0% 88.0% 38.0% 1
org.apache.shiro.concurrent 2 1 1 0 4 50.0% 100.0% 50.0% 1
org.apache.shiro.dao 3 1 2 1 2 67.0% 67.0% 33.0% 1
org.apache.shiro.env 5 2 3 0 3 60.000004% 100.0% 60.000004% 1
org.apache.shiro.ini 1 0 1 0 1 100.0% 100.0% 100.0% 1
org.apache.shiro.jndi 5 3 2 0 2 40.0% 100.0% 40.0% 1
org.apache.shiro.ldap 2 1 1 0 2 50.0% 100.0% 50.0% 1
org.apache.shiro.mgt 15 3 12 3 20 80.0% 87.0% 67.0% 1
org.apache.shiro.realm 3 0 3 3 3 100.0% 50.0% 50.0% 1
org.apache.shiro.realm.activedirectory 1 0 1 0 1 100.0% 100.0% 100.0% 1
org.apache.shiro.realm.jdbc 2 1 1 0 1 50.0% 100.0% 50.0% 1
org.apache.shiro.realm.jndi 1 0 1 0 1 100.0% 100.0% 100.0% 1
org.apache.shiro.realm.ldap 5 3 2 0 7 40.0% 100.0% 40.0% 1
org.apache.shiro.realm.text 3 2 1 0 10 33.0% 100.0% 33.0% 1
org.apache.shiro.session 10 7 3 5 4 30.000002% 44.0% 26.0% 1
org.apache.shiro.session.mgt 13 3 10 2 4 77.0% 67.0% 44.0% 1
org.apache.shiro.session.mgt.eis 9 5 4 0 10 44.0% 100.0% 44.0% 1
org.apache.shiro.subject 10 4 6 9 13 60.000004% 58.999996% 19.0% 1
org.apache.shiro.subject.support 6 5 1 2 7 17.0% 78.0% 6.0% 1
org.apache.shiro.util 12 7 5 5 10 42.0% 67.0% 8.0% 1

Packages

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

org.apache.shiro

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 2 50.0% 40.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.package-info
org.apache.shiro.UnavailableSecurityManagerException
org.apache.shiro.aop
org.apache.shiro.concurrent
org.apache.shiro.subject
java.lang
org.apache.shiro.lang

org.apache.shiro.aop

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 100.0% 83.0% 83.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.aop.AnnotationHandler
org.apache.shiro.aop.AnnotationMethodInterceptor
org.apache.shiro.aop.AnnotationResolver
org.apache.shiro.aop.MethodInterceptor
org.apache.shiro.aop.MethodInterceptorSupport
org.apache.shiro.aop.MethodInvocation
org.apache.shiro.aop.package-info
None org.apache.shiro.authz.aop
java.lang
java.lang.annotation
java.lang.reflect
org.apache.shiro
org.apache.shiro.subject

org.apache.shiro.authc

Afferent Couplings Efferent Couplings Abstractness Instability Distance
6 7 44.0% 54.000004% 2.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authc.Account
org.apache.shiro.authc.AuthenticationInfo
org.apache.shiro.authc.AuthenticationListener
org.apache.shiro.authc.AuthenticationToken
org.apache.shiro.authc.Authenticator
org.apache.shiro.authc.HostAuthenticationToken
org.apache.shiro.authc.LogoutAware
org.apache.shiro.authc.MergableAuthenticationInfo
org.apache.shiro.authc.RememberMeAuthenticationToken
org.apache.shiro.authc.SaltedAuthenticationInfo
org.apache.shiro.authc.package-info
org.apache.shiro.authc.AccountException
org.apache.shiro.authc.AuthenticationException
org.apache.shiro.authc.BearerToken
org.apache.shiro.authc.ConcurrentAccessException
org.apache.shiro.authc.CredentialsException
org.apache.shiro.authc.DisabledAccountException
org.apache.shiro.authc.ExcessiveAttemptsException
org.apache.shiro.authc.ExpiredCredentialsException
org.apache.shiro.authc.IncorrectCredentialsException
org.apache.shiro.authc.LockedAccountException
org.apache.shiro.authc.SimpleAccount
org.apache.shiro.authc.SimpleAuthenticationInfo
org.apache.shiro.authc.UnknownAccountException
org.apache.shiro.authc.UsernamePasswordToken
org.apache.shiro.authc.credential
org.apache.shiro.authc.pam
org.apache.shiro.mgt
org.apache.shiro.realm
org.apache.shiro.realm.text
org.apache.shiro.subject
java.io
java.lang
java.util
org.apache.shiro.authz
org.apache.shiro.lang
org.apache.shiro.lang.util
org.apache.shiro.subject

org.apache.shiro.authc.credential

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 44.0% 100.0% 44.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authc.credential.CredentialsMatcher
org.apache.shiro.authc.credential.HashingPasswordService
org.apache.shiro.authc.credential.PasswordService
org.apache.shiro.authc.credential.package-info
org.apache.shiro.authc.credential.AllowAllCredentialsMatcher
org.apache.shiro.authc.credential.HashedCredentialsMatcher
org.apache.shiro.authc.credential.Sha256CredentialsMatcher
org.apache.shiro.authc.credential.Sha384CredentialsMatcher
org.apache.shiro.authc.credential.Sha512CredentialsMatcher
None java.lang
java.util
org.apache.shiro.authc
org.apache.shiro.crypto.hash
org.apache.shiro.lang.codec
org.apache.shiro.lang.util

org.apache.shiro.authc.pam

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 50.0% 83.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authc.pam.AbstractAuthenticationStrategy
org.apache.shiro.authc.pam.AuthenticationStrategy
org.apache.shiro.authc.pam.package-info
org.apache.shiro.authc.pam.FirstSuccessfulStrategy
org.apache.shiro.authc.pam.ShortCircuitIterationException
org.apache.shiro.authc.pam.UnsupportedTokenException
org.apache.shiro.mgt
java.lang
java.util
org.apache.shiro.authc
org.apache.shiro.realm
org.apache.shiro.subject

org.apache.shiro.authz

Afferent Couplings Efferent Couplings Abstractness Instability Distance
6 5 40.0% 45.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authz.AuthorizationInfo
org.apache.shiro.authz.Authorizer
org.apache.shiro.authz.Permission
org.apache.shiro.authz.package-info
org.apache.shiro.authz.AuthorizationException
org.apache.shiro.authz.HostUnauthorizedException
org.apache.shiro.authz.SimpleAuthorizationInfo
org.apache.shiro.authz.SimpleRole
org.apache.shiro.authz.UnauthenticatedException
org.apache.shiro.authz.UnauthorizedException
org.apache.shiro.authc
org.apache.shiro.authz.aop
org.apache.shiro.authz.permission
org.apache.shiro.mgt
org.apache.shiro.realm.text
org.apache.shiro.subject
java.io
java.lang
java.util
org.apache.shiro.lang
org.apache.shiro.subject

org.apache.shiro.authz.annotation

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 86.0% 67.0% 52.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authz.annotation.RequiresAuthentication
org.apache.shiro.authz.annotation.RequiresGuest
org.apache.shiro.authz.annotation.RequiresPermissions
org.apache.shiro.authz.annotation.RequiresRoles
org.apache.shiro.authz.annotation.RequiresUser
org.apache.shiro.authz.annotation.package-info
org.apache.shiro.authz.annotation.Logical
org.apache.shiro.authz.aop
java.lang
java.lang.annotation

org.apache.shiro.authz.aop

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 24.0% 100.0% 24.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authz.aop.AnnotationsAuthorizingMethodInterceptor
org.apache.shiro.authz.aop.AuthorizingAnnotationHandler
org.apache.shiro.authz.aop.AuthorizingMethodInterceptor
org.apache.shiro.authz.aop.package-info
org.apache.shiro.authz.aop.AuthenticatedAnnotationHandler
org.apache.shiro.authz.aop.AuthenticatedAnnotationMethodInterceptor
org.apache.shiro.authz.aop.DenyAllAnnotationHandler
org.apache.shiro.authz.aop.GuestAnnotationHandler
org.apache.shiro.authz.aop.GuestAnnotationMethodInterceptor
org.apache.shiro.authz.aop.PermissionAnnotationHandler
org.apache.shiro.authz.aop.PermissionAnnotationMethodInterceptor
org.apache.shiro.authz.aop.PermitAllAnnotationHandler
org.apache.shiro.authz.aop.RoleAnnotationHandler
org.apache.shiro.authz.aop.RoleAnnotationMethodInterceptor
org.apache.shiro.authz.aop.RolesAllowedAnnotationHandler
org.apache.shiro.authz.aop.UserAnnotationHandler
org.apache.shiro.authz.aop.UserAnnotationMethodInterceptor
None java.lang
java.lang.annotation
java.util
javax.annotation.security
org.apache.shiro.aop
org.apache.shiro.authz
org.apache.shiro.authz.annotation
org.apache.shiro.subject

org.apache.shiro.authz.permission

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 7 50.0% 88.0% 38.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.authz.permission.PermissionResolver
org.apache.shiro.authz.permission.PermissionResolverAware
org.apache.shiro.authz.permission.RolePermissionResolver
org.apache.shiro.authz.permission.RolePermissionResolverAware
org.apache.shiro.authz.permission.package-info
org.apache.shiro.authz.permission.AllPermission
org.apache.shiro.authz.permission.DomainPermission
org.apache.shiro.authz.permission.InvalidPermissionStringException
org.apache.shiro.authz.permission.WildcardPermission
org.apache.shiro.authz.permission.WildcardPermissionResolver
org.apache.shiro.util
java.io
java.lang
java.util
org.apache.shiro.authz
org.apache.shiro.lang
org.apache.shiro.lang.util
org.apache.shiro.util

org.apache.shiro.concurrent

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 50.0% 100.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.concurrent.package-info
org.apache.shiro.concurrent.SubjectAwareExecutor
None java.lang
java.util.concurrent
org.apache.shiro
org.apache.shiro.subject

org.apache.shiro.dao

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 67.0% 67.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.dao.DataAccessException
org.apache.shiro.dao.package-info
org.apache.shiro.dao.InvalidResourceUsageException
org.apache.shiro.ldap
java.lang
org.apache.shiro.lang

org.apache.shiro.env

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 60.000004% 100.0% 60.000004%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.env.Environment
org.apache.shiro.env.NamedObjectEnvironment
org.apache.shiro.env.package-info
org.apache.shiro.env.EnvironmentException
org.apache.shiro.env.RequiredTypeException
None java.lang
org.apache.shiro.lang
org.apache.shiro.mgt

org.apache.shiro.ini

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.ini.package-info
None None java.lang

org.apache.shiro.jndi

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 40.0% 100.0% 40.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.jndi.JndiCallback
org.apache.shiro.jndi.package-info
org.apache.shiro.jndi.JndiTemplate$2
org.apache.shiro.jndi.JndiTemplate$3
org.apache.shiro.jndi.JndiTemplate$4
None java.lang
javax.naming

org.apache.shiro.ldap

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 50.0% 100.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.ldap.package-info
org.apache.shiro.ldap.UnsupportedAuthenticationMechanismException
None java.lang
org.apache.shiro.dao

org.apache.shiro.mgt

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 20 80.0% 87.0% 67.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.mgt.AbstractRememberMeManager
org.apache.shiro.mgt.AuthenticatingSecurityManager
org.apache.shiro.mgt.AuthorizingSecurityManager
org.apache.shiro.mgt.CachingSecurityManager
org.apache.shiro.mgt.RealmSecurityManager
org.apache.shiro.mgt.RememberMeManager
org.apache.shiro.mgt.SecurityManager
org.apache.shiro.mgt.SessionStorageEvaluator
org.apache.shiro.mgt.SessionsSecurityManager
org.apache.shiro.mgt.SubjectDAO
org.apache.shiro.mgt.SubjectFactory
org.apache.shiro.mgt.package-info
org.apache.shiro.mgt.DefaultSessionStorageEvaluator
org.apache.shiro.mgt.DefaultSubjectDAO
org.apache.shiro.mgt.DefaultSubjectFactory
org.apache.shiro.env
org.apache.shiro.subject
org.apache.shiro.subject.support
java.lang
java.lang.reflect
java.security
java.util
java.util.function
org.apache.shiro.authc
org.apache.shiro.authc.pam
org.apache.shiro.authz
org.apache.shiro.cache
org.apache.shiro.crypto.cipher
org.apache.shiro.event
org.apache.shiro.event.support
org.apache.shiro.lang.io
org.apache.shiro.lang.util
org.apache.shiro.realm
org.apache.shiro.session
org.apache.shiro.session.mgt
org.apache.shiro.subject
org.apache.shiro.subject.support
org.slf4j

org.apache.shiro.realm

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 3 100.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.Realm
org.apache.shiro.realm.RealmFactory
org.apache.shiro.realm.package-info
None org.apache.shiro.authc.pam
org.apache.shiro.mgt
org.apache.shiro.realm.text
java.lang
java.util
org.apache.shiro.authc

org.apache.shiro.realm.activedirectory

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.activedirectory.package-info
None None java.lang

org.apache.shiro.realm.jdbc

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 50.0% 100.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.jdbc.package-info
org.apache.shiro.realm.jdbc.JdbcRealm$SaltStyle
None java.lang

org.apache.shiro.realm.jndi

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100.0% 100.0% 100.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.jndi.package-info
None None java.lang

org.apache.shiro.realm.ldap

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 40.0% 100.0% 40.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.ldap.LdapContextFactory
org.apache.shiro.realm.ldap.package-info
org.apache.shiro.realm.ldap.JndiLdapContextFactory
org.apache.shiro.realm.ldap.JndiLdapRealm
org.apache.shiro.realm.ldap.LdapUtils
None java.lang
java.util
javax.naming
javax.naming.directory
javax.naming.ldap
org.apache.shiro.lang.util
org.slf4j

org.apache.shiro.realm.text

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 33.0% 100.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.realm.text.package-info
org.apache.shiro.realm.text.IniRealm
org.apache.shiro.realm.text.TextConfigurationRealm
None java.lang
java.text
java.util
org.apache.shiro.authc
org.apache.shiro.authz
org.apache.shiro.config
org.apache.shiro.lang.util
org.apache.shiro.realm
org.apache.shiro.util
org.slf4j

org.apache.shiro.session

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 4 30.000002% 44.0% 26.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.session.Session
org.apache.shiro.session.SessionListener
org.apache.shiro.session.package-info
org.apache.shiro.session.ExpiredSessionException
org.apache.shiro.session.InvalidSessionException
org.apache.shiro.session.ProxiedSession
org.apache.shiro.session.SessionException
org.apache.shiro.session.SessionListenerAdapter
org.apache.shiro.session.StoppedSessionException
org.apache.shiro.session.UnknownSessionException
org.apache.shiro.mgt
org.apache.shiro.session.mgt
org.apache.shiro.session.mgt.eis
org.apache.shiro.subject
org.apache.shiro.subject.support
java.io
java.lang
java.util
org.apache.shiro.lang

org.apache.shiro.session.mgt

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 4 77.0% 67.0% 44.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.session.mgt.AbstractSessionManager
org.apache.shiro.session.mgt.NativeSessionManager
org.apache.shiro.session.mgt.SessionContext
org.apache.shiro.session.mgt.SessionFactory
org.apache.shiro.session.mgt.SessionKey
org.apache.shiro.session.mgt.SessionManager
org.apache.shiro.session.mgt.SessionValidationScheduler
org.apache.shiro.session.mgt.ValidatingSession
org.apache.shiro.session.mgt.ValidatingSessionManager
org.apache.shiro.session.mgt.package-info
org.apache.shiro.session.mgt.DefaultSessionKey
org.apache.shiro.session.mgt.ImmutableProxiedSession
org.apache.shiro.session.mgt.SimpleSessionFactory
org.apache.shiro.mgt
org.apache.shiro.session.mgt.eis
java.io
java.lang
java.util
org.apache.shiro.session

org.apache.shiro.session.mgt.eis

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 44.0% 100.0% 44.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.session.mgt.eis.CachingSessionDAO
org.apache.shiro.session.mgt.eis.SessionDAO
org.apache.shiro.session.mgt.eis.SessionIdGenerator
org.apache.shiro.session.mgt.eis.package-info
org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO$1
org.apache.shiro.session.mgt.eis.JavaUuidSessionIdGenerator
org.apache.shiro.session.mgt.eis.MemorySessionDAO
org.apache.shiro.session.mgt.eis.RandomSessionIdGenerator
None java.io
java.lang
java.security
java.util
java.util.concurrent
org.apache.shiro.cache
org.apache.shiro.session
org.apache.shiro.session.mgt
org.apache.shiro.util
org.slf4j

org.apache.shiro.subject

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 13 60.000004% 58.999996% 19.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.subject.MutablePrincipalCollection
org.apache.shiro.subject.PrincipalCollection
org.apache.shiro.subject.PrincipalMap
org.apache.shiro.subject.Subject
org.apache.shiro.subject.SubjectContext
org.apache.shiro.subject.package-info
org.apache.shiro.subject.ExecutionException
org.apache.shiro.subject.SimplePrincipalCollection
org.apache.shiro.subject.SimplePrincipalMap
org.apache.shiro.subject.Subject$Builder
org.apache.shiro.aop
org.apache.shiro.authc
org.apache.shiro.authc.pam
org.apache.shiro.authz
org.apache.shiro.authz.aop
org.apache.shiro.concurrent
org.apache.shiro.mgt
org.apache.shiro.subject.support
org.apache.shiro.util
java.io
java.lang
java.util
java.util.concurrent
org.apache.shiro
org.apache.shiro.authc
org.apache.shiro.authz
org.apache.shiro.lang
org.apache.shiro.lang.util
org.apache.shiro.mgt
org.apache.shiro.session
org.apache.shiro.subject.support
org.apache.shiro.util

org.apache.shiro.subject.support

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 7 17.0% 78.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.subject.support.package-info
org.apache.shiro.subject.support.DelegatingSubject$StoppingAwareProxiedSession
org.apache.shiro.subject.support.DisabledSessionException
org.apache.shiro.subject.support.SubjectCallable
org.apache.shiro.subject.support.SubjectRunnable
org.apache.shiro.subject.support.SubjectThreadState
org.apache.shiro.mgt
org.apache.shiro.subject
java.lang
java.util
java.util.concurrent
org.apache.shiro.mgt
org.apache.shiro.session
org.apache.shiro.subject
org.apache.shiro.util

org.apache.shiro.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 10 42.0% 67.0% 8.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
org.apache.shiro.util.AbstractFactory
org.apache.shiro.util.JavaEnvironment
org.apache.shiro.util.PatternMatcher
org.apache.shiro.util.ThreadState
org.apache.shiro.util.package-info
org.apache.shiro.util.AntPathMatcher
org.apache.shiro.util.CollectionUtils
org.apache.shiro.util.JdbcUtils
org.apache.shiro.util.OsgiDependencies
org.apache.shiro.util.PermissionUtils
org.apache.shiro.util.RegExPatternMatcher
org.apache.shiro.util.ThreadContext$InheritableThreadLocalMap
org.apache.shiro.authz.permission
org.apache.shiro.realm.text
org.apache.shiro.session.mgt.eis
org.apache.shiro.subject
org.apache.shiro.subject.support
java.lang
java.sql
java.util
java.util.regex
org.apache.commons.beanutils
org.apache.commons.configuration2
org.apache.shiro.authz.permission
org.apache.shiro.lang.util
org.apache.shiro.subject
org.slf4j

Cycles

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

Package Package Dependencies
org.apache.shiro.aop org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.authc org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.authc.credential org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.authc.pam org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.authz org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.authz.aop org.apache.shiro.authz
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.authz.permission org.apache.shiro.authz
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.concurrent org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.env org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.mgt org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.realm org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.realm.text org.apache.shiro.authz
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.session.mgt.eis org.apache.shiro.util
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.subject org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.subject.support org.apache.shiro.util
org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject
org.apache.shiro.util org.apache.shiro.subject
org.apache.shiro.mgt
org.apache.shiro.authc
org.apache.shiro.subject

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.