# Hierarchy For All Packages

Package Hierarchies:

- net.shibboleth.profile.audit.impl,
- net.shibboleth.profile.config,
- net.shibboleth.profile.config.logic,
- net.shibboleth.profile.config.navigate,
- net.shibboleth.profile.config.navigate.messaging,
- net.shibboleth.profile.config.testing,
- net.shibboleth.profile.context,
- net.shibboleth.profile.context.logic,
- net.shibboleth.profile.context.logic.impl,
- net.shibboleth.profile.context.logic.messaging,
- net.shibboleth.profile.context.navigate,
- net.shibboleth.profile.context.navigate.messaging,
- net.shibboleth.profile.installablecomponent,
- net.shibboleth.profile.module,
- net.shibboleth.profile.plugin,
- net.shibboleth.profile.relyingparty,
- net.shibboleth.profile.relyingparty.impl,
- net.shibboleth.profile.spring.impl,
- net.shibboleth.saml.binding,
- net.shibboleth.saml.profile.config,
- net.shibboleth.saml.profile.config.logic,
- net.shibboleth.saml.profile.config.logic.messaging,
- net.shibboleth.saml.profile.config.navigate,
- net.shibboleth.saml.profile.config.navigate.messaging,
- net.shibboleth.saml.profile.context.logic,
- net.shibboleth.saml.profile.context.navigate,
- net.shibboleth.saml.profile.context.navigate.messaging,
- net.shibboleth.saml.relyingparty,
- net.shibboleth.saml.saml1.profile.config,
- net.shibboleth.saml.saml2.profile.config,
- net.shibboleth.saml.saml2.profile.config.logic,
- net.shibboleth.saml.saml2.profile.config.logic.messaging,
- net.shibboleth.saml.saml2.profile.config.navigate

## Class Hierarchy

