1   package com.atlassian.plugins.codegen.modules;
2   
3   import java.util.Map;
4   
5   /**
6    * @since 3.6
7    */
8   public interface PluginModuleCreatorRegistry
9   {
10  
11      public static final String REFAPP = "refapp";
12      public static final String CONFLUENCE = "confluence";
13      public static final String JIRA = "jira";
14      public static final String BAMBOO = "bamboo";
15      public static final String FECRU = "fecru";
16      public static final String CROWD = "crowd";
17      public static final String STASH = "stash";
18  
19      void registerModuleCreator(String productId, PluginModuleCreator moduleCreator);
20  
21      <T extends PluginModuleCreator> T getModuleCreator(String productId, Class<T> type);
22  
23      Map<Class, PluginModuleCreator> getModuleCreatorsForProduct(String productId);
24  }