Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
17 | 4 | 33.0% | 19.0% | 48.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.SecurityUtils | org.apache.shiro.ShiroException org.apache.shiro.UnavailableSecurityManagerException | org.apache.shiro.aop org.apache.shiro.authc org.apache.shiro.authz org.apache.shiro.authz.permission org.apache.shiro.cache org.apache.shiro.codec org.apache.shiro.concurrent org.apache.shiro.config org.apache.shiro.crypto org.apache.shiro.dao org.apache.shiro.env org.apache.shiro.io org.apache.shiro.realm.text org.apache.shiro.session org.apache.shiro.subject org.apache.shiro.subject.support org.apache.shiro.util | java.lang org.apache.shiro.mgt org.apache.shiro.subject org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 86.0% | 83.0% | 69.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.DefaultAnnotationResolver | 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 |
---|---|---|---|---|
10 | 8 | 46.0% | 44.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.authc.AbstractAuthenticator 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.AccountException org.apache.shiro.authc.AuthenticationException 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.activedirectory org.apache.shiro.realm.jdbc org.apache.shiro.realm.ldap org.apache.shiro.realm.text org.apache.shiro.subject org.apache.shiro.subject.support | java.io java.lang java.util org.apache.shiro org.apache.shiro.authz org.apache.shiro.subject org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 8 | 21.0% | 80.0% | 1.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.AllowAllCredentialsMatcher org.apache.shiro.authc.credential.DefaultPasswordService org.apache.shiro.authc.credential.HashedCredentialsMatcher org.apache.shiro.authc.credential.Md2CredentialsMatcher org.apache.shiro.authc.credential.Md5CredentialsMatcher org.apache.shiro.authc.credential.PasswordMatcher org.apache.shiro.authc.credential.Sha1CredentialsMatcher org.apache.shiro.authc.credential.Sha256CredentialsMatcher org.apache.shiro.authc.credential.Sha384CredentialsMatcher org.apache.shiro.authc.credential.Sha512CredentialsMatcher org.apache.shiro.authc.credential.SimpleCredentialsMatcher | org.apache.shiro.realm org.apache.shiro.realm.ldap | java.lang java.util org.apache.shiro.authc org.apache.shiro.codec org.apache.shiro.crypto.hash org.apache.shiro.crypto.hash.format org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 29.0% | 88.0% | 16.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.AllSuccessfulStrategy org.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategy org.apache.shiro.authc.pam.FirstSuccessfulStrategy org.apache.shiro.authc.pam.ModularRealmAuthenticator 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.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
12 | 7 | 30.000002% | 37.0% | 33.0% |
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.AuthorizationException org.apache.shiro.authz.HostUnauthorizedException org.apache.shiro.authz.ModularRealmAuthorizer 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 org.apache.shiro.realm.activedirectory org.apache.shiro.realm.jdbc org.apache.shiro.realm.ldap org.apache.shiro.realm.text org.apache.shiro.session.mgt org.apache.shiro.subject org.apache.shiro.subject.support | java.io java.lang java.util org.apache.shiro org.apache.shiro.authz.permission org.apache.shiro.realm org.apache.shiro.subject |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 83.0% | 67.0% | 50.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.Logical | org.apache.shiro.authz.aop | java.lang java.lang.annotation |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 7 | 29.0% | 100.0% | 29.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.AuthorizingAnnotationMethodInterceptor org.apache.shiro.authz.aop.AuthorizingMethodInterceptor | org.apache.shiro.authz.aop.AuthenticatedAnnotationHandler org.apache.shiro.authz.aop.AuthenticatedAnnotationMethodInterceptor 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.RoleAnnotationHandler org.apache.shiro.authz.aop.RoleAnnotationMethodInterceptor org.apache.shiro.authz.aop.UserAnnotationHandler org.apache.shiro.authz.aop.UserAnnotationMethodInterceptor | None | java.lang java.lang.annotation java.util org.apache.shiro.aop org.apache.shiro.authz org.apache.shiro.authz.annotation org.apache.shiro.subject |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 6 | 44.0% | 67.0% | 11.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.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.authz org.apache.shiro.realm org.apache.shiro.util | java.io java.lang java.util org.apache.shiro org.apache.shiro.authz org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 5 | 57.0% | 56.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.cache.AbstractCacheManager org.apache.shiro.cache.Cache org.apache.shiro.cache.CacheManager org.apache.shiro.cache.CacheManagerAware | org.apache.shiro.cache.CacheException org.apache.shiro.cache.MapCache org.apache.shiro.cache.MemoryConstrainedCacheManager | org.apache.shiro.mgt org.apache.shiro.realm org.apache.shiro.session.mgt org.apache.shiro.session.mgt.eis | java.lang java.util java.util.concurrent org.apache.shiro org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 4 | 20.0% | 40.0% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.codec.CodecSupport | org.apache.shiro.codec.Base64 org.apache.shiro.codec.CodecException org.apache.shiro.codec.H64 org.apache.shiro.codec.Hex | org.apache.shiro.authc.credential org.apache.shiro.config org.apache.shiro.crypto.hash org.apache.shiro.crypto.hash.format org.apache.shiro.mgt org.apache.shiro.util | java.io java.lang org.apache.shiro org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.concurrent.SubjectAwareExecutor org.apache.shiro.concurrent.SubjectAwareExecutorService org.apache.shiro.concurrent.SubjectAwareScheduledExecutorService | None | java.lang java.util java.util.concurrent org.apache.shiro org.apache.shiro.subject |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 13 | 22.0% | 87.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.config.IniFactorySupport org.apache.shiro.config.ResourceConfigurable | org.apache.shiro.config.ConfigurationException org.apache.shiro.config.Ini org.apache.shiro.config.Ini$1 org.apache.shiro.config.Ini$Section org.apache.shiro.config.IniSecurityManagerFactory org.apache.shiro.config.ReflectionBuilder org.apache.shiro.config.UnresolveableReferenceException | org.apache.shiro.realm.jdbc org.apache.shiro.realm.text | java.beans java.io java.lang java.util org.apache.commons.beanutils org.apache.shiro org.apache.shiro.codec org.apache.shiro.io org.apache.shiro.mgt org.apache.shiro.realm org.apache.shiro.realm.text org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 9 | 33.0% | 82.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.crypto.AbstractSymmetricCipherService org.apache.shiro.crypto.CipherService org.apache.shiro.crypto.JcaCipherService org.apache.shiro.crypto.RandomNumberGenerator | org.apache.shiro.crypto.AesCipherService org.apache.shiro.crypto.BlowfishCipherService org.apache.shiro.crypto.CryptoException org.apache.shiro.crypto.DefaultBlockCipherService org.apache.shiro.crypto.OperationMode org.apache.shiro.crypto.PaddingScheme org.apache.shiro.crypto.SecureRandomNumberGenerator org.apache.shiro.crypto.UnknownAlgorithmException | org.apache.shiro.crypto.hash org.apache.shiro.mgt | java.io java.lang java.security java.security.spec javax.crypto javax.crypto.spec org.apache.shiro org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 7 | 33.0% | 78.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.crypto.hash.AbstractHash org.apache.shiro.crypto.hash.ConfigurableHashService org.apache.shiro.crypto.hash.Hash org.apache.shiro.crypto.hash.HashRequest org.apache.shiro.crypto.hash.HashService | org.apache.shiro.crypto.hash.DefaultHashService org.apache.shiro.crypto.hash.HashRequest$Builder org.apache.shiro.crypto.hash.Md2Hash org.apache.shiro.crypto.hash.Md5Hash org.apache.shiro.crypto.hash.Sha1Hash org.apache.shiro.crypto.hash.Sha256Hash org.apache.shiro.crypto.hash.Sha384Hash org.apache.shiro.crypto.hash.Sha512Hash org.apache.shiro.crypto.hash.SimpleHash org.apache.shiro.crypto.hash.SimpleHashRequest | org.apache.shiro.authc.credential org.apache.shiro.crypto.hash.format | java.io java.lang java.security java.util org.apache.shiro.codec org.apache.shiro.crypto org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 44.0% | 83.0% | 28.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.crypto.hash.format.HashFormat org.apache.shiro.crypto.hash.format.HashFormatFactory org.apache.shiro.crypto.hash.format.ModularCryptFormat org.apache.shiro.crypto.hash.format.ParsableHashFormat | org.apache.shiro.crypto.hash.format.Base64Format org.apache.shiro.crypto.hash.format.DefaultHashFormatFactory org.apache.shiro.crypto.hash.format.HexFormat org.apache.shiro.crypto.hash.format.ProvidedHashFormat org.apache.shiro.crypto.hash.format.Shiro1CryptFormat | org.apache.shiro.authc.credential | java.lang java.util org.apache.shiro.codec org.apache.shiro.crypto.hash org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 50.0% | 67.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.dao.DataAccessException | org.apache.shiro.dao.InvalidResourceUsageException | org.apache.shiro.ldap | java.lang org.apache.shiro |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 6 | 40.0% | 100.0% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.env.Environment org.apache.shiro.env.NamedObjectEnvironment | org.apache.shiro.env.DefaultEnvironment org.apache.shiro.env.EnvironmentException org.apache.shiro.env.RequiredTypeException | None | java.lang java.util java.util.concurrent org.apache.shiro org.apache.shiro.mgt org.apache.shiro.util |
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.functor.Translator | None | None | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 7 | 17.0% | 70.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.io.Serializer | org.apache.shiro.io.ClassResolvingObjectInputStream org.apache.shiro.io.DefaultSerializer org.apache.shiro.io.ResourceUtils org.apache.shiro.io.SerializationException org.apache.shiro.io.XmlSerializer | org.apache.shiro.config org.apache.shiro.mgt org.apache.shiro.realm.text | java.beans java.io java.lang java.net org.apache.shiro org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 5 | 12.0% | 83.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.jndi.JndiCallback | org.apache.shiro.jndi.JndiLocator org.apache.shiro.jndi.JndiObjectFactory org.apache.shiro.jndi.JndiTemplate org.apache.shiro.jndi.JndiTemplate$1 org.apache.shiro.jndi.JndiTemplate$2 org.apache.shiro.jndi.JndiTemplate$3 org.apache.shiro.jndi.JndiTemplate$4 | org.apache.shiro.realm.jndi | java.lang java.util javax.naming org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.ldap.UnsupportedAuthenticationMechanismException | org.apache.shiro.realm.ldap | java.lang org.apache.shiro.dao |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 17 | 73.0% | 74.0% | 47.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.DefaultSecurityManager org.apache.shiro.mgt.DefaultSessionStorageEvaluator org.apache.shiro.mgt.DefaultSubjectDAO org.apache.shiro.mgt.DefaultSubjectFactory | org.apache.shiro org.apache.shiro.config org.apache.shiro.env org.apache.shiro.subject org.apache.shiro.subject.support org.apache.shiro.util | java.lang java.lang.reflect java.util org.apache.shiro.authc org.apache.shiro.authc.pam org.apache.shiro.authz org.apache.shiro.cache org.apache.shiro.codec org.apache.shiro.crypto org.apache.shiro.io org.apache.shiro.realm org.apache.shiro.session org.apache.shiro.session.mgt org.apache.shiro.subject org.apache.shiro.subject.support org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 12 | 83.0% | 60.000004% | 43.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.realm.AuthenticatingRealm org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.realm.CachingRealm org.apache.shiro.realm.Realm org.apache.shiro.realm.RealmFactory | org.apache.shiro.realm.SimpleAccountRealm | org.apache.shiro.authc.pam org.apache.shiro.authz org.apache.shiro.config org.apache.shiro.mgt org.apache.shiro.realm.jdbc org.apache.shiro.realm.jndi org.apache.shiro.realm.ldap org.apache.shiro.realm.text | java.lang java.util java.util.concurrent.atomic java.util.concurrent.locks org.apache.shiro.authc org.apache.shiro.authc.credential org.apache.shiro.authz org.apache.shiro.authz.permission org.apache.shiro.cache org.apache.shiro.subject org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm | None | java.lang java.util javax.naming javax.naming.directory javax.naming.ldap org.apache.shiro.authc org.apache.shiro.authz org.apache.shiro.realm.ldap org.apache.shiro.subject org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.realm.jdbc.JdbcRealm org.apache.shiro.realm.jdbc.JdbcRealm$1 org.apache.shiro.realm.jdbc.JdbcRealm$SaltStyle | None | java.lang java.sql java.util javax.sql org.apache.shiro.authc org.apache.shiro.authz org.apache.shiro.config org.apache.shiro.realm org.apache.shiro.subject org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.realm.jndi.JndiRealmFactory | None | java.lang java.util org.apache.shiro.jndi org.apache.shiro.realm org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 13 | 33.0% | 93.0% | 26.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.realm.ldap.AbstractLdapRealm org.apache.shiro.realm.ldap.LdapContextFactory | org.apache.shiro.realm.ldap.DefaultLdapContextFactory org.apache.shiro.realm.ldap.JndiLdapContextFactory org.apache.shiro.realm.ldap.JndiLdapRealm org.apache.shiro.realm.ldap.LdapUtils | org.apache.shiro.realm.activedirectory | java.lang java.util javax.naming javax.naming.directory javax.naming.ldap org.apache.shiro.authc org.apache.shiro.authc.credential org.apache.shiro.authz org.apache.shiro.ldap org.apache.shiro.realm org.apache.shiro.subject org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 13 | 0.0% | 93.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.realm.text.IniRealm org.apache.shiro.realm.text.PropertiesRealm org.apache.shiro.realm.text.TextConfigurationRealm | org.apache.shiro.config | java.io java.lang java.text java.util java.util.concurrent org.apache.shiro org.apache.shiro.authc org.apache.shiro.authz org.apache.shiro.config org.apache.shiro.io org.apache.shiro.realm org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 4 | 22.0% | 44.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.session.Session org.apache.shiro.session.SessionListener | 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 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 11 | 55.0% | 79.0% | 34.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.session.mgt.AbstractNativeSessionManager org.apache.shiro.session.mgt.AbstractSessionManager org.apache.shiro.session.mgt.AbstractValidatingSessionManager 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.DefaultSessionContext org.apache.shiro.session.mgt.DefaultSessionKey org.apache.shiro.session.mgt.DefaultSessionManager org.apache.shiro.session.mgt.DelegatingSession org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler$1 org.apache.shiro.session.mgt.ImmutableProxiedSession org.apache.shiro.session.mgt.SimpleSession org.apache.shiro.session.mgt.SimpleSessionFactory | org.apache.shiro.mgt org.apache.shiro.session.mgt.eis org.apache.shiro.subject.support | java.io java.lang java.text java.util java.util.concurrent org.apache.shiro.authz org.apache.shiro.cache org.apache.shiro.session org.apache.shiro.session.mgt.eis org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 10 | 44.0% | 91.0% | 35.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.session.mgt.eis.AbstractSessionDAO 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.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 | org.apache.shiro.session.mgt | 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 |
---|---|---|---|---|
14 | 11 | 56.0% | 44.0% | 0.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.ExecutionException org.apache.shiro.subject.SimplePrincipalCollection org.apache.shiro.subject.SimplePrincipalMap org.apache.shiro.subject.Subject$Builder | org.apache.shiro 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.realm org.apache.shiro.realm.activedirectory org.apache.shiro.realm.jdbc org.apache.shiro.realm.ldap 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.mgt org.apache.shiro.session org.apache.shiro.subject.support org.apache.shiro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 13 | 0.0% | 87.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.shiro.subject.support.DefaultSubjectContext org.apache.shiro.subject.support.DelegatingSubject org.apache.shiro.subject.support.DelegatingSubject$1 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.io java.lang java.util java.util.concurrent org.apache.shiro org.apache.shiro.authc org.apache.shiro.authz org.apache.shiro.mgt org.apache.shiro.session org.apache.shiro.session.mgt org.apache.shiro.subject org.apache.shiro.util org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
24 | 16 | 36.0% | 40.0% | 24.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.shiro.util.AbstractFactory org.apache.shiro.util.ByteSource org.apache.shiro.util.ClassUtils$ClassLoaderAccessor org.apache.shiro.util.ClassUtils$ExceptionIgnoringAccessor org.apache.shiro.util.Destroyable org.apache.shiro.util.Factory org.apache.shiro.util.Initializable org.apache.shiro.util.JavaEnvironment org.apache.shiro.util.LifecycleUtils org.apache.shiro.util.Nameable org.apache.shiro.util.PatternMatcher org.apache.shiro.util.ThreadContext org.apache.shiro.util.ThreadState | org.apache.shiro.util.AntPathMatcher org.apache.shiro.util.ByteSource$Util org.apache.shiro.util.ClassUtils org.apache.shiro.util.ClassUtils$1 org.apache.shiro.util.ClassUtils$2 org.apache.shiro.util.ClassUtils$3 org.apache.shiro.util.CollectionUtils org.apache.shiro.util.InstantiationException org.apache.shiro.util.JdbcUtils org.apache.shiro.util.MapContext org.apache.shiro.util.PermissionUtils org.apache.shiro.util.RegExPatternMatcher org.apache.shiro.util.SimpleByteSource org.apache.shiro.util.SimpleByteSource$1 org.apache.shiro.util.SimpleByteSource$BytesHelper org.apache.shiro.util.SoftHashMap org.apache.shiro.util.SoftHashMap$1 org.apache.shiro.util.SoftHashMap$SoftValue org.apache.shiro.util.StringUtils org.apache.shiro.util.ThreadContext$1 org.apache.shiro.util.ThreadContext$InheritableThreadLocalMap org.apache.shiro.util.UnavailableConstructorException org.apache.shiro.util.UnknownClassException | org.apache.shiro org.apache.shiro.authc org.apache.shiro.authc.credential org.apache.shiro.authc.pam org.apache.shiro.authz.permission org.apache.shiro.cache org.apache.shiro.codec org.apache.shiro.config org.apache.shiro.crypto org.apache.shiro.crypto.hash org.apache.shiro.crypto.hash.format org.apache.shiro.env org.apache.shiro.io org.apache.shiro.jndi org.apache.shiro.mgt org.apache.shiro.realm org.apache.shiro.realm.jdbc org.apache.shiro.realm.jndi org.apache.shiro.realm.ldap org.apache.shiro.realm.text 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.lang.ref java.lang.reflect java.sql java.text java.util java.util.concurrent java.util.concurrent.locks java.util.regex org.apache.shiro org.apache.shiro.authz.permission org.apache.shiro.codec org.apache.shiro.mgt org.apache.shiro.subject org.slf4j |
Package | Package Dependencies |
---|---|
org.apache.shiro | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.aop | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.authc | org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.authc.credential | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.authc.pam | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.authz | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.authz.aop | org.apache.shiro.authz org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.authz.permission | org.apache.shiro.authz org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.cache | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.codec | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.concurrent | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.config | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.crypto | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.crypto.hash | org.apache.shiro.crypto org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.crypto.hash.format | org.apache.shiro.crypto.hash org.apache.shiro.crypto org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.dao | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.env | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.io | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.jndi | org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.ldap | org.apache.shiro.dao org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.mgt | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.realm | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.realm.activedirectory | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.realm.jdbc | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.realm.jndi | org.apache.shiro.jndi org.apache.shiro.util org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
org.apache.shiro.realm.ldap | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.realm.text | org.apache.shiro.config org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.session | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.session.mgt | org.apache.shiro.authz org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.session.mgt.eis | org.apache.shiro.session.mgt org.apache.shiro.authz org.apache.shiro org.apache.shiro.util org.apache.shiro.subject org.apache.shiro |
org.apache.shiro.subject | org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.subject.support | org.apache.shiro.authc org.apache.shiro.subject org.apache.shiro org.apache.shiro.util org.apache.shiro.subject |
org.apache.shiro.util | org.apache.shiro.subject org.apache.shiro org.apache.shiro.util |
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. |