Rename xxx.lttng to xxx.lttng.core
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / component / TmfProviderManager.java
index 936545530d883bd75652f71b57ef22bc1c8d2e1f..0b71a53a365c21fdf765b44d0e359b5f36c82328 100644 (file)
@@ -26,12 +26,18 @@ import org.eclipse.linuxtools.tmf.event.TmfData;
  */
 public class TmfProviderManager {
 
+       // ------------------------------------------------------------------------
+       // No constructor
+       // ------------------------------------------------------------------------
+
+       private TmfProviderManager() {}
+       
        // ------------------------------------------------------------------------
        // Keeps track of the providers for each event type
        // ------------------------------------------------------------------------
        
-       private static Map<Class<? extends TmfData>, List<TmfProvider<? extends TmfData>>> fProviders =
-                  new HashMap<Class<? extends TmfData>, List<TmfProvider<? extends TmfData>>>();
+       private static Map<Class<? extends TmfData>, List<TmfDataProvider<? extends TmfData>>> fProviders =
+                  new HashMap<Class<? extends TmfData>, List<TmfDataProvider<? extends TmfData>>>();
 
        /**
         * Registers [provider] as a provider of [eventType]
@@ -39,40 +45,39 @@ public class TmfProviderManager {
         * @param eventType
         * @param provider
         */
-       public static <T extends TmfData> void register(Class<T> eventType, TmfProvider<? extends TmfData> provider) {
+       public static <T extends TmfData> void register(Class<T> eventType, TmfDataProvider<? extends TmfData> provider) {
                if (fProviders.get(eventType) == null)
-                       fProviders.put(eventType, new ArrayList<TmfProvider<? extends TmfData>>());
-               assert(fProviders.get(eventType) != null);
+                       fProviders.put(eventType, new ArrayList<TmfDataProvider<? extends TmfData>>());
                fProviders.get(eventType).add(provider);
        }
 
        /**
         * Re-registers [provider] as a provider of [eventType]
         * 
-        * @param eventType
+        * @param dataClass
         * @param provider
         */
-       public static <T extends TmfData> void deregister(Class<T> eventType, TmfProvider<? extends TmfData> provider) {
-               List<TmfProvider<? extends TmfData>> list = fProviders.get(eventType);
+       public static <T extends TmfData> void deregister(Class<T> dataClass, TmfDataProvider<? extends TmfData> provider) {
+               List<TmfDataProvider<? extends TmfData>> list = fProviders.get(dataClass);
                if (list != null) {
                        list.remove(provider);
                        if (list.size() == 0)
-                               fProviders.remove(eventType);
+                               fProviders.remove(dataClass);
                }
        }
 
        /**
         * Returns the list of components that provide [eventType]
         * 
-        * @param eventType
+        * @param dataClass
         * @return
         */
        @SuppressWarnings("unchecked")
-       public static TmfProvider<? extends TmfData>[] getProviders(Class<? extends TmfData> eventType) {
-               List<TmfProvider<? extends TmfData>> list = fProviders.get(eventType);
+       public static TmfDataProvider<? extends TmfData>[] getProviders(Class<? extends TmfData> dataClass) {
+               List<TmfDataProvider<? extends TmfData>> list = fProviders.get(dataClass);
                if (list == null)
-                       list = new ArrayList<TmfProvider<? extends TmfData>>(); 
-               TmfProvider<? extends TmfData>[] result = new TmfProvider[list.size()];
+                       list = new ArrayList<TmfDataProvider<? extends TmfData>>(); 
+               TmfDataProvider<? extends TmfData>[] result = new TmfDataProvider[list.size()];
                return list.toArray(result);
        }
 
@@ -84,17 +89,20 @@ public class TmfProviderManager {
         * @return
         */
        @SuppressWarnings("unchecked")
-       public static TmfProvider<? extends TmfData>[] getProviders(Class<? extends TmfData> eventType, Class<? extends TmfProvider<? extends TmfData>> providerType) {
-               TmfProvider<? extends TmfData>[] list = getProviders(eventType);
-               List<TmfProvider<? extends TmfData>> result = new ArrayList<TmfProvider<? extends TmfData>>();
+       public static TmfDataProvider<? extends TmfData>[] getProviders(Class<? extends TmfData> dataClass, Class<? extends TmfDataProvider<? extends TmfData>> providerClass) {
+               if (providerClass == null) {
+                       return getProviders(dataClass);
+               }
+               TmfDataProvider<? extends TmfData>[] list = getProviders(dataClass);
+               List<TmfDataProvider<? extends TmfData>> result = new ArrayList<TmfDataProvider<? extends TmfData>>();
                if (list != null) {
-                       for (TmfProvider<? extends TmfData> provider : list) {
-                               if (provider.getClass() == providerType) {
+                       for (TmfDataProvider<? extends TmfData> provider : list) {
+                               if (provider.getClass() == providerClass) {
                                        result.add(provider);
                                }
                        }
                }
-               TmfProvider<? extends TmfData>[] array = new TmfProvider[result.size()];
+               TmfDataProvider<? extends TmfData>[] array = new TmfDataProvider[result.size()];
                return result.toArray(array);
        }
 
This page took 0.025787 seconds and 5 git commands to generate.