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