# Hierarchy For All Packages

Package Hierarchies:

- com.io7m.laurel.cmdline,
- com.io7m.laurel.cmdline.internal,
- com.io7m.laurel.filemodel,
- com.io7m.laurel.filemodel.internal,
- com.io7m.laurel.filemodel.internal.tables,
- com.io7m.laurel.model

## Class Hierarchy

- java.lang.Object
  - org.jooq.impl.CatalogImpl (implements org.jooq.Catalog)
    - com.io7m.laurel.filemodel.internal.DefaultCatalog
  - com.io7m.darco.sqlite.DSDatabaseFactory<C,N,T,Q,D> (implements com.io7m.darco.api.DDatabaseFactoryType<C,N,T,Q,D>)
    - com.io7m.laurel.filemodel.internal.LDatabaseFactory (implements com.io7m.laurel.filemodel.internal.LDatabaseFactoryType)
  - com.io7m.laurel.filemodel.internal.Keys
  - com.io7m.laurel.filemodel.internal.LCaptionFiles
  - com.io7m.laurel.cmdline.internal.LCExport (implements java.util.concurrent.Flow.Subscriber<T>, com.io7m.quarrel.core.QCommandType)
  - com.io7m.laurel.cmdline.internal.LCImport (implements java.util.concurrent.Flow.Subscriber<T>, com.io7m.quarrel.core.QCommandType)
  - com.io7m.laurel.cmdline.LCMain (implements java.lang.Runnable)
  - com.io7m.laurel.filemodel.internal.LCommandAbstract<T> (implements com.io7m.laurel.filemodel.internal.LCommandType<P>)
    - com.io7m.laurel.filemodel.internal.LCommandCaptionDelete
    - com.io7m.laurel.filemodel.internal.LCommandCaptionsAdd
    - com.io7m.laurel.filemodel.internal.LCommandCaptionsModify
    - com.io7m.laurel.filemodel.internal.LCommandCategoriesAdd
    - com.io7m.laurel.filemodel.internal.LCommandCategoriesSetRequired
    - com.io7m.laurel.filemodel.internal.LCommandCategoriesUnsetRequired
    - com.io7m.laurel.filemodel.internal.LCommandCategoryCaptionsAssign
    - com.io7m.laurel.filemodel.internal.LCommandCategoryCaptionsUnassign
    - com.io7m.laurel.filemodel.internal.LCommandCategorySelect
    - com.io7m.laurel.filemodel.internal.LCommandCompact
    - com.io7m.laurel.filemodel.internal.LCommandExport
    - com.io7m.laurel.filemodel.internal.LCommandGlobalCaptionModify
    - com.io7m.laurel.filemodel.internal.LCommandGlobalCaptionOrderLower
    - com.io7m.laurel.filemodel.internal.LCommandGlobalCaptionOrderUpper
    - com.io7m.laurel.filemodel.internal.LCommandGlobalCaptionsAdd
    - com.io7m.laurel.filemodel.internal.LCommandGlobalCaptionsRemove
    - com.io7m.laurel.filemodel.internal.LCommandImageCaptionsAssign
    - com.io7m.laurel.filemodel.internal.LCommandImageCaptionsUnassign
    - com.io7m.laurel.filemodel.internal.LCommandImagesAdd
    - com.io7m.laurel.filemodel.internal.LCommandImagesDelete
    - com.io7m.laurel.filemodel.internal.LCommandImageSelect
    - com.io7m.laurel.filemodel.internal.LCommandImageSourceSet
    - com.io7m.laurel.filemodel.internal.LCommandLoad
    - com.io7m.laurel.filemodel.internal.LCommandMetadataPut
    - com.io7m.laurel.filemodel.internal.LCommandMetadataRemove
    - com.io7m.laurel.filemodel.internal.LCommandValidate
  - com.io7m.laurel.filemodel.internal.LCommandModelUpdates
  - com.io7m.laurel.filemodel.internal.LCommands
  - com.io7m.laurel.cmdline.LCVersion
  - com.io7m.laurel.filemodel.internal.LFileModel (implements com.io7m.laurel.filemodel.LFileModelType)
  - com.io7m.laurel.filemodel.internal.LFileModelImport (implements com.io7m.laurel.filemodel.LFileModelImportType)
  - com.io7m.laurel.filemodel.LFileModels
  - com.io7m.laurel.filemodel.internal.LImageComparisonModel
  - org.jooq.impl.SchemaImpl (implements org.jooq.Schema)
    - com.io7m.laurel.filemodel.internal.DefaultSchema
  - org.jooq.impl.TableImpl<R>
    - com.io7m.laurel.filemodel.internal.tables.CaptionCategories
      - com.io7m.laurel.filemodel.internal.tables.CaptionCategories.CaptionCategoriesPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.Captions
      - com.io7m.laurel.filemodel.internal.tables.Captions.CaptionsPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.Categories
      - com.io7m.laurel.filemodel.internal.tables.Categories.CategoriesPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.GlobalCaptions
    - com.io7m.laurel.filemodel.internal.tables.ImageBlobs
      - com.io7m.laurel.filemodel.internal.tables.ImageBlobs.ImageBlobsPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.ImageCaptions
      - com.io7m.laurel.filemodel.internal.tables.ImageCaptions.ImageCaptionsPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.ImageCaptionsCounts
    - com.io7m.laurel.filemodel.internal.tables.Images
      - com.io7m.laurel.filemodel.internal.tables.Images.ImagesPath (implements org.jooq.Path<R>)
    - com.io7m.laurel.filemodel.internal.tables.Metadata
    - com.io7m.laurel.filemodel.internal.tables.Redo
    - com.io7m.laurel.filemodel.internal.tables.SchemaVersion
    - com.io7m.laurel.filemodel.internal.tables.Undo
  - com.io7m.laurel.filemodel.internal.Tables
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - com.io7m.laurel.model.LException (implements com.io7m.seltzer.api.SStructuredErrorExceptionType<C>)

