Class Hierarchy
Date: 2015-09-11

# Hierarchy For All Packages

Package Hierarchies:

- javax.decorator,
- javax.enterprise.context,
- javax.enterprise.context.spi,
- javax.enterprise.event,
- javax.enterprise.inject,
- javax.enterprise.inject.spi,
- javax.enterprise.util

## Class Hierarchy

- java.lang.Object
  - javax.enterprise.util.AnnotationLiteral<T> (implements java.lang.annotation.Annotation, java.io.Serializable)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - javax.enterprise.context.ContextException
          - javax.enterprise.context.BusyConversationException
          - javax.enterprise.context.ContextNotActiveException
          - javax.enterprise.context.NonexistentConversationException
        - javax.enterprise.inject.InjectionException
          - javax.enterprise.inject.CreationException
          - javax.enterprise.inject.IllegalProductException
          - javax.enterprise.inject.ResolutionException
            - javax.enterprise.inject.AmbiguousResolutionException
            - javax.enterprise.inject.UnproxyableResolutionException
            - javax.enterprise.inject.UnsatisfiedResolutionException
        - javax.enterprise.event.ObserverException
  - javax.enterprise.util.TypeLiteral<T> (implements java.io.Serializable)

## Interface Hierarchy

- javax.enterprise.inject.spi.AfterBeanDiscovery
- javax.enterprise.inject.spi.AfterDeploymentValidation
- javax.enterprise.inject.spi.Annotated
  - javax.enterprise.inject.spi.AnnotatedCallable<X>
    - javax.enterprise.inject.spi.AnnotatedConstructor<X>
    - javax.enterprise.inject.spi.AnnotatedMethod<X>
  - javax.enterprise.inject.spi.AnnotatedConstructor<X>
  - javax.enterprise.inject.spi.AnnotatedField<X>
  - javax.enterprise.inject.spi.AnnotatedMember<X>
    - javax.enterprise.inject.spi.AnnotatedCallable<X>
      - javax.enterprise.inject.spi.AnnotatedConstructor<X>
      - javax.enterprise.inject.spi.AnnotatedMethod<X>
    - javax.enterprise.inject.spi.AnnotatedConstructor<X>
    - javax.enterprise.inject.spi.AnnotatedField<X>
    - javax.enterprise.inject.spi.AnnotatedMethod<X>
  - javax.enterprise.inject.spi.AnnotatedMethod<X>
  - javax.enterprise.inject.spi.AnnotatedParameter<X>
  - javax.enterprise.inject.spi.AnnotatedType<X>
- javax.enterprise.inject.spi.BeanManager
- javax.enterprise.inject.spi.BeforeBeanDiscovery
- javax.enterprise.inject.spi.BeforeShutdown
- javax.enterprise.context.spi.Context
- javax.enterprise.context.spi.Contextual<T>
  - javax.enterprise.inject.spi.Bean<T>
    - javax.enterprise.inject.spi.Decorator<T>
    - javax.enterprise.inject.spi.Interceptor<T>
  - javax.enterprise.inject.spi.Decorator<T>
  - javax.enterprise.inject.spi.Interceptor<T>
- javax.enterprise.context.Conversation
- javax.enterprise.context.spi.CreationalContext<T>
- javax.enterprise.event.Event<T>
- javax.enterprise.inject.spi.Extension
- javax.enterprise.inject.spi.InjectionPoint
- java.lang.Iterable<T>
  - javax.enterprise.inject.Instance<T> (also extends javax.inject.Provider<T>)
- javax.enterprise.inject.spi.ObserverMethod<T>
- javax.enterprise.inject.spi.PassivationCapable
- javax.enterprise.inject.spi.ProcessAnnotatedType<X>
- javax.enterprise.inject.spi.ProcessBean<X>
  - javax.enterprise.inject.spi.ProcessManagedBean<X>
    - javax.enterprise.inject.spi.ProcessSessionBean<X>
  - javax.enterprise.inject.spi.ProcessProducerField<T,X>
  - javax.enterprise.inject.spi.ProcessProducerMethod<T,X>
  - javax.enterprise.inject.spi.ProcessSessionBean<X>
- javax.enterprise.inject.spi.ProcessInjectionTarget<X>
- javax.enterprise.inject.spi.ProcessObserverMethod<T,X>
- javax.enterprise.inject.spi.ProcessProducer<T,X>
- javax.enterprise.inject.spi.Producer<T>
  - javax.enterprise.inject.spi.InjectionTarget<T>
- javax.inject.Provider<T>
  - javax.enterprise.inject.Instance<T> (also extends java.lang.Iterable<T>)

## Annotation Type Hierarchy

- javax.decorator.Delegate (implements java.lang.annotation.Annotation)
- javax.decorator.Decorator (implements java.lang.annotation.Annotation)
- javax.enterprise.context.ApplicationScoped (implements java.lang.annotation.Annotation)
- javax.enterprise.context.RequestScoped (implements java.lang.annotation.Annotation)
- javax.enterprise.context.ConversationScoped (implements java.lang.annotation.Annotation)
- javax.enterprise.context.NormalScope (implements java.lang.annotation.Annotation)
- javax.enterprise.context.SessionScoped (implements java.lang.annotation.Annotation)
- javax.enterprise.context.Dependent (implements java.lang.annotation.Annotation)
- javax.enterprise.util.Nonbinding (implements java.lang.annotation.Annotation)
- javax.enterprise.event.Observes (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Produces (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Alternative (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Specializes (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Disposes (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Model (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Stereotype (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Any (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Typed (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.Default (implements java.lang.annotation.Annotation)
- javax.enterprise.inject.New (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - javax.enterprise.event.Reception
    - javax.enterprise.event.TransactionPhase
    - javax.enterprise.inject.spi.InterceptionType
    - javax.enterprise.inject.spi.SessionBeanType