- java.lang.Object
  - net.shibboleth.profile.context.logic.AbstractAttributePredicate (implements java.util.function.Predicate<T>)
    - net.shibboleth.profile.context.logic.DateAttributePredicate
    - net.shibboleth.profile.context.logic.DynamicAttributePredicate
    - net.shibboleth.profile.context.logic.RegexAttributePredicate
    - net.shibboleth.profile.context.logic.SimpleAttributePredicate
  - 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.profile.config.AbstractProfileConfiguration (implements net.shibboleth.profile.config.ProfileConfiguration)
          - net.shibboleth.profile.config.AbstractConditionalProfileConfiguration (implements net.shibboleth.profile.config.ConditionalProfileConfiguration)
            - net.shibboleth.profile.config.testing.MockProfileConfiguration
        - net.shibboleth.profile.relyingparty.BasicRelyingPartyConfiguration (implements java.util.function.Predicate<T>, net.shibboleth.profile.relyingparty.RelyingPartyConfiguration)
        - org.opensaml.saml.common.binding.BindingDescriptor (implements java.util.function.Predicate<T>)
          - net.shibboleth.saml.binding.BindingDescriptor
        - net.shibboleth.profile.relyingparty.impl.DefaultRelyingPartyConfigurationResolver (implements net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver)
      - net.shibboleth.profile.relyingparty.impl.BaseCriteriaRelyingPartyConfiigurationResolver<ReturnType> (implements net.shibboleth.shared.component.IdentifiableComponent, net.shibboleth.shared.resolver.Resolver<ProductType,CriteriaType>)
        - net.shibboleth.profile.relyingparty.impl.CriteriaDecryptionConfigurationResolver
        - net.shibboleth.profile.relyingparty.impl.CriteriaSelfEntityIDResolver
    - net.shibboleth.profile.spring.impl.OpenSAMLConfigBean (implements org.springframework.context.EnvironmentAware)
  - net.shibboleth.profile.module.AbstractModule (implements net.shibboleth.profile.module.Module)
    - net.shibboleth.profile.module.PropertyDrivenModule (implements net.shibboleth.profile.module.Module)
  - net.shibboleth.profile.module.AbstractModule.BasicModuleResource (implements net.shibboleth.profile.module.Module.ModuleResource)
  - net.shibboleth.profile.plugin.AbstractPlugin<T> (implements net.shibboleth.profile.plugin.Plugin<T>)
    - net.shibboleth.profile.plugin.PropertyDrivenPlugin<T> (implements net.shibboleth.profile.plugin.Plugin<T>)
  - net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction<ResultType> (implements org.opensaml.messaging.context.navigate.ContextDataLookupFunction<F,T>)
    - net.shibboleth.profile.config.navigate.AbstractDefaultSecurityConfigurationLookupFunction<T>
      - net.shibboleth.profile.config.navigate.ClientTLSValidationConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.DecryptionConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.EncryptionConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction
      - net.shibboleth.profile.config.navigate.SignatureSigningConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.SignatureValidationConfigurationLookupFunction
    - net.shibboleth.saml.profile.config.navigate.AssertionAudiencesLookupFunction
    - net.shibboleth.saml.profile.config.navigate.AssertionLifetimeLookupFunction
    - net.shibboleth.saml.profile.config.navigate.AudienceRestrictionsLookupFunction
    - net.shibboleth.profile.context.navigate.IssuerLookupFunction
    - net.shibboleth.saml.saml2.profile.config.navigate.MaximumTimeSinceAuthnLookupFunction
    - net.shibboleth.saml.saml2.profile.config.navigate.ProxyCountLookupFunction
    - net.shibboleth.saml.saml2.profile.config.navigate.QualifiedNameIDFormatsLookupFunction
    - net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction
    - net.shibboleth.saml.profile.context.navigate.SAMLMetadataContextLookupFunction
  - net.shibboleth.profile.context.navigate.messaging.AbstractRelyingPartyLookupFunction<ResultType> (implements org.opensaml.messaging.context.navigate.ContextDataLookupFunction<F,T>)
    - net.shibboleth.profile.config.navigate.messaging.AbstractDefaultSecurityConfigurationLookupFunction<T>
      - net.shibboleth.profile.config.navigate.messaging.HttpClientSecurityConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.messaging.SignatureSigningConfigurationLookupFunction
      - net.shibboleth.profile.config.navigate.messaging.SignatureValidationConfigurationLookupFunction
    - net.shibboleth.saml.profile.config.navigate.messaging.MessageHandlerLookupFunction
    - net.shibboleth.saml.profile.context.navigate.messaging.SAMLMetadataContextLookupFunction
  - net.shibboleth.profile.context.logic.AbstractRelyingPartyPredicate (implements java.util.function.Predicate<T>)
    - net.shibboleth.saml.saml2.profile.config.logic.CheckAddressPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.CheckInResponseToPredicate
    - net.shibboleth.profile.config.logic.DetailedErrorsPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.IgnoreRequestSignaturesPredicate
    - net.shibboleth.profile.context.logic.LoopDetectionPredicate
    - net.shibboleth.saml.profile.config.logic.NotBeforeProfileConfigPredicate
    - net.shibboleth.profile.config.logic.ResolveAttributesPredicate
    - net.shibboleth.saml.profile.config.logic.SignAssertionsPredicate
    - net.shibboleth.saml.profile.config.logic.SignRequestsPredicate
    - net.shibboleth.saml.profile.config.logic.SignResponsesPredicate
    - net.shibboleth.profile.context.logic.VerifiedProfilePredicate
  - net.shibboleth.profile.context.logic.messaging.AbstractRelyingPartyPredicate (implements java.util.function.Predicate<T>)
    - net.shibboleth.saml.profile.config.logic.messaging.ClientTLSArtifactRequestsPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.messaging.ClientTLSSOAPAttributeQueriesPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.messaging.ClientTLSSOAPLogoutRequestsPredicate
    - net.shibboleth.saml.profile.config.logic.messaging.SignArtifactRequestsPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.messaging.SignSOAPAttributeQueriesPredicate
    - net.shibboleth.saml.saml2.profile.config.logic.messaging.SignSOAPLogoutRequestsPredicate
  - net.shibboleth.shared.scripting.AbstractScriptEvaluator
    - net.shibboleth.profile.context.navigate.ScriptedContextLookupFunction<T> (implements org.opensaml.messaging.context.navigate.ContextDataLookupFunction<F,T>)
    - net.shibboleth.shared.logic.ScriptedPredicate<T> (implements java.util.function.Predicate<T>)
      - net.shibboleth.profile.context.logic.ScriptedPredicate
  - net.shibboleth.shared.spring.expression.AbstractSpringExpressionEvaluator
    - net.shibboleth.shared.spring.expression.SpringExpressionFunction<T,U> (implements java.util.function.Function<T,R>)
      - net.shibboleth.profile.context.navigate.SpringExpressionContextLookupFunction<T,U> (implements org.opensaml.messaging.context.navigate.ContextDataLookupFunction<F,T>)
    - net.shibboleth.shared.spring.expression.SpringExpressionPredicate<T> (implements java.util.function.Predicate<T>)
      - net.shibboleth.profile.context.logic.SpringExpressionPredicate
  - net.shibboleth.profile.audit.impl.AttributesAuditExtractor (implements java.util.function.Function<T,R>)
  - org.opensaml.messaging.context.BaseContext (implements java.lang.Iterable<T>)
    - net.shibboleth.profile.context.AuditContext
    - net.shibboleth.profile.context.RelyingPartyContext
  - net.shibboleth.saml.profile.config.BasicSAMLArtifactConfiguration (implements net.shibboleth.shared.component.IdentifiableComponent, net.shibboleth.saml.profile.config.SAMLArtifactConfiguration)
  - org.opensaml.saml.common.profile.logic.EntityAttributesPredicate (implements java.util.function.Predicate<T>)
    - net.shibboleth.saml.profile.context.logic.MappedEntityAttributesPredicate
  - net.shibboleth.profile.installablecomponent.InstallableComponentInfo
  - net.shibboleth.profile.installablecomponent.InstallableComponentInfo.VersionInfo
  - net.shibboleth.profile.installablecomponent.InstallableComponentSupport
  - net.shibboleth.profile.installablecomponent.InstallableComponentVersion (implements java.lang.Comparable<T>)
  - net.shibboleth.profile.context.logic.LoopDetectionPredicate.DefaultTagGenerator (implements java.util.function.Function<T,R>)
  - net.shibboleth.saml.profile.context.logic.MappedEntityAttributesPredicate.EntityAttributesMatcher (implements java.util.function.Predicate<T>)
  - net.shibboleth.profile.module.ModuleContext
  - net.shibboleth.profile.plugin.PropertyDrivenPlugin.PackageDescriptor (implements net.shibboleth.profile.plugin.Plugin.Package)
  - net.shibboleth.profile.context.logic.impl.RelyingPartiesActivationConditionFactory (implements java.util.function.Function<T,R>)
  - net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport
  - net.shibboleth.profile.relyingparty.RelyingPartyCredentialResolver (implements org.opensaml.security.credential.CredentialResolver, net.shibboleth.shared.component.IdentifiableComponent)
  - net.shibboleth.profile.context.navigate.ServletRequestProfileRequestContextLookup (implements java.util.function.Function<T,R>)
  - net.shibboleth.shared.logic.StrategyIndirectedPredicate<T1,T2> (implements java.util.function.Predicate<T>)
    - net.shibboleth.profile.context.logic.RelyingPartyIdPredicate
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - net.shibboleth.profile.module.ModuleException
      - net.shibboleth.profile.plugin.PluginException
  - net.shibboleth.profile.relyingparty.VerifiedProfileCriterion (implements net.shibboleth.shared.resolver.Criterion)

