# Hierarchy For All Packages

Package Hierarchies:

- org.apache.felix.ipojo,
- org.apache.felix.ipojo.architecture,
- org.apache.felix.ipojo.configuration,
- org.apache.felix.ipojo.context,
- org.apache.felix.ipojo.dependency.impl,
- org.apache.felix.ipojo.dependency.interceptors,
- org.apache.felix.ipojo.extender,
- org.apache.felix.ipojo.extender.builder,
- org.apache.felix.ipojo.extender.internal,
- org.apache.felix.ipojo.extender.internal.builder,
- org.apache.felix.ipojo.extender.internal.declaration,
- org.apache.felix.ipojo.extender.internal.declaration.service,
- org.apache.felix.ipojo.extender.internal.linker,
- org.apache.felix.ipojo.extender.internal.processor,
- org.apache.felix.ipojo.extender.internal.queue,
- org.apache.felix.ipojo.extender.internal.queue.debug,
- org.apache.felix.ipojo.extender.internal.queue.pref,
- org.apache.felix.ipojo.extender.internal.queue.pref.enforce,
- org.apache.felix.ipojo.extender.queue,
- org.apache.felix.ipojo.extender.queue.debug,
- org.apache.felix.ipojo.handlers.architecture,
- org.apache.felix.ipojo.handlers.configuration,
- org.apache.felix.ipojo.handlers.context,
- org.apache.felix.ipojo.handlers.dependency,
- org.apache.felix.ipojo.handlers.lifecycle.callback,
- org.apache.felix.ipojo.handlers.lifecycle.controller,
- org.apache.felix.ipojo.handlers.providedservice,
- org.apache.felix.ipojo.handlers.providedservice.strategy,
- org.apache.felix.ipojo.parser,
- org.apache.felix.ipojo.util

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - java.util.ArrayList<E> (implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccess, java.io.Serializable)
        - org.apache.felix.ipojo.configuration.Instance.FluentList<T>
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.LinkedHashMap<K,V> (implements java.util.Map<K,V>)
        - org.apache.felix.ipojo.configuration.Instance.FluentMap<K,T>
    - java.util.TreeMap<K,V> (implements java.lang.Cloneable, java.util.NavigableMap<K,V>, java.io.Serializable)
      - org.apache.felix.ipojo.context.StringMap
  - org.apache.felix.ipojo.extender.internal.AbstractService (implements org.apache.felix.ipojo.extender.internal.Lifecycle)
    - org.apache.felix.ipojo.extender.internal.declaration.AbstractDeclaration (implements org.apache.felix.ipojo.extender.Declaration, org.apache.felix.ipojo.extender.DeclarationHandle, org.apache.felix.ipojo.extender.Status)
      - org.apache.felix.ipojo.extender.internal.declaration.DefaultExtensionDeclaration (implements org.apache.felix.ipojo.extender.ExtensionDeclaration)
      - org.apache.felix.ipojo.extender.internal.declaration.DefaultInstanceDeclaration (implements org.apache.felix.ipojo.extender.InstanceDeclaration)
      - org.apache.felix.ipojo.extender.internal.declaration.DefaultTypeDeclaration (implements org.apache.felix.ipojo.extender.TypeDeclaration)
    - org.apache.felix.ipojo.extender.internal.queue.AbstractQueueService (implements org.apache.felix.ipojo.extender.internal.queue.QueueNotifier, org.apache.felix.ipojo.extender.queue.QueueService)
      - org.apache.felix.ipojo.extender.internal.queue.ExecutorQueueService (implements org.apache.felix.ipojo.extender.internal.LifecycleQueueService, org.osgi.service.cm.ManagedService)
      - org.apache.felix.ipojo.extender.internal.queue.SynchronousQueueService (implements org.apache.felix.ipojo.extender.internal.LifecycleQueueService)
  - org.apache.felix.ipojo.util.Callback
    - org.apache.felix.ipojo.handlers.dependency.DependencyCallback
  - org.apache.felix.ipojo.extender.internal.processor.ChainedBundleProcessor (implements org.apache.felix.ipojo.extender.internal.BundleProcessor)
  - org.objectweb.asm.ClassVisitor
    - org.apache.felix.ipojo.extender.internal.processor.ConfigurationAnnotationScanner (implements org.objectweb.asm.Opcodes)
  - org.apache.felix.ipojo.dependency.impl.ComparatorBasedServiceRankingInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.ServiceRankingInterceptor)
  - org.apache.felix.ipojo.extender.internal.processor.ComponentsBundleProcessor (implements org.apache.felix.ipojo.extender.internal.BundleProcessor)
  - org.apache.felix.ipojo.architecture.ComponentTypeDescription
  - org.apache.felix.ipojo.extender.internal.processor.ConfigurationProcessor (implements org.apache.felix.ipojo.extender.internal.BundleProcessor)
  - org.apache.felix.ipojo.ConfigurationTracker (implements org.osgi.service.cm.ConfigurationListener)
  - org.apache.felix.ipojo.util.ContextSourceManager (implements org.apache.felix.ipojo.ContextListener)
  - org.apache.felix.ipojo.handlers.providedservice.CreationStrategy (implements org.osgi.framework.ServiceFactory<S>)
    - org.apache.felix.ipojo.handlers.providedservice.strategy.ConfigurableCreationStrategy
  - org.apache.felix.ipojo.extender.internal.linker.DeclarationLinker (implements org.apache.felix.ipojo.extender.internal.Lifecycle, org.osgi.util.tracker.ServiceTrackerCustomizer)
  - org.apache.felix.ipojo.extender.internal.declaration.service.DeclarationServiceFactory (implements org.osgi.framework.ServiceFactory<S>)
  - org.apache.felix.ipojo.extender.internal.declaration.service.DefaultConfigurationBuilder (implements org.apache.felix.ipojo.extender.ConfigurationBuilder)
  - org.apache.felix.ipojo.extender.internal.declaration.service.DefaultDeclarationBuilderService (implements org.apache.felix.ipojo.extender.DeclarationBuilderService)
  - org.apache.felix.ipojo.dependency.interceptors.DefaultDependencyInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.DependencyInterceptor)
    - org.apache.felix.ipojo.dependency.interceptors.DefaultServiceRankingInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.ServiceRankingInterceptor)
    - org.apache.felix.ipojo.dependency.interceptors.DefaultServiceTrackingInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.ServiceTrackingInterceptor)
  - org.apache.felix.ipojo.extender.internal.declaration.service.DefaultInstanceBuilder (implements org.apache.felix.ipojo.extender.InstanceBuilder)
  - org.apache.felix.ipojo.extender.internal.DefaultJob<T> (implements org.apache.felix.ipojo.extender.queue.Job<T>)
  - org.apache.felix.ipojo.handlers.dependency.DependencyConfigurationChecker
  - org.apache.felix.ipojo.handlers.dependency.DependencyDescription
  - org.apache.felix.ipojo.util.DependencyMetadataHelper
  - org.apache.felix.ipojo.util.DependencyModel
    - org.apache.felix.ipojo.handlers.dependency.Dependency (implements org.apache.felix.ipojo.ConstructorInjector, org.apache.felix.ipojo.FieldInterceptor, org.apache.felix.ipojo.MethodInterceptor)
  - org.apache.felix.ipojo.util.DependencyModel.ServiceBindingHolder
  - org.apache.felix.ipojo.dependency.impl.DependencyProperties
  - org.apache.felix.ipojo.dependency.impl.EmptyBasedServiceRankingInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.ServiceRankingInterceptor)
  - org.apache.felix.ipojo.handlers.providedservice.strategy.ErrorPrintingServiceFactoryProxy (implements java.lang.reflect.InvocationHandler)
  - org.apache.felix.ipojo.EventDispatcher (implements org.osgi.framework.ServiceListener)
  - org.apache.felix.ipojo.extender.internal.Extender (implements org.osgi.framework.BundleActivator)
  - org.apache.felix.ipojo.extender.internal.processor.ExtensionBundleProcessor (implements org.apache.felix.ipojo.extender.internal.BundleProcessor)
  - org.apache.felix.ipojo.parser.FieldMetadata
  - org.apache.felix.ipojo.util.Fields<T>
  - org.apache.felix.ipojo.dependency.impl.FilterBasedServiceTrackingInterceptor (implements org.apache.felix.ipojo.dependency.interceptors.ServiceTrackingInterceptor)
  - org.apache.felix.ipojo.extender.internal.processor.ForwardingBundleProcessor (implements org.apache.felix.ipojo.extender.internal.BundleProcessor)
    - org.apache.felix.ipojo.extender.internal.processor.QueuingActivationProcessor
    - org.apache.felix.ipojo.extender.internal.processor.ReverseBundleProcessor
  - org.apache.felix.ipojo.extender.internal.queue.pref.enforce.ForwardingQueueService (implements org.apache.felix.ipojo.extender.internal.LifecycleQueueService)
    - org.apache.felix.ipojo.extender.internal.queue.pref.enforce.EnforcedQueueService
  - org.apache.felix.ipojo.extender.internal.queue.GroupThreadFactory (implements java.util.concurrent.ThreadFactory)
  - org.apache.felix.ipojo.Handler
    - org.apache.felix.ipojo.PrimitiveHandler (implements org.apache.felix.ipojo.ConstructorInjector, org.apache.felix.ipojo.FieldInterceptor, org.apache.felix.ipojo.MethodInterceptor)
      - org.apache.felix.ipojo.handlers.architecture.ArchitectureHandler (implements org.apache.felix.ipojo.architecture.Architecture, org.apache.felix.ipojo.InstanceStateListener)
      - org.apache.felix.ipojo.handlers.context.BundleContextHandler
      - org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler (implements org.osgi.service.cm.ManagedService)
      - org.apache.felix.ipojo.handlers.lifecycle.controller.ControllerHandler
      - org.apache.felix.ipojo.handlers.dependency.DependencyHandler (implements org.apache.felix.ipojo.util.DependencyStateListener)
      - org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler
      - org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler
  - org.apache.felix.ipojo.architecture.HandlerDescription
    - org.apache.felix.ipojo.handlers.configuration.ConfigurationHandlerDescription
    - org.apache.felix.ipojo.handlers.dependency.DependencyHandlerDescription
    - org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandlerDescription
  - org.apache.felix.ipojo.extender.internal.queue.pref.HeaderPreferenceSelection (implements org.apache.felix.ipojo.extender.internal.queue.pref.PreferenceSelection)
  - org.apache.felix.ipojo.configuration.Instance
  - org.apache.felix.ipojo.configuration.Instance.Pair<K,V>
  - org.apache.felix.ipojo.configuration.Instance.Property<T>
  - org.apache.felix.ipojo.util.InstanceConfigurationSource (implements org.apache.felix.ipojo.ContextSource)
  - org.apache.felix.ipojo.architecture.InstanceDescription (implements org.apache.felix.ipojo.InstanceStateListener)
    - org.apache.felix.ipojo.PrimitiveInstanceDescription
  - org.apache.felix.ipojo.InstanceManager (implements org.apache.felix.ipojo.ComponentInstance, org.apache.felix.ipojo.extender.internal.linker.InstanceBundleContextAware, org.apache.felix.ipojo.InstanceStateListener)
    - org.apache.felix.ipojo.HandlerManager
  - org.apache.felix.ipojo.util.InvocationResult<T>
  - org.apache.felix.ipojo.IPojoContext (implements org.osgi.framework.BundleContext, org.apache.felix.ipojo.ServiceContext)
  - org.apache.felix.ipojo.IPojoFactory (implements org.apache.felix.ipojo.Factory)
    - org.apache.felix.ipojo.ComponentFactory (implements org.apache.felix.ipojo.util.TrackerCustomizer)
      - org.apache.felix.ipojo.HandlerManagerFactory (implements org.apache.felix.ipojo.HandlerFactory)
  - org.apache.felix.ipojo.IPojoFactory.DefaultNameGenerator (implements org.apache.felix.ipojo.IPojoFactory.NameGenerator)
  - org.apache.felix.ipojo.IPojoFactory.RequiredHandler (implements java.lang.Comparable<T>)
  - org.apache.felix.ipojo.IPojoFactory.RetryNameGenerator (implements org.apache.felix.ipojo.IPojoFactory.NameGenerator)
  - org.apache.felix.ipojo.extender.internal.queue.JobInfoCallable<T> (implements java.util.concurrent.Callable<V>, org.apache.felix.ipojo.extender.queue.JobInfo)
  - org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallback
  - org.apache.felix.ipojo.util.Logger (implements org.apache.felix.ipojo.util.Log)
  - org.apache.felix.ipojo.extender.internal.linker.ManagedType (implements org.apache.felix.ipojo.FactoryStateListener, org.apache.felix.ipojo.extender.internal.Lifecycle)
  - org.apache.felix.ipojo.parser.ManifestMetadataParser
  - org.apache.felix.ipojo.parser.MethodMetadata
  - org.apache.felix.ipojo.util.Methods<T>
  - org.apache.felix.ipojo.extender.internal.queue.NamingThreadFactory (implements java.util.concurrent.ThreadFactory)
  - org.apache.felix.ipojo.handlers.dependency.NullableObject (implements java.lang.reflect.InvocationHandler)
  - org.apache.felix.ipojo.parser.ParseUtils
  - org.apache.felix.ipojo.parser.PojoMetadata
  - org.apache.felix.ipojo.PolicyServiceContext (implements org.apache.felix.ipojo.ServiceContext)
  - org.apache.felix.ipojo.extender.internal.queue.pref.PreferenceQueueService (implements org.apache.felix.ipojo.extender.internal.LifecycleQueueService)
  - org.apache.felix.ipojo.extender.internal.queue.PrefixedThreadFactory (implements java.util.concurrent.ThreadFactory)
  - org.apache.felix.ipojo.util.Property (implements org.apache.felix.ipojo.ConstructorInjector, org.apache.felix.ipojo.FieldInterceptor)
  - org.apache.felix.ipojo.architecture.PropertyDescription
  - org.apache.felix.ipojo.handlers.providedservice.ProvidedService (implements org.osgi.framework.ServiceFactory<S>)
  - org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceDescription
  - org.apache.felix.ipojo.handlers.dependency.ProxyGenerator (implements org.objectweb.asm.Opcodes)
  - org.apache.felix.ipojo.util.Reflection
  - org.apache.felix.ipojo.extender.internal.builder.ReflectiveFactoryBuilder (implements org.apache.felix.ipojo.extender.builder.FactoryBuilder)
  - org.apache.felix.ipojo.extender.internal.queue.debug.ReplayQueueEventProxy (implements org.apache.felix.ipojo.extender.queue.debug.QueueEventProxy, org.apache.felix.ipojo.extender.queue.QueueListener)
  - org.apache.felix.ipojo.util.SecurityHelper
  - org.apache.felix.ipojo.handlers.dependency.ServiceList (implements java.util.List<E>)
  - org.apache.felix.ipojo.util.ServiceLocator<T>
  - org.apache.felix.ipojo.context.ServiceReferenceImpl (implements org.osgi.framework.ServiceReference<S>)
  - org.apache.felix.ipojo.dependency.impl.ServiceReferenceManager (implements org.apache.felix.ipojo.util.TrackerCustomizer)
  - org.apache.felix.ipojo.dependency.impl.ServiceReferenceManager.ChangeSet
  - org.apache.felix.ipojo.util.ServiceReferenceRankingComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - org.apache.felix.ipojo.dependency.impl.ServiceReferenceUtils
  - org.apache.felix.ipojo.context.ServiceRegistrationImpl (implements org.osgi.framework.ServiceRegistration<S>)
  - org.apache.felix.ipojo.context.ServiceRegistry
  - org.apache.felix.ipojo.handlers.dependency.ServiceSet (implements java.util.Collection<E>, java.util.Set<E>)
  - org.apache.felix.ipojo.handlers.dependency.ServiceUsage.Usage
  - org.apache.felix.ipojo.extender.internal.queue.Statistic
  - org.apache.felix.ipojo.util.StreamUtils
  - org.apache.felix.ipojo.util.SystemPropertiesSource (implements org.apache.felix.ipojo.ContextSource)
  - java.lang.ThreadLocal<T>
    - org.apache.felix.ipojo.handlers.dependency.ServiceUsage
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.apache.felix.ipojo.ConfigurationException
      - org.apache.felix.ipojo.extender.builder.FactoryBuilderException
      - org.apache.felix.ipojo.MissingHandlerException
      - org.apache.felix.ipojo.parser.ParseException
      - org.apache.felix.ipojo.UnacceptableConfiguration
  - org.apache.felix.ipojo.util.Tracker (implements org.apache.felix.ipojo.util.TrackerCustomizer)
  - org.apache.felix.ipojo.dependency.impl.TransformedServiceReferenceImpl<S> (implements org.apache.felix.ipojo.dependency.interceptors.TransformedServiceReference<S>)

