# Hierarchy For Package net.shibboleth.idp.authn.principal

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - net.shibboleth.shared.component.AbstractInitializableComponent (implements net.shibboleth.shared.component.DestructableComponent, net.shibboleth.shared.component.InitializableComponent)
    - net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent (implements net.shibboleth.shared.component.IdentifiedComponent)
      - net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent (implements net.shibboleth.shared.component.IdentifiableComponent)
        - net.shibboleth.idp.authn.principal.GenericPrincipalService<T> (implements net.shibboleth.idp.authn.principal.PrincipalService<T>)
    - net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<Type> (implements net.shibboleth.idp.authn.principal.PrincipalSerializer<Type>)
      - net.shibboleth.idp.authn.principal.GenericPrincipalSerializer
      - net.shibboleth.idp.authn.principal.SimplePrincipalSerializer<T>
        - net.shibboleth.idp.authn.principal.SealedPrincipalSerializer<T>
  - net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal (implements java.security.Principal)
  - net.shibboleth.idp.authn.principal.HOTPPrincipal (implements net.shibboleth.idp.authn.principal.CloneablePrincipal)
  - net.shibboleth.idp.authn.principal.IdPAttributePrincipal (implements java.security.Principal)
  - net.shibboleth.idp.authn.principal.PasswordPrincipal (implements net.shibboleth.idp.authn.principal.CloneablePrincipal)
  - net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistration
  - net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry
  - net.shibboleth.idp.authn.principal.PrincipalServiceManager
  - net.shibboleth.idp.authn.principal.PrincipalSupport
  - net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal (implements java.util.function.Predicate<T>, java.security.Principal)
  - net.shibboleth.idp.authn.principal.TOTPPrincipal (implements net.shibboleth.idp.authn.principal.CloneablePrincipal)
  - net.shibboleth.idp.authn.principal.UsernamePrincipal (implements net.shibboleth.idp.authn.principal.CloneablePrincipal)

## Interface Hierarchy

- java.lang.Cloneable
  - net.shibboleth.idp.authn.principal.CloneablePrincipal (also extends java.security.Principal)
- net.shibboleth.shared.component.Component
  - net.shibboleth.shared.component.IdentifiedComponent
    - net.shibboleth.idp.authn.principal.PrincipalService<T>
  - net.shibboleth.shared.component.InitializableComponent
    - net.shibboleth.idp.authn.principal.PrincipalSerializer<Type>
- java.util.function.Predicate<T>
  - net.shibboleth.idp.authn.principal.PrincipalEvalPredicate
- java.security.Principal
  - net.shibboleth.idp.authn.principal.CloneablePrincipal (also extends java.lang.Cloneable)
- net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactory
- net.shibboleth.idp.authn.principal.PrincipalSupportingComponent