## Interface Hierarchy

- net.shibboleth.shared.component.Component
  - net.shibboleth.shared.component.IdentifiedComponent
    - net.shibboleth.profile.module.Module
    - net.shibboleth.profile.config.ProfileConfiguration
      - net.shibboleth.profile.config.AttributeResolvingProfileConfiguration
        - net.shibboleth.saml.saml1.profile.config.AttributeQueryProfileConfiguration (also extends net.shibboleth.saml.profile.config.SAMLProfileConfiguration)
        - net.shibboleth.saml.saml2.profile.config.AttributeQueryProfileConfiguration (also extends net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration)
        - net.shibboleth.saml.saml1.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.saml.profile.config.SAMLProfileConfiguration)
        - net.shibboleth.saml.saml2.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration, net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration, net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration)
          - net.shibboleth.saml.saml2.profile.config.ECPProfileConfiguration
      - net.shibboleth.profile.config.ConditionalProfileConfiguration
      - net.shibboleth.profile.config.OverriddenIssuerProfileConfiguration
      - net.shibboleth.saml.profile.config.SAMLProfileConfiguration
        - net.shibboleth.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration
        - net.shibboleth.saml.saml1.profile.config.AttributeQueryProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration)
        - net.shibboleth.saml.saml1.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration)
        - net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.AttributeQueryProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration)
          - net.shibboleth.saml.saml2.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration, net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration, net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration)
            - net.shibboleth.saml.saml2.profile.config.ECPProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.SAML2AssertionProducingProfileConfiguration (also extends net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration)
          - net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration
            - net.shibboleth.saml.saml2.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration, net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration, net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration)
              - net.shibboleth.saml.saml2.profile.config.ECPProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.SingleLogoutProfileConfiguration (also extends net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration)
        - net.shibboleth.saml.profile.config.SAMLArtifactAwareProfileConfiguration
        - net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.BrowserSSOProfileConfiguration (also extends net.shibboleth.profile.config.AttributeResolvingProfileConfiguration, net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration, net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration)
            - net.shibboleth.saml.saml2.profile.config.ECPProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.SingleLogoutProfileConfiguration (also extends net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration)
        - net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration
          - net.shibboleth.saml.saml2.profile.config.SAML2AssertionProducingProfileConfiguration (also extends net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration)
    - net.shibboleth.profile.relyingparty.RelyingPartyConfiguration (also extends net.shibboleth.shared.component.InitializableComponent, java.util.function.Predicate<T>)
    - net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver (also extends net.shibboleth.shared.resolver.Resolver<ProductType,CriteriaType>)
  - net.shibboleth.shared.component.InitializableComponent
    - net.shibboleth.profile.relyingparty.RelyingPartyConfiguration (also extends net.shibboleth.shared.component.IdentifiedComponent, java.util.function.Predicate<T>)
- net.shibboleth.profile.module.Module.ModuleResource
- net.shibboleth.profile.plugin.Plugin<T>
- net.shibboleth.profile.plugin.Plugin.Package
- java.util.function.Predicate<T>
  - net.shibboleth.profile.relyingparty.RelyingPartyConfiguration (also extends net.shibboleth.shared.component.IdentifiedComponent, net.shibboleth.shared.component.InitializableComponent)
- net.shibboleth.shared.resolver.Resolver<ProductType,CriteriaType>
  - net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver (also extends net.shibboleth.shared.component.IdentifiedComponent)
- net.shibboleth.saml.profile.config.SAMLArtifactConfiguration

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - net.shibboleth.profile.installablecomponent.InstallableComponentSupport.SupportLevel
    - net.shibboleth.profile.module.Module.ResourceResult
    - net.shibboleth.profile.module.ModuleContext.OperationType