## Interface Hierarchy

- org.apache.felix.ipojo.architecture.Architecture
- org.osgi.framework.BundleReference
  - org.osgi.framework.BundleContext
    - org.apache.felix.ipojo.ServiceContext
  - org.apache.felix.ipojo.extender.queue.Job<T> (also extends java.util.concurrent.Callable<V>)
  - org.apache.felix.ipojo.ServiceContext
- java.util.concurrent.Callable<V>
  - org.apache.felix.ipojo.extender.queue.Job<T> (also extends org.osgi.framework.BundleReference)
- org.apache.felix.ipojo.extender.queue.Callback<T>
- java.lang.Comparable<T>
  - org.osgi.framework.ServiceReference<S>
    - org.apache.felix.ipojo.dependency.interceptors.TransformedServiceReference<S>
  - org.apache.felix.ipojo.dependency.interceptors.TransformedServiceReference<S>
- org.apache.felix.ipojo.ComponentInstance
- org.apache.felix.ipojo.extender.ConfigurationBuilder
- org.apache.felix.ipojo.handlers.configuration.ConfigurationListener
- org.apache.felix.ipojo.ConstructorInjector
- org.apache.felix.ipojo.ContextListener
- org.apache.felix.ipojo.ContextSource
- org.apache.felix.ipojo.architecture.CustomHandlerInfo
- org.apache.felix.ipojo.extender.Declaration
  - org.apache.felix.ipojo.extender.ExtensionDeclaration
  - org.apache.felix.ipojo.extender.InstanceDeclaration
  - org.apache.felix.ipojo.extender.TypeDeclaration
