# Hierarchy For All Packages

Package Hierarchies:

- org.apache.sling.models.annotations,
- org.apache.sling.models.annotations.apt,
- org.apache.sling.models.annotations.injectorspecific,
- org.apache.sling.models.annotations.via,
- org.apache.sling.models.export.spi,
- org.apache.sling.models.factory,
- org.apache.sling.models.spi,
- org.apache.sling.models.spi.injectorspecific

## Class Hierarchy

- java.lang.Object
  - org.apache.sling.models.spi.injectorspecific.AbstractInjectAnnotationProcessor (implements org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessor)
    - org.apache.sling.models.spi.injectorspecific.AbstractInjectAnnotationProcessor2 (implements org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessor2)
  - javax.annotation.processing.AbstractProcessor (implements javax.annotation.processing.Processor)
    - org.apache.sling.models.annotations.apt.ValidatingAnnotationProcessor
  - org.apache.sling.models.annotations.via.BeanProperty (implements org.apache.sling.models.annotations.ViaProviderType)
  - org.apache.sling.models.annotations.via.ChildResource (implements org.apache.sling.models.annotations.ViaProviderType)
  - org.apache.sling.models.annotations.via.ForcedResourceType (implements org.apache.sling.models.annotations.ViaProviderType)
  - org.apache.sling.models.annotations.via.OriginalResourceType (implements org.apache.sling.models.annotations.ViaProviderType)
  - org.apache.sling.models.annotations.via.ResourceSuperType (implements org.apache.sling.models.annotations.ViaProviderType)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.apache.sling.models.factory.ExportException
      - org.apache.sling.models.factory.MissingExporterException
      - java.lang.RuntimeException
        - org.apache.sling.models.factory.InvalidAdaptableException
        - org.apache.sling.models.factory.InvalidModelException
        - org.apache.sling.models.factory.MissingElementException
        - org.apache.sling.models.factory.MissingElementsException
        - org.apache.sling.models.factory.ModelClassException
          - org.apache.sling.models.factory.PostConstructException
        - org.apache.sling.models.factory.ValidationException

## Interface Hierarchy

- org.apache.sling.models.spi.AcceptsNullName
- org.apache.sling.models.spi.DisposalCallback
- org.apache.sling.models.spi.DisposalCallbackRegistry
- org.apache.sling.models.spi.ImplementationPicker
- org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessor
  - org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessor2
- org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessorFactory
- org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessorFactory2
- org.apache.sling.models.spi.Injector
- org.apache.sling.models.export.spi.ModelExporter
- org.apache.sling.models.factory.ModelFactory
- org.apache.sling.models.spi.ModelValidation
- org.apache.sling.models.spi.injectorspecific.StaticInjectAnnotationProcessorFactory
- org.apache.sling.models.spi.ValuePreparer
- org.apache.sling.models.spi.ViaProvider
- org.apache.sling.models.annotations.ViaProviderType

## Annotation Interface Hierarchy

- org.apache.sling.models.annotations.injectorspecific.ChildResource (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Default (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Exporter (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.ExporterOption (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Exporters (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Filter (implements java.lang.annotation.Annotation)
- org.apache.sling.models.spi.injectorspecific.InjectAnnotation (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Model (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Optional (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.OSGiService (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Path (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.RequestAttribute (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Required (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.ResourcePath (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.ScriptVariable (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.Self (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.SlingObject (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Source (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.injectorspecific.ValueMapValue (implements java.lang.annotation.Annotation)
- org.apache.sling.models.annotations.Via (implements java.lang.annotation.Annotation)

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.apache.sling.models.annotations.DefaultInjectionStrategy
    - org.apache.sling.models.annotations.injectorspecific.InjectionStrategy
    - org.apache.sling.models.annotations.ValidationStrategy