# Hierarchy For All Packages

Package Hierarchies:

- org.apache.commons.fileupload2.core,
- org.apache.commons.fileupload2.jakarta.servlet6

## Class Hierarchy

- java.lang.Object
  - org.apache.commons.fileupload2.core.AbstractFileUpload<R,I,F>
    - org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload<I,F>
      - org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload
  - org.apache.commons.fileupload2.core.AbstractRequestContext<T> (implements org.apache.commons.fileupload2.core.RequestContext)
    - org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletRequestContext
  - org.apache.commons.io.build.AbstractSupplier<T,B> (implements org.apache.commons.io.function.IOSupplier<T>)
    - org.apache.commons.io.build.AbstractOriginSupplier<T,B>
      - org.apache.commons.io.build.AbstractStreamBuilder<T,B>
        - org.apache.commons.fileupload2.core.DiskFileItemFactory.Builder
        - org.apache.commons.fileupload2.core.FileItemFactory.AbstractFileItemBuilder<I,B>
          - org.apache.commons.fileupload2.core.DiskFileItem.Builder
        - org.apache.commons.fileupload2.core.MultipartInput.Builder
  - org.apache.commons.fileupload2.core.DiskFileItem (implements org.apache.commons.fileupload2.core.FileItem<F>)
  - org.apache.commons.fileupload2.core.DiskFileItemFactory (implements org.apache.commons.fileupload2.core.FileItemFactory<I>)
  - java.io.InputStream (implements java.io.Closeable)
    - org.apache.commons.fileupload2.core.MultipartInput.ItemInputStream
  - org.apache.commons.fileupload2.jakarta.servlet6.JakartaFileCleaner (implements jakarta.servlet.ServletContextListener)
  - org.apache.commons.fileupload2.core.MultipartInput
  - org.apache.commons.fileupload2.core.MultipartInput.ProgressNotifier
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - org.apache.commons.fileupload2.core.DeferrableOutputStream
  - org.apache.commons.fileupload2.core.ParameterParser
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.io.IOException
        - org.apache.commons.fileupload2.core.FileUploadException
          - org.apache.commons.fileupload2.core.FileItemInput.ItemSkippedException
          - org.apache.commons.fileupload2.core.FileUploadContentTypeException
          - org.apache.commons.fileupload2.core.FileUploadSizeException
            - org.apache.commons.fileupload2.core.FileUploadByteCountLimitException
            - org.apache.commons.fileupload2.core.FileUploadFileCountLimitException
          - org.apache.commons.fileupload2.core.MultipartInput.FileUploadBoundaryException
          - org.apache.commons.fileupload2.core.MultipartInput.MalformedStreamException

## Interface Hierarchy

- org.apache.commons.fileupload2.core.DeferrableOutputStream.Listener
- org.apache.commons.fileupload2.core.FileItemFactory<I>
- org.apache.commons.fileupload2.core.FileItemHeaders
- org.apache.commons.fileupload2.core.FileItemHeadersProvider<T>
  - org.apache.commons.fileupload2.core.FileItem<F>
  - org.apache.commons.fileupload2.core.FileItemInput
- org.apache.commons.io.function.IOIterator<E>
  - org.apache.commons.fileupload2.core.FileItemInputIterator
- org.apache.commons.fileupload2.core.ProgressListener
- org.apache.commons.fileupload2.core.RequestContext

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.commons.fileupload2.core.DeferrableOutputStream.State