- org.apache.felix.ipojo.extender.DeclarationBuilderService
- org.apache.felix.ipojo.extender.DeclarationHandle
- org.apache.felix.ipojo.dependency.interceptors.DependencyInterceptor
  - org.apache.felix.ipojo.dependency.interceptors.ServiceBindingInterceptor
  - org.apache.felix.ipojo.dependency.interceptors.ServiceRankingInterceptor
  - org.apache.felix.ipojo.dependency.interceptors.ServiceTrackingInterceptor
- org.apache.felix.ipojo.util.DependencyStateListener
  - org.apache.felix.ipojo.util.DependencyModelListener
- org.apache.felix.ipojo.ErrorHandler
- org.apache.felix.ipojo.Factory
  - org.apache.felix.ipojo.HandlerFactory
- org.apache.felix.ipojo.extender.builder.FactoryBuilder
- org.apache.felix.ipojo.FactoryStateListener
- org.apache.felix.ipojo.FieldInterceptor
- org.apache.felix.ipojo.extender.InstanceBuilder
- org.apache.felix.ipojo.extender.internal.linker.InstanceBundleContextAware
- org.apache.felix.ipojo.InstanceStateListener
- org.apache.felix.ipojo.IPojoFactory.NameGenerator
- org.apache.felix.ipojo.IPOJOServiceFactory
  - org.apache.felix.ipojo.handlers.providedservice.strategy.ServiceObjectFactory
- org.apache.felix.ipojo.extender.queue.JobInfo
- org.apache.felix.ipojo.extender.internal.Lifecycle
  - org.apache.felix.ipojo.extender.internal.BundleProcessor
  - org.apache.felix.ipojo.extender.internal.LifecycleQueueService (also extends org.apache.felix.ipojo.extender.queue.QueueService)
- org.apache.felix.ipojo.util.Log
- org.apache.felix.ipojo.MethodInterceptor
- org.apache.felix.ipojo.Nullable
- org.apache.felix.ipojo.Pojo
- org.apache.felix.ipojo.extender.internal.queue.pref.PreferenceSelection
- org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceListener
- org.apache.felix.ipojo.extender.queue.debug.QueueEventProxy
- org.apache.felix.ipojo.extender.queue.QueueListener
- org.apache.felix.ipojo.extender.internal.queue.QueueNotifier
- org.apache.felix.ipojo.extender.queue.QueueService
  - org.apache.felix.ipojo.extender.internal.LifecycleQueueService (also extends org.apache.felix.ipojo.extender.internal.Lifecycle)
- org.apache.felix.ipojo.extender.Status
- org.apache.felix.ipojo.util.TrackerCustomizer

## Annotation Type Hierarchy

- org.apache.felix.ipojo.configuration.Configuration (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.felix.ipojo.extender.internal.queue.pref.Preference
    - org.apache.felix.ipojo.handlers.dependency.AggregateDependencyInjectionType
    - org.apache.felix.ipojo.util.DependencyModel.DependencyEventType