# Hierarchy For All Packages

Package Hierarchies:

- oracle.dbtools.plugin.api,
- oracle.dbtools.plugin.api.cmdline,
- oracle.dbtools.plugin.api.cmdline.annotations,
- oracle.dbtools.plugin.api.collections,
- oracle.dbtools.plugin.api.conf,
- oracle.dbtools.plugin.api.di,
- oracle.dbtools.plugin.api.di.annotations,
- oracle.dbtools.plugin.api.errors,
- oracle.dbtools.plugin.api.http.annotations,
- oracle.dbtools.plugin.api.i18n,
- oracle.dbtools.plugin.api.i18n.annotations,
- oracle.dbtools.plugin.api.io,
- oracle.dbtools.plugin.api.jdbc,
- oracle.dbtools.plugin.api.json,
- oracle.dbtools.plugin.api.json.objects,
- oracle.dbtools.plugin.api.logging,
- oracle.dbtools.plugin.api.pagination,
- oracle.dbtools.plugin.api.routes,
- oracle.dbtools.plugin.api.security,
- oracle.dbtools.plugin.api.security.annotations,
- oracle.dbtools.plugin.api.servlet,
- oracle.dbtools.plugin.api.types

## Class Hierarchy

- java.lang.Object
  - oracle.dbtools.plugin.api.types.AnnotationSet (implements java.lang.Iterable<T>)
  - oracle.dbtools.plugin.api.di.AnnotationsProvider (implements oracle.dbtools.plugin.api.di.Annotations)
  - oracle.dbtools.plugin.api.conf.ConfigurationSetting
  - oracle.dbtools.plugin.api.conf.ConfigurationSetting.Builder
  - oracle.dbtools.plugin.api.di.DeferredInstanceProvider<T> (implements oracle.dbtools.plugin.api.di.InstanceProvider<T>)
  - javax.servlet.GenericServlet (implements java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig)
    - javax.servlet.http.HttpServlet
      - oracle.dbtools.plugin.api.servlet.HttpServletBase (implements oracle.dbtools.plugin.api.servlet.ErrorResponseHandler, oracle.dbtools.plugin.api.servlet.HasDynamicAuthorization, oracle.dbtools.plugin.api.servlet.SupportsPatch)
  - oracle.dbtools.plugin.api.di.Instances (implements oracle.dbtools.plugin.api.di.InstanceLocator)
  - oracle.dbtools.plugin.api.di.Instances.Builder (implements oracle.dbtools.plugin.api.di.InstanceLocator)
  - oracle.dbtools.plugin.api.di.Instances.QualifiedInstance<T> (implements jakarta.inject.Provider<T>, java.util.function.Supplier<T>)
  - oracle.dbtools.plugin.api.di.ModuleDependencies
  - oracle.dbtools.plugin.api.di.ModuleDependencies.Builder
  - oracle.dbtools.plugin.api.di.PriorityComparator (implements java.util.Comparator<T>)
  - oracle.dbtools.plugin.api.errors.ProductErrorMessage
  - oracle.dbtools.plugin.api.errors.ProductErrorMessage.Identifier (implements java.lang.Comparable<T>)
  - oracle.dbtools.plugin.api.types.ProvidedClassifier
  - oracle.dbtools.plugin.api.di.ResolvedInstances<T> (implements oracle.dbtools.plugin.api.di.InstanceProvider<T>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.IllegalStateException
          - oracle.dbtools.plugin.api.di.DeferredInstanceProviderCycleException
        - oracle.dbtools.plugin.api.json.JSONIOException
        - oracle.dbtools.plugin.api.security.NotAuthorizedException
        - oracle.dbtools.plugin.api.types.TypeDependencyNotAvailableException
      - java.sql.SQLException (implements java.lang.Iterable<T>)
        - java.sql.SQLTransientException
          - java.sql.SQLTransientConnectionException
            - oracle.dbtools.plugin.api.jdbc.ConnectionNotAvailableException
              - oracle.dbtools.plugin.api.jdbc.DatabaseNotAvailableException
              - oracle.dbtools.plugin.api.jdbc.SchemaNotAvailableException
  - oracle.dbtools.plugin.api.conf.TimeDuration (implements java.lang.Comparable<T>, java.time.temporal.TemporalAmount)
  - oracle.dbtools.plugin.api.types.TypeDependencies<T> (implements java.lang.Iterable<T>)
  - oracle.dbtools.plugin.api.types.TypeDependency
  - oracle.dbtools.plugin.api.types.TypeInstantiator<T>
  - oracle.dbtools.plugin.api.types.TypeReflection<T> (implements java.lang.Comparable<T>)
  - oracle.dbtools.plugin.api.types.TypeReflections (implements java.lang.Iterable<T>, oracle.dbtools.plugin.api.types.TypeLocator)
  - oracle.dbtools.plugin.api.types.TypeReflections.Builder

## Interface Hierarchy

- oracle.dbtools.plugin.api.di.Annotations
- oracle.dbtools.plugin.api.di.Annotations.Builder<T>
- java.lang.Appendable
  - oracle.dbtools.plugin.api.servlet.EntityTag.Builder
- oracle.dbtools.plugin.api.security.AuthenticationChallenge.Builder
- oracle.dbtools.plugin.api.security.AuthorizationConstraint
  - oracle.dbtools.plugin.api.security.EndUserAuthorizationConstraint
- oracle.dbtools.plugin.api.security.AuthorizationError
- java.lang.AutoCloseable
  - java.io.Closeable
    - oracle.dbtools.plugin.api.json.JSONReader (also extends java.util.Iterator<E>)
    - oracle.dbtools.plugin.api.json.JSONWriter (also extends java.io.Flushable)
- java.lang.CharSequence
  - oracle.dbtools.plugin.api.servlet.EntityTag
- oracle.dbtools.plugin.api.cmdline.CommandProvider
- oracle.dbtools.plugin.api.conf.Configuration
- oracle.dbtools.plugin.api.di.DependencyInjectionModule
- oracle.dbtools.plugin.api.servlet.EntityTags
- oracle.dbtools.plugin.api.servlet.ErrorResponseHandler
- oracle.dbtools.plugin.api.servlet.FilterOrder
- java.io.Flushable
  - oracle.dbtools.plugin.api.json.JSONWriter (also extends java.io.Closeable)
- oracle.dbtools.plugin.api.servlet.ForwardedRequests
- java.util.function.Function<T,​R>
  - oracle.dbtools.plugin.api.jdbc.JDBCDataSource (also extends java.lang.Iterable<T>)
- oracle.dbtools.plugin.api.servlet.HasDynamicAuthorization
- oracle.dbtools.plugin.api.servlet.HasGetMethod
- oracle.dbtools.plugin.api.security.HasPrivileges
  - oracle.dbtools.plugin.api.security.PrivilegeSet
- oracle.dbtools.plugin.api.di.InstanceLocator
- oracle.dbtools.plugin.api.di.Instantiator<T>
- oracle.dbtools.plugin.api.io.IOStreams
- java.lang.Iterable<T>
  - oracle.dbtools.plugin.api.di.InstanceProvider<T> (also extends jakarta.inject.Provider<T>, java.util.function.Supplier<T>)
  - oracle.dbtools.plugin.api.jdbc.JDBCDataSource (also extends java.util.function.Function<T,​R>)
  - oracle.dbtools.plugin.api.i18n.LocalePreference
- java.util.Iterator<E>
  - oracle.dbtools.plugin.api.json.JSONReader (also extends java.io.Closeable)
- oracle.dbtools.plugin.api.jdbc.JDBCDataSources
- oracle.dbtools.plugin.api.json.objects.JSONNode
  - oracle.dbtools.plugin.api.json.objects.JSONArray
  - oracle.dbtools.plugin.api.json.objects.JSONObject
- oracle.dbtools.plugin.api.json.objects.JSONNode.Builder
  - oracle.dbtools.plugin.api.json.objects.JSONArray.Builder
  - oracle.dbtools.plugin.api.json.objects.JSONObject.Builder
- oracle.dbtools.plugin.api.json.objects.JSONObjects
- oracle.dbtools.plugin.api.json.JSONStreams
- oracle.dbtools.plugin.api.json.JSONToken
- oracle.dbtools.plugin.api.Lifecycle
- oracle.dbtools.plugin.api.logging.Log
- oracle.dbtools.plugin.api.collections.MultiMap<K,​V>
- oracle.dbtools.plugin.api.pagination.Pagination
- oracle.dbtools.plugin.api.pagination.PaginationContext
- oracle.dbtools.plugin.api.pagination.PaginationContext.Builder
- oracle.dbtools.plugin.api.pagination.PaginationMetadata
- oracle.dbtools.plugin.api.pagination.PaginationState
- oracle.dbtools.plugin.api.routes.PathTemplateMatch
- oracle.dbtools.plugin.api.routes.PathTemplates
- oracle.dbtools.plugin.api.security.PrivilegeConstraints
- oracle.dbtools.plugin.api.security.Privileges
- oracle.dbtools.plugin.api.security.PrivilegeSet.Builder
- oracle.dbtools.plugin.api.security.PrivilegeSets
- jakarta.inject.Provider<T>
  - oracle.dbtools.plugin.api.di.InstanceProvider<T> (also extends java.lang.Iterable<T>, java.util.function.Supplier<T>)
  - oracle.dbtools.plugin.api.types.TypeProvider<T> (also extends java.util.function.Supplier<T>)
- oracle.dbtools.plugin.api.di.ScopeConfiguration
- java.util.function.Supplier<T>
  - oracle.dbtools.plugin.api.di.InstanceProvider<T> (also extends java.lang.Iterable<T>, jakarta.inject.Provider<T>)
  - oracle.dbtools.plugin.api.types.TypeProvider<T> (also extends jakarta.inject.Provider<T>)
- oracle.dbtools.plugin.api.servlet.SupportsPatch
- oracle.dbtools.plugin.api.i18n.Translatable
  - oracle.dbtools.plugin.api.security.AuthenticationChallenge
- oracle.dbtools.plugin.api.types.TypeLocator
- oracle.dbtools.plugin.api.types.TypeQualifier<T>
- oracle.dbtools.plugin.api.types.TypeQualifier.Builder<T>
- oracle.dbtools.plugin.api.servlet.VersionedPlugin
- oracle.dbtools.plugin.api.servlet.VersionedPlugins

## Annotation Type Hierarchy

- oracle.dbtools.plugin.api.http.annotations.Accepts (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.di.annotations.ApplicationScoped (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.cmdline.annotations.Argument (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.BelongsTo (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.cmdline.annotations.Command (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.conf.ConfigurationSetting.Description (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.CORS (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.DeprecatedSince (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.DisabledBy (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.Dispatches (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.Documentation (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.EnabledBy (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.FrameOptions (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.IntroducedSince (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.cmdline.annotations.Option (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.di.annotations.Optional (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.PageSize (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.PathTemplate (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.PreHookSupport (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.di.annotations.Priority (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.security.annotations.Privilege (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.di.annotations.Provides (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.RemovedSince (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.di.annotations.RequestScoped (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.http.annotations.RequiresPrivilege (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.i18n.annotations.TranslatableDescription (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.i18n.annotations.TranslatableText (implements java.lang.annotation.Annotation)
- oracle.dbtools.plugin.api.security.annotations.Transport (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - oracle.dbtools.plugin.api.di.AvailableDependencies
    - oracle.dbtools.plugin.api.conf.ConfigurationStatus
    - oracle.dbtools.plugin.api.jdbc.ConnectionNotAvailableReason
    - oracle.dbtools.plugin.api.http.annotations.CrossOriginSharingPolicy
    - oracle.dbtools.plugin.api.http.annotations.DocumentationPolicy
    - oracle.dbtools.plugin.api.http.annotations.EnabledBy.Condition
    - oracle.dbtools.plugin.api.servlet.EntityTag.Strength
    - oracle.dbtools.plugin.api.ExtensionPoints
    - oracle.dbtools.plugin.api.http.annotations.FramePolicy
    - oracle.dbtools.plugin.api.http.annotations.HTTPAuthenticationScheme
    - oracle.dbtools.plugin.api.json.objects.JSONNode.Type
    - oracle.dbtools.plugin.api.json.JSONToken.Type
    - oracle.dbtools.plugin.api.pagination.PaginationStrategy
    - oracle.dbtools.plugin.api.http.annotations.PathSyntaxPolicy
    - oracle.dbtools.plugin.api.http.annotations.PreHookPolicy
    - oracle.dbtools.plugin.api.types.Primitive
    - oracle.dbtools.plugin.api.types.PrimitiveWrapper
    - oracle.dbtools.plugin.api.security.annotations.TransportPolicy
    - oracle.dbtools.plugin.api.types.TypeDependency.Kind
    - oracle.dbtools.plugin.api.types.TypeQualifier.MatchingMode