1   package com.atlassian.plugins.codegen.modules.common.keyboard;
2   
3   import com.atlassian.plugins.codegen.PluginProjectChangeset;
4   import com.atlassian.plugins.codegen.modules.AbstractPluginModuleCreator;
5   
6   import static com.atlassian.plugins.codegen.modules.Dependencies.MOCKITO_TEST;
7   
8   /**
9    * @since 3.6
10   */
11  public abstract class AbstractKeyboardShortcutModuleCreator<T extends AbstractKeyboardShortcutProperties> extends AbstractPluginModuleCreator<T>
12  {
13      public static final String MODULE_NAME = "Keyboard Shortcut";
14      private static final String TEMPLATE_PREFIX = "templates/common/keyboard/";
15  
16      private static final String PLUGIN_MODULE_TEMPLATE = TEMPLATE_PREFIX + "keyboard-shortcut-plugin.xml.vtl";
17  
18      @Override
19      public PluginProjectChangeset createModule(AbstractKeyboardShortcutProperties props) throws Exception
20      {
21          return new PluginProjectChangeset()
22              .with(MOCKITO_TEST)
23              .with(createModule(props, PLUGIN_MODULE_TEMPLATE));
24      }
25  
26      @Override
27      public String getModuleName()
28      {
29          return MODULE_NAME;
30      }
31  }