# Hierarchy For All Packages

Package Hierarchies:

- org.jboss.logging.processor.apt,
- org.jboss.logging.processor.apt.report,
- org.jboss.logging.processor.generator.model,
- org.jboss.logging.processor.model,
- org.jboss.logging.processor.util,
- org.jboss.logging.processor.validation

## Class Hierarchy

- java.lang.Object
  - org.jboss.logging.processor.apt.AbstractGenerator
    - org.jboss.logging.processor.apt.ReportFileGenerator
  - javax.annotation.processing.AbstractProcessor (implements javax.annotation.processing.Processor)
    - org.jboss.logging.processor.apt.LoggingToolsProcessor
  - org.jboss.logging.processor.generator.model.ClassModel
  - org.jboss.logging.processor.generator.model.ClassModelFactory
  - org.jboss.logging.processor.generator.model.ClassModelHelper
  - org.jboss.logging.processor.util.Comparison
  - org.jboss.logging.processor.util.ElementHelper
  - org.jboss.logging.processor.util.Expressions
  - org.jboss.logging.processor.validation.FormatValidatorFactory
  - org.jboss.logging.processor.validation.IdLengthValidator
  - org.jboss.logging.processor.validation.IdRangeValidator
  - org.jboss.logging.processor.validation.MessageIdValidator
  - org.jboss.logging.processor.apt.MessageInterfaceFactory
  - org.jboss.logging.processor.util.Objects
  - org.jboss.logging.processor.util.Objects.HashCodeBuilder
  - org.jboss.logging.processor.util.Objects.ToStringBuilder
  - org.jboss.logging.processor.apt.report.ReportWriter (implements java.io.Closeable)
  - org.jboss.logging.processor.validation.StringFormatValidator
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.jboss.logging.processor.apt.ProcessingException
  - org.jboss.logging.processor.apt.ToolLogger
  - org.jboss.logging.processor.util.TranslationHelper
  - org.jboss.logging.processor.validation.ValidationMessageFactory
  - org.jboss.logging.processor.validation.Validator
  - org.jboss.logging.processor.util.VersionComparator (implements java.util.Comparator<T>)

## Interface Hierarchy

- javax.lang.model.AnnotatedConstruct
  - org.jboss.logging.processor.model.ClassType
    - org.jboss.logging.processor.model.MessageInterface (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.DelegatingTypeElement, org.jboss.logging.processor.model.JavaDocComment)
    - org.jboss.logging.processor.model.Parameter (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.DelegatingElement)
    - org.jboss.logging.processor.model.ReturnType (also extends org.jboss.logging.processor.model.DelegatingElement)
    - org.jboss.logging.processor.model.ThrowableType (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.DelegatingElement)
  - javax.lang.model.element.Element
    - org.jboss.logging.processor.model.DelegatingElement
      - org.jboss.logging.processor.model.DelegatingExecutableElement (also extends javax.lang.model.element.ExecutableElement)
        - org.jboss.logging.processor.model.MessageMethod (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
      - org.jboss.logging.processor.model.DelegatingTypeElement (also extends javax.lang.model.element.TypeElement)
        - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
      - org.jboss.logging.processor.model.Parameter (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>)
      - org.jboss.logging.processor.model.ReturnType (also extends org.jboss.logging.processor.model.ClassType)
      - org.jboss.logging.processor.model.ThrowableType (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>)
    - javax.lang.model.element.ExecutableElement (also extends javax.lang.model.element.Parameterizable)
      - org.jboss.logging.processor.model.DelegatingExecutableElement (also extends org.jboss.logging.processor.model.DelegatingElement)
        - org.jboss.logging.processor.model.MessageMethod (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
    - javax.lang.model.element.Parameterizable
      - javax.lang.model.element.ExecutableElement (also extends javax.lang.model.element.Element)
        - org.jboss.logging.processor.model.DelegatingExecutableElement (also extends org.jboss.logging.processor.model.DelegatingElement)
          - org.jboss.logging.processor.model.MessageMethod (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
      - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Element, javax.lang.model.element.QualifiedNameable)
        - org.jboss.logging.processor.model.DelegatingTypeElement (also extends org.jboss.logging.processor.model.DelegatingElement)
          - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
    - javax.lang.model.element.QualifiedNameable
      - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Element, javax.lang.model.element.Parameterizable)
        - org.jboss.logging.processor.model.DelegatingTypeElement (also extends org.jboss.logging.processor.model.DelegatingElement)
          - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
    - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Parameterizable, javax.lang.model.element.QualifiedNameable)
      - org.jboss.logging.processor.model.DelegatingTypeElement (also extends org.jboss.logging.processor.model.DelegatingElement)
        - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>, org.jboss.logging.processor.model.JavaDocComment)
- java.lang.Comparable<T>
  - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, org.jboss.logging.processor.model.DelegatingTypeElement, org.jboss.logging.processor.model.JavaDocComment)
  - org.jboss.logging.processor.model.MessageMethod (also extends org.jboss.logging.processor.model.DelegatingExecutableElement, org.jboss.logging.processor.model.JavaDocComment)
  - org.jboss.logging.processor.model.Parameter (also extends org.jboss.logging.processor.model.ClassType, org.jboss.logging.processor.model.DelegatingElement)
  - org.jboss.logging.processor.model.ThrowableType (also extends org.jboss.logging.processor.model.ClassType, org.jboss.logging.processor.model.DelegatingElement)
- org.jboss.logging.processor.validation.FormatValidator
- org.jboss.logging.processor.model.JavaDocComment
  - org.jboss.logging.processor.model.MessageInterface (also extends org.jboss.logging.processor.model.ClassType, java.lang.Comparable<T>, org.jboss.logging.processor.model.DelegatingTypeElement)
  - org.jboss.logging.processor.model.MessageMethod (also extends java.lang.Comparable<T>, org.jboss.logging.processor.model.DelegatingExecutableElement)
- org.jboss.logging.processor.model.MessageMethod.Message
- org.jboss.logging.processor.validation.ValidationMessage

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.jboss.logging.processor.apt.report.ReportType
    - org.jboss.logging.processor.validation.ValidationMessage.Type