## Interface Hierarchy

- java.lang.AutoCloseable
  - com.io7m.darco.api.DDatabaseConnectionType<T>
    - com.io7m.laurel.filemodel.internal.LDatabaseConnectionType
  - com.io7m.darco.api.DDatabaseTransactionType
    - com.io7m.laurel.filemodel.internal.LDatabaseTransactionType
  - com.io7m.darco.api.DDatabaseType<C,N,T,Q>
    - com.io7m.laurel.filemodel.internal.LDatabaseType
  - com.io7m.laurel.filemodel.LFileModelImportType
  - com.io7m.laurel.filemodel.LFileModelType
- com.io7m.darco.api.DDatabaseFactoryType<C,N,T,Q,D>
  - com.io7m.laurel.filemodel.internal.LDatabaseFactoryType
- com.io7m.darco.api.DDatabaseQueryProviderType<T,P,R,Q>
  - com.io7m.laurel.filemodel.internal.LDatabaseQueryProviderType<P,R,Q>
- com.io7m.laurel.filemodel.internal.LCommandFactoryType<T>
- com.io7m.laurel.filemodel.internal.LCommandType<P>
- com.io7m.laurel.filemodel.LFileModelEventType
- com.io7m.laurel.filemodel.LFileModelStatusType
- com.io7m.laurel.model.LHashType
- com.io7m.laurel.filemodel.LValidationProblemType

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - com.io7m.laurel.filemodel.internal.LCommandUndoable

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - com.io7m.laurel.model.LCaption (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LCaptionID (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LCaptionName (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LCategory (implements java.lang.Comparable<T>)
    - com.io7m.laurel.filemodel.LCategoryCaptionsAssignment
    - com.io7m.laurel.model.LCategoryID (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LCategoryName (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LCommandRecord
    - com.io7m.laurel.filemodel.internal.LDatabaseConfiguration (implements com.io7m.darco.sqlite.DSDatabaseConfigurationType)
    - com.io7m.laurel.filemodel.LExportRequest
    - com.io7m.laurel.filemodel.LFileModelEvent (implements com.io7m.laurel.filemodel.LFileModelEventType)
    - com.io7m.laurel.filemodel.LFileModelEventError (implements com.io7m.laurel.filemodel.LFileModelEventType, com.io7m.seltzer.api.SStructuredErrorType<C>)
    - com.io7m.laurel.filemodel.LFileModelStatusError (implements com.io7m.laurel.filemodel.LFileModelStatusType)
    - com.io7m.laurel.filemodel.LFileModelStatusIdle (implements com.io7m.laurel.filemodel.LFileModelStatusType)
    - com.io7m.laurel.filemodel.LFileModelStatusLoading (implements com.io7m.laurel.filemodel.LFileModelStatusType)
    - com.io7m.laurel.filemodel.LFileModelStatusRunningCommand (implements com.io7m.laurel.filemodel.LFileModelStatusType)
    - com.io7m.laurel.model.LGlobalCaption (implements java.lang.Comparable<T>)
    - com.io7m.laurel.model.LHashSHA256 (implements com.io7m.laurel.model.LHashType)
    - com.io7m.laurel.model.LImage
    - com.io7m.laurel.filemodel.LImageCaptionsAssignment
    - com.io7m.laurel.filemodel.LImageComparison
    - com.io7m.laurel.model.LImageID (implements java.lang.Comparable<T>)
    - com.io7m.laurel.filemodel.internal.LImageRequest
    - com.io7m.laurel.filemodel.internal.LImageSourceSet
    - com.io7m.laurel.model.LImageWithID
    - com.io7m.laurel.model.LMetadataValue (implements java.lang.Comparable<T>)
    - com.io7m.laurel.filemodel.LValidationProblemType.ImageMissingRequiredCaption (implements com.io7m.laurel.filemodel.LValidationProblemType)