FELIX-3708 java-5-isms

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1480109 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java b/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java
index 7a243fb..13b8207 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java
@@ -58,7 +58,7 @@
  * <code>service.factoryPid</code> equals the component name.</li>
  * </ul>
  */
-public class ImmediateComponentHolder implements ComponentHolder, SimpleLogger
+public class ImmediateComponentHolder<S> implements ComponentHolder, SimpleLogger
 {
 
     /**
@@ -74,10 +74,10 @@
     /**
      * A map of components configured with factory configuration. The indices
      * are the PIDs (<code>service.pid</code>) of the configuration objects.
-     * The values are the {@link ImmediateComponentManager component instances}
+     * The values are the {@link ImmediateComponentManager<S> component instances}
      * created on behalf of the configurations.
      */
-    private final Map<String, ImmediateComponentManager> m_components;
+    private final Map<String, ImmediateComponentManager<S>> m_components;
 
     /**
      * The special component used if there is no configuration or a singleton
@@ -95,7 +95,7 @@
      * by this field is also contained in the map</li>
      * <ul>
      */
-    private ImmediateComponentManager m_singleComponent;
+    private ImmediateComponentManager<S> m_singleComponent;
 
     /**
      * Whether components have already been enabled by calling the
@@ -114,33 +114,33 @@
     {
         this.m_activator = activator;
         this.m_componentMetadata = metadata;
-        this.m_components = new HashMap<String, ImmediateComponentManager>();
+        this.m_components = new HashMap<String, ImmediateComponentManager<S>>();
         this.m_componentMethods = new ComponentMethods();
         this.m_singleComponent = createComponentManager();
         this.m_enabled = false;
     }
 
-    protected ImmediateComponentManager createComponentManager()
+    protected ImmediateComponentManager<S> createComponentManager()
     {
 
-        ImmediateComponentManager manager;
+        ImmediateComponentManager<S> manager;
         if ( m_componentMetadata.isFactory() )
         {
             throw new IllegalArgumentException( "Cannot create component factory for " + m_componentMetadata.getName() );
         }
         else if ( m_componentMetadata.isImmediate() )
         {
-            manager = new ImmediateComponentManager( m_activator, this, m_componentMetadata, m_componentMethods );
+            manager = new ImmediateComponentManager<S>( m_activator, this, m_componentMetadata, m_componentMethods );
         }
         else if ( m_componentMetadata.getServiceMetadata() != null )
         {
             if ( m_componentMetadata.getServiceMetadata().isServiceFactory() )
             {
-                manager = new ServiceFactoryComponentManager( m_activator, this, m_componentMetadata, m_componentMethods );
+                manager = new ServiceFactoryComponentManager<S>( m_activator, this, m_componentMetadata, m_componentMethods );
             }
             else
             {
-                manager = new DelayedComponentManager( m_activator, this, m_componentMetadata, m_componentMethods );
+                manager = new DelayedComponentManager<S>( m_activator, this, m_componentMetadata, m_componentMethods );
             }
         }
         else
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/DelayedComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/DelayedComponentManager.java
index d87bae0..a8ebbd0 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/DelayedComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/DelayedComponentManager.java
@@ -28,7 +28,7 @@
 /**
  * The <code>DelayedComponentManager</code> marker class.  Needed?
  */
-public class DelayedComponentManager extends ImmediateComponentManager
+public class DelayedComponentManager<S> extends ImmediateComponentManager<S>
 {
